Author Topic: Solar89 SDK  (Read 34080 times)

0 Members and 1 Guest are viewing this topic.

Offline TC01

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 344
  • Rating: +9/-0
    • View Profile
Solar89 SDK
« on: July 23, 2010, 01:02:55 pm »
UPDATE: Beta v0.2 has been released, and can be downloaded here (from the Cemetech Archives).


So I thought I might as well announce my first serious calculator project, even though it's probably of little use to anyone other than myself or in my current situation, though.

This project (which I have not yet named) is a suite of 68k programs and computer programs to allow someone to write a program in Z80 Basic (83+/84+) on a TI-89 (or other 68k calculator), using the text editor. The program is then tokenized on the calculator, and then can be sent to a computer to be converted to an 8xp file. This is not an interpreter for Z80 Basic for 68k calcs, nor is it an emulator or a debugger- you cannot actually run the programs on the 68k calculator.

Why? Well, you might remember that my link port broke on my old TI-83 Plus, and I haven't yet gotten a new Z80 calculator. So for the time being, I'm limited to WabbitEmu or my Titanium, and while I can still write assembly programs and test them with WabbitEmu, I'd much rather write Basic programs (both Axe and regular Basic) on an actual calculator. And true, the 89's keyboard is just different enough from the 83+'s to make entering text annoying, but it's better than nothing.

And while chronomex (Duncan Smith of ticalc.org) is working on a Z80 emulator at the moment, by the time it's finished I might actually have an 84+. And since I'm learning C and needed to work on something that actually did something, I decided to work on it. This will probably be obsolete when Duncan Smith's emulator comes out- indeed, as I said, it might be obsolete before then, as I don't know how many people would actually need something like this.


So that's why. Now, as for the how:

There will be three different programs involved (technically, four depending on how you count).

One, a 68k Basic program (that I have named token8x), installs a custom toolbar with all the 83+ (and 84+, when I look them up) tokens. This can then be activated by pressing 2ND - HOME on a 89, and accessed from anywhere on the calc, including the Text Editor. This is mostly finished.

Using this, you would write programs in the Text Editor, save them as a text file, and then use a 68k C program to tokenize the text file into an application variable with the tokens in hex format. This is mostly finished in that it works, but there is other stuff I'd like to add in the future.

Then, the appvar can be sent to a computer, where you would use a suite of Python programs to extract the tokens and save them in 8xp format. This is probably complete (short of supporting other calculators)


Here are some screenshots, of the dialog menu and of the custom toolbar. All screenshots are from TiEmu, nothing has actually been done on calc... and as you might be able to tell from the name of the program, all it does is "ClrHome".
« Last Edit: August 20, 2010, 07:14:42 pm by TC01 »



The userbars in my sig are links embedded links.

And in addition to calculator (and Python!) stuff, I mod Civilization 4 (frequently with Python).

Offline calcdude84se

  • Needs Motivation
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2272
  • Rating: +78/-13
  • Wondering where their free time went...
    • View Profile
Re: Program Z80 Basic on a 68k calc
« Reply #1 on: July 23, 2010, 01:08:08 pm »
Sounds cool. Although I'll never use it, it sounds like it could be useful to some.
At first I thought you were writing a z80 BASIC interpreter, not just an editor. (I never thought you were writing emulator/debugger, though :P)
Good luck! :)
"People think computers will keep them from making mistakes. They're wrong. With computers you make mistakes faster."
-Adam Osborne
Spoiler For "PartesOS links":
I'll put it online when it does something.

Offline Galandros

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1140
  • Rating: +42/-10
    • View Profile
Re: Program Z80 Basic on a 68k calc
« Reply #2 on: July 23, 2010, 01:18:03 pm »
It is nice to see some new stuff for 68k calculators even if with limited use.
But hopefully, is really useful for you and maybe you can give us some z80 TI-BASIC in the future.

It is true that doing something oncalc is more familiar to some of us, so there is hope other people pick and use it.
I liked to hear about the z80 emulator in 68k. Although I know there is Gameboy emulator...

