Skip to main content
GameDev.net gamedev.net
🔒 Locked

Learning TI-83 Plus Assembly (z80) [2 More Questions]

Started by v0dKA Nov 4, 2004 at 7:35 PM 23 replies 7.5k views
Original Post
v0dKA
v0dKA
Compiled what was supposed to be a "hello world" program. Got 20,000+ errors. Anyone knows what could be wrong? 99% of the errors are from the ti83plus.inc file - apparently a bad version. I can't find a good version anywhere - I googled the filename, I didn't get very many results. Anyone here an asm programmer for ti-83 plus, mind mailing me your version that works? Or otherwise telling me what I'm doing wrong: I'm following this guide (or that page, anyways), and it claims the file is included in the download (it is not). I followed all the directions given, except for that ti83plus.inc file. Does this problem sound familiar to anyone? Any help would be appreciated! EDIT: Oh, yea, the file<="" a="" href="ti83plus.inc"> itself. I got it from there (copied and pasted). [Edited by - v0dKA on November 6, 2004 7:51:31 PM]
.:-v0d[KA]-:. <<>>
twix
twix
You've got TASM80.TAB, and you followed the instructions exactly, and the sample program wouldn't assemble?

Actually, it took me a long, long time to get my TI83-assembly rig set up properly (getting stuff to work with MirageOS properly was a bitch). I don't know exactly how I did it, but I can tell you it involved holy water.

The whole thing was lost in a hard drive crash, so I won't be able to help you much now. [smile]
Extrarius
Extrarius
Try looking around on TiCalc.Org. I'd bet that you can either find everything you need there or find links to it all.
"Walk not the trodden path, for it has borne it's burden." -John, Flying Monk
twix
twix
On a more upbeat note, Z80 assembly is wicked fun, so don't give up.
v0dKA
v0dKA
Quote:
Original post by twix
You've got TASM80.TAB, and you followed the instructions
exactly, and the sample program wouldn't assemble?
...


The sample program also calls for #including ti83plus.inc. Since the file is bad, I get a lot of errors.

From the assembly log, I see there are 3 errors per line in the file. Damn... I wish I could copy and paste from command.com, I have to type it out myself:

ti83plus.inc line xxxx: Label not found: SomeLabel
ti83plus.inc line xxxx: Label value misalligned. SomeLabel
ti83plus.inc line xxxx: Unrecognized instruction. SomeLabel

All xxxx's and SomeLabel's are the same thing for each line, and all labels are what is written on that line.
Any ideas?
.:-v0d[KA]-:. <<>>
twix
twix
What exactly is wrong with the file? Where did you get it? A google search for ti83plus.inc yields TI's own website, which has a copy of the file that looks perfectly valid to me.
v0dKA
v0dKA
...maybe it's the assembler.

What would you recommend?
.:-v0d[KA]-:. <<>>
twix
twix
Spend a long, long time fiddling with it, and it will come. That's what I did. [grin]
temp_ie_cant_thinkof_name
temp_ie_cant_thinkof_name
You might have to go down to hexadecimal level and use an opcode chart to debug.
"I study differential and integral calculus in my spare time." -- Karl Marx
benryves
benryves
Download this.
It's a simple z80 IDE I wrote, it has an expample that should compile out of the box.
I've written loads of stuff for the TI-83 Plus, so if you need help just ask me!
[Website] [+++ Divide By Cucumber Error. Please Reinstall Universe And Reboot +++]
v0dKA
v0dKA
Quote:
Original post by benryves
Download this.
It's a simple z80 IDE I wrote, it has an expample that should compile out of the box.
I've written loads of stuff for the TI-83 Plus, so if you need help just ask me!


Downloaded. Seems that it WOULD work fine, except...

The following is copied and pasted from another assembler's sample program:
---------------------------------------------<font face=courier>.nolist#include "ti83plus.inc"#define	ProgStart	$9D95.list.org	ProgStart - 2	.db	t2ByteTok, tAsmCmp	b_call(_ClrLCDFull)          ;error here	ld	hl, 0	ld	(PenCol), hl	ld	hl, msg	b_call(_PutS)	;Display the text (and error here)	b_call(_NewLine)   ;error here	retmsg:	.db "Hello world!", 0.end.end</font>-----------------------------------------------------

There's an error on every line that says b_call. How would one change that to make this work?

And, if anyone knows why Virtual TI 3.0 beta says "EAccessViolation" every time I open it (and then closes abruptly), that'd be... nice.
Thanks
.:-v0d[KA]-:. <<>>
v0dKA
v0dKA
Last question still at large, and:

I just noticed that there are assembly applications, and flash applications. Does flash == assembly, or does flash == Ti-Basic, or is flash something totally different?
.:-v0d[KA]-:. <<>>
benryves
benryves
Quote:
Original post by v0dKA
Quote:
Original post by benryves
Download this.
It's a simple z80 IDE I wrote, it has an expample that should compile out of the box.
I've written loads of stuff for the TI-83 Plus, so if you need help just ask me!


Downloaded. Seems that it WOULD work fine, except...

