Excellent work! I will add a reference in the development resources thread.
I'd really love to see a PDF scan for Compute's Beginners guide to assembly language on the TI-99/4A.
The hard-copy of the book is pretty hard to get by now and there are close to none good beginner tutorials on TMS9900 assembly language available.
Although I'm not so impressed with the book now, it is the book that opened the door of 9900 assembly to me and made it possible for me to make working programs; so for that I will always give it due credit (and I will not give up the copy I have had since 1984.)
As for beginner tutorials, I am willing to write some (I have already started, although it is panning out to be more of a book than individual tutorials.) However, instead of trying to guess what to write, if anyone has something they would like to see in the way of a tutorial, please post it here and I (or anyone else who is interested) will try to write it up. If you plan on making a request, please be somewhat specific, since "how do I write a game in 9900 assembly" is not a tutorial.
Well reading your posts about the assembly language sound player, I'd say you have a clear, precise and interesting way to describe stuff.
I'd love to see you write a full tutorial (book) on "how do I write a game in 9900 assembly"
Seriously, something in the line of the Lottrup book, but updated and addressing todays' needs.
I don't think we have homebrewers who want to code using the mini memory line-by-line assembler
Perhaps a tutorial focusing on coders from other retro gaming platforms (atari 2600, 7800, colecovision, ...) who
already know how to program assembler.
Here are some of the topics I can think about (in no particular order)
1. Short introduction on TMS9900 CPU (register usage, TI memory architecture) and cross-assemblers targeting the TMS9900.
2. How do I communicate with the VDP processor (VDP memory, graphic modes, SAT, color tables, pattern tables, ...)
3. How to setup sprites in assembly language, how to move them without using ISR routine.
4. Collision detection for sprites without using ISR routine.
5. How do I play a sound or tune.
6. How do I read the keyboard and joysticks
7. How to use the speech synthesizer in assembler
8. How to deal with 256 bytes of scratch pad memory
9. How to setup a game loop (or basic task scheduler)
10. Format of the cartridge header
11. What is bank-switching, how do I use it (trampoline code in scratchpad, jump tables in each bank, ...)
12. Debugging tricks, how to test using MESS debugger and classic99 debugger.
How to test on the TI-99/4A using a 8K supercart.
It would be great that, after reading the book, the future homebrewer has a good overview on how to write a (bank-switched) game running from the cartridge space