Too bad about your calculator link port. I give you a hint if you want assembly programs on it: http://asmtools.omnimaga.org/asmunsquisher/
More useful to little programs. See by yourself but in the case of doubt of what it does, ask me.

Have fun doing your suite. ;)
« Last Edit: July 23, 2010, 01:19:46 pm by Galandros »
Hobbing in calculator projects.

Offline TC01

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 344
  • Rating: +9/-0
    • View Profile
Re: Program Z80 Basic on a 68k calc
« Reply #3 on: July 23, 2010, 02:07:01 pm »
Sounds cool. Although I'll never use it, it sounds like it could be useful to some.
At first I thought you were writing a z80 BASIC interpreter, not just an editor. (I never thought you were writing emulator/debugger, though :P)
Good luck! :)
Yeah, good point- I've edited it to add that it's not an interpreter either.

It is nice to see some new stuff for 68k calculators even if with limited use.
But hopefully, is really useful for you and maybe you can give us some z80 TI-BASIC in the future.

It is true that doing something oncalc is more familiar to some of us, so there is hope other people pick and use it.
I liked to hear about the z80 emulator in 68k. Although I know there is Gameboy emulator...

Too bad about your calculator link port. I give you a hint if you want assembly programs on it: http://asmtools.omnimaga.org/asmunsquisher/
More useful to little programs. See by yourself but in the case of doubt of what it does, ask me.

Have fun doing your suite. ;)

Thanks!

Yes, I noticed your assembly unsquisher on the Misc page, and it would be useful for running small programs, as you said.



The userbars in my sig are links embedded links.

And in addition to calculator (and Python!) stuff, I mod Civilization 4 (frequently with Python).

Offline chrisf1337

  • LV2 Member (Next: 40)
  • **
  • Posts: 21
  • Rating: +1/-1
    • View Profile
Re: Program Z80 Basic on a 68k calc
« Reply #4 on: July 23, 2010, 04:42:56 pm »
Sounds cool. I, for one, can put it to use, since I have both an 84+SE and an 89T.
Hai thar!

Offline Builderboy

  • Physics Guru
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5673
  • Rating: +613/-9
  • Would you kindly?
    • View Profile
Re: Program Z80 Basic on a 68k calc
« Reply #5 on: July 23, 2010, 05:02:30 pm »
Sounds really neat :) What kind of programs are needed to convert it into a 8xp?

Offline TC01

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 344
  • Rating: +9/-0
    • View Profile
Re: Program Z80 Basic on a 68k calc
« Reply #6 on: July 23, 2010, 05:14:24 pm »
Sounds really neat :) What kind of programs are needed to convert it into a 8xp?

Something like Kerm's BinPac8x, probably. Depending on how BinPac8x works, I suppose it might be possible to use it rather than write something else. It takes binary files and outputs and 8xp file, which means it writes the hex data to an 8xp file, adding in all the formatting and everything. I have hex data, so... I'll have to test BinPac8x.

I'm using Romain Lievin and Tim Singer's file format and link protocol guide as a reference for both parts of the project- it documents all the 83+ tokens.

Sounds cool. I, for one, can put it to use, since I have both an 84+SE and an 89T.

Well, you can- I just don't know that you would have to. Maybe if you need the advanced mathematics functions of the 68k but want to work on some 83+ program?

This project reminds me a bit of GTC, the on-calc C compiler. It's very cool, but the only possible use (in my mind) would be programming in 68k C when you don't have a computer handy. (I installed it anyway, though).
« Last Edit: July 23, 2010, 05:14:53 pm by TC01 »



The userbars in my sig are links embedded links.

And in addition to calculator (and Python!) stuff, I mod Civilization 4 (frequently with Python).

Offline TIfanx1999

  • ಠ_ಠ ( ͡° ͜ʖ ͡°)
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 6173
  • Rating: +191/-9
    • View Profile
Re: Program Z80 Basic on a 68k calc
« Reply #7 on: July 23, 2010, 07:51:51 pm »
This sounds pretty cool. Can't wait to play around with it.

Offline Hot_Dog

  • CoT Emeritus
  • LV12 Extreme Poster (Next: 5000)
  • *
  • Posts: 3006
  • Rating: +445/-10
    • View Profile
