fasmg has some powerful features, and it's the TI-eZ80 assembler of choice for most programmers nowadays, but it's no full replacement for spasm-ng. For instance, fasmg's poor portability writes it entirely off for building libticalcs' TI-eZ80 ROM dumper.

For the TI-Z80 series, there are other capable assemblers, e.g. pasmo. I switched libticalcs' TI-Z80 ROM dumpers to that one, because it was the only one packaged by Debian with which I could achieve usable org support, through a bit of post-processing. However, porting a couple dozen thousand lines of source code to another assembler might be quite a chore... so yeah, you're probably better off using and modifying whichever spasm-ng version is currently the best one, seemingly tari's Smile
Maybe the support for a .align directive, found in another of the 5-1 forks listed at https://github.com/alberthdev/spasm-ng/forks which have been active over the last year, would be interesting as well ?
(I could swear that I hit the 'Submit' button, but my post does not appear. Trying again. If I see a duplicate, I will try to delete it.)

Tari wrote:
For documentation, archived pages from codeplex will do: http://web.archive.org/web/20170711205823/http://wabbit.codeplex.com/documentation
It would be nice to rescue that and put a copy in the repository though.


Very helpful, thank you.

Tari wrote:
As for the rest of the maintenance, I don't think many people use spasm anymore (most of the people targeting eZ80 are now using fasmg)


That is good to know. The reason I started using spasm-ng is because it is the one recommended in the Learn TI-83 Plus Assembly in 28 Days online book, which I thought was being maintained and updated. Most of the recent changes seems to have been made by you (assuming that "taricorp" is the same person as "Tari").

Tari wrote:
I also don't think any knowledge of TI-OS is meaningful for working on the assembler, since it doesn't have any TI-specific knowledge aside from knowing how to handle calculator file formats.


The Z80 assembler part does not worry me. The intimidating parts are: the TI-OS file formats, the memory layouts of the assembly program or flash apps, the flash app signing process, the bcall() and RST calling conventions, all the obscure definitions in ti83plus.inc (where I have found a bug or two), and all the custom macros in spasm-ng created to support of those TI-specific features.

I get the impression that the older TI-83+ and TI-84+ (non-CE) development tools, documentation, and technical knowledge are gradually degrading and being abandoned, in favor of the new hotness (84+CE?). Which is too bad, because I think in the long run (20-30 years), the older calculators will survive better than the CE. For one thing, the older calculators use standard AAA batteries. No one will make the custom Li-polymer batteries for the CE in 20-30 years.
Lionel Debroux wrote:
fasmg has some powerful features, and it's the TI-eZ80 assembler of choice for most programmers nowadays, but it's no full replacement for spasm-ng. For instance, fasmg's poor portability writes it entirely off for building libticalcs' TI-eZ80 ROM dumper.

For the TI-Z80 series, there are other capable assemblers, e.g. pasmo. I switched libticalcs' TI-Z80 ROM dumpers to that one, because it was the only one packaged by Debian with which I could achieve usable org support, through a bit of post-processing. However, porting a couple dozen thousand lines of source code to another assembler might be quite a chore... so yeah, you're probably better off using and modifying whichever spasm-ng version is currently the best one, seemingly tari's Smile
Maybe the support for a .align directive, found in another of the 5-1 forks listed at https://github.com/alberthdev/spasm-ng/forks which have been active over the last year, would be interesting as well ?


Thanks for the info. It looks like I have 3 alternatives to research and evaluate: fasmg, pasmo, and Tari's fork of spasm-ng.

Does fasmg or pasmo support multi-page flash apps and flash app signing? spasm-ng automatically signs the flash app, which is really nice. And my app is now requires 2 flash pages.
pasmo is a generic Z80 assembler, it does not by itself provide support for TI-Z80 file formats - especially FlashApps, which is your requirement, but wasn't mentioned in your previous post. My requirements for libticalcs' Z80 ROM dumpers, as assembly programs, are quite a bit lower, and the wrapping into the appropriate computer-side file format can be done by tipack or its official replacement tifileutil Smile
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 3 of 3
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement