Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
TI994A snippets (Astro Cube and Hello)
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Type||Name||Latest commit message||Commit time|
|Failed to load latest commit information.|
TI99/4A examples suite. by Oscar Toledo G. http://nanochess.org/ Here you'll find some samples of code I've wrote for the TI99/4A. This computer is based on the TMS9900 processor but has a TMS9918 video processor and SN76489 sound chip just like the Colecovision, though the TI99 has only 256 bytes of internal memory. The cartridges are loaded typically at >6000 thru >7FFF hello.asm A simple Hello program astrocube.asm Astro Cube game written for the 4K compo at Atariage, won 5th place of 9. http://atariage.com/forums/topic/276364-4k-shortnsweet-game-contest-submissions/ https://www.youtube.com/watch?v=0vg2Msq2pCM You'll find a short resume of TI99/4A hardware at the start of each example. Also I've took note of the default VDP/VRAM configuration after starting a cartridge, because this saves bytes and time preparing the system. I found the TMS9900 16-bits processor not so different of Intellivision CP1610 processor. The TMS9900 has 16 registers named R0-R15, you need to setup a workspace because registers are preserved in RAM, called scratchspace because is a very high-speed memory. The stack pointer is recommended in R10, the Link Pointer is in R11 (Branch & Link instruction) The memory is addressed in bytes. My main reference for assembler programming was this one: http://www.unige.ch/medecine/nouspikel/ti99/assembly.htm Comments are started by an asterisk, these should be separated by at least two spaces from mnemonics or operands. Hexadecimal numbers are preceded with > Labels must carry a @ symbol to distinguish them from registers, except in immediate instructions like LI, AI and CI. Same as Intellivision and 6502, substraction carry sense is reversed. (Carry set equals no carry)