Re: Program Z80 Basic on a 68k calc
« Reply #8 on: July 23, 2010, 07:56:24 pm »
Very interesting and unique...I can't wait to see how it goes!

Offline TC01

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 344
  • Rating: +9/-0
    • View Profile
Re: Program Z80 Basic on a 68k calc
« Reply #9 on: July 25, 2010, 10:19:00 pm »
I've been posting more about this in the C Programming help topic than in this topic. :P

Anyway, I've decided that I'm going to make the list of tokens be stored in an external text file on the calculator. Therefore, I could also make the dialog box prompt for choice of token file- which would mean this program could easily tokenize in 82, 83, 85, and 86 Basic as well (with some changes on the PC end of things in how the file is created).

That might be even less useful, since I don't think there are many 82/83/85/86 Basic developers out there anymore, but I still think it's a cool thing to add.



The userbars in my sig are links embedded links.

And in addition to calculator (and Python!) stuff, I mod Civilization 4 (frequently with Python).

Offline calcdude84se

  • Needs Motivation
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2272
  • Rating: +78/-13
  • Wondering where their free time went...
    • View Profile
Re: Program Z80 Basic on a 68k calc
« Reply #10 on: July 25, 2010, 10:23:07 pm »
Nice. The only thing you need to realize is that the 85 and 86 stored untokenized code ;)
"People think computers will keep them from making mistakes. They're wrong. With computers you make mistakes faster."
-Adam Osborne
Spoiler For "PartesOS links":
I'll put it online when it does something.

Offline TC01

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 344
  • Rating: +9/-0
    • View Profile
Re: Program Z80 Basic on a 68k calc
« Reply #11 on: July 25, 2010, 10:31:42 pm »
And some actual progress- the program's now successfully (at least, I think it is- again, I don't have the PC end of things in order yet) tokenizing multi-line programs, and lines with multiple tokens.

Nice. The only thing you need to realize is that the 85 and 86 stored untokenized code ;)

The way it works on the 89 is that tokenization happens when you exit the program editor- when you enter the program editor everything is untokenized into raw text (so you can type out all raw commands).

Is this the way it works on the 85 and 86? If it is, then there's no problem.

But I'm going to focus on 83+/84+ for the time being.



The userbars in my sig are links embedded links.

And in addition to calculator (and Python!) stuff, I mod Civilization 4 (frequently with Python).

Offline calcdude84se

  • Needs Motivation
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2272
  • Rating: +78/-13
  • Wondering where their free time went...
    • View Profile
Re: Program Z80 Basic on a 68k calc
« Reply #12 on: July 25, 2010, 10:34:03 pm »
Hm... I'm unsure. I didn't know that about the 68k series, btw. ;D
Yeah, best to finish what you started first. :)
"People think computers will keep them from making mistakes. They're wrong. With computers you make mistakes faster."
-Adam Osborne
Spoiler For "PartesOS links":
I'll put it online when it does something.

Offline TC01

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 344
  • Rating: +9/-0
    • View Profile
Re: Program Z80 Basic on a 68k calc
« Reply #13 on: July 28, 2010, 09:50:46 pm »
An update: I've began some more serious work on the Python end of things.

I've written a single script that calls functions in two other modules- KermMartian's binpac8x to actually make the 8xp file, and parse89, a module I wrote with functions for extracting data from an *.89* variable file.

It's not entirely finished and it needs to be tested, of course- and for that I need to finish changing the on-calc tokenizer over to using text files (I started it but didn't finish, which means that it doesn't work at present and can't produce test programs).



The userbars in my sig are links embedded links.

And in addition to calculator (and Python!) stuff, I mod Civilization 4 (frequently with Python).

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Program Z80 Basic on a 68k calc
« Reply #14 on: July 29, 2010, 01:59:44 am »
Interesting. Those who want to make 83+ BASIC games but mostly have access to a 68k should definitively find this useful :)

Just make sure to convert the program there aren't too many dependencies to install, though. I heard some people complain about how a software used a different Python version than another and I remember having troubles with GTK too, with two softwares using different versions, forcing me to install/uninstall them back and forth, depending of which software I needed