The following is copied and pasted from another assembler's sample program:
---------------------------------------------<font face=courier>.nolist#include "ti83plus.inc"#define	ProgStart	$9D95.list.org	ProgStart - 2	.db	t2ByteTok, tAsmCmp	b_call(_ClrLCDFull)          ;error here	ld	hl, 0	ld	(PenCol), hl	ld	hl, msg	b_call(_PutS)	;Display the text (and error here)	b_call(_NewLine)   ;error here	retmsg:	.db "Hello world!", 0.end.end</font>-----------------------------------------------------

There's an error on every line that says b_call. How would one change that to make this work?

And, if anyone knows why Virtual TI 3.0 beta says "EAccessViolation" every time I open it (and then closes abruptly), that'd be... nice.
Thanks


VTI3 is in alpha and doesn't work. Use VTI2.5 Beta instead.
To get bcall(_xxx) to work, you need to add the line:
#define	bcall(label)	RST 28h \ .dw label

To the top of your source file. You appear to be using b_call() instead of bcall(), but it should be obvious as to what you need to change.
Also, Flash APP = signed program that executes from Flash ROM. No use of self modifying code, for example.
[Website] [+++ Divide By Cucumber Error. Please Reinstall Universe And Reboot +++]
Promit
Promit
Flash = the Apps button, the blue one, you know.

All of the TI resources are for coding flash apps. TI's include file does not work with TASM. You have two options:

1) Use TASM and poke around the net for the correct files
2) Use ZiLog Studio and make use of SquishIt (check ticalc.org) to create programs instead of apps. Most of the tutorials on TASM are applicable, but TASM can't use B_CALL. ZiLog can. I think the TASM examples use a standard call or something, just use B_CALL when they're calling a system call.

In case it wasn't clear, I very much prefer option 2.


Oh, one other thing. Don't bother with VTI. TI itself ships a *perfect* emulator that works fantastically. You can get to it from the Ti-83 main page.
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
v0dKA
v0dKA
Which App's run faster in general, flash or assembly?
.:-v0d[KA]-:. <<>>
benryves
benryves
Quote:
Original post by Promit
Flash = the Apps button, the blue one, you know.

All of the TI resources are for coding flash apps. TI's include file does not work with TASM. You have two options:

1) Use TASM and poke around the net for the correct files
2) Use ZiLog Studio and make use of SquishIt (check ticalc.org) to create programs instead of apps. Most of the tutorials on TASM are applicable, but TASM can't use B_CALL. ZiLog can. I think the TASM examples use a standard call or something, just use B_CALL when they're calling a system call.

In case it wasn't clear, I very much prefer option 2.


Oh, one other thing. Don't bother with VTI. TI itself ships a *perfect* emulator that works fantastically. You can get to it from the Ti-83 main page.


- ti83plus.inc works flawlessly with TASM. I use it all the time.
- SquishIt is not required. Use DEVPAC8X instead (much better).
- TASM can use a bcall if you define it.
- ZDS is a pain in the arse to set up.
- Flash Debugger has awful key handling, and is crap for game development.

My "IDE" is basically a text editor that compiles through TASM and DEVPAC8X. All the files are already there. No hassle. No fancy set up.

Your ideas seem based on some of the really old TI-83 tutorials.
[Website] [+++ Divide By Cucumber Error. Please Reinstall Universe And Reboot +++]
benryves
benryves
Quote:
Original post by v0dKA
Which App's run faster in general, flash or assembly?


Flash = ASM program running from ROM, not RAM.
Bog standard programs running in RAM are a better bet; they're not in multiples of 16K so can be smaller, don't have to be signed, easier to debug &c.
[Website] [+++ Divide By Cucumber Error. Please Reinstall Universe And Reboot +++]
Promit
Promit
Flash is assembly. There are mainly memory restrictions that are different for flash apps than for programs. Apps are always archived in ROM, whereas a program doesn't need to be. This usually means there's extra archive/unarchive handling code. A Flash app always takes up memory in integer multiples of the 16284 byte code page size. Programs don't have this restriction.

benryves -- I'm not qualified to say anything more. This was my experience, which was admittedly a while ago (2 years?). Plus I haven't got a whole lot to show for it. All I know is both ZiLog and TI Flash Debugger worked flawlessly for me. TASM, eh, not so much.

[Edited by - Promit on November 6, 2004 9:58:03 PM]
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
benryves
benryves
Quote:
Original post by Promit
benryves -- I'm not qualified to say anything more. This was my experience

I know that, I realise that. However, for game development, most people prefer VTI as it handles multiple keypresses much better. That said, the memory emulation on VTI is crap (no support for ROM) and a few of the system interupts used in executing BASIC screw up.
[Website] [+++ Divide By Cucumber Error. Please Reinstall Universe And Reboot +++]
v0dKA
v0dKA
Thank you, dear sirs. I can't check if everything works or not ATM, but hopefully it will...

EDIT: Question:
Would assembly programs be stored in RAM, or in archive?

[Edited by - v0dKA on November 6, 2004 7:02:19 PM]
.:-v0d[KA]-:. <<>>

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.