3 ms·
The TI-99/4A came with 256 bytes of system RAM. Everything in TI BASIC had to be stored in video RAM -- program code, variables, etc. -- which was not directly
by bitwize 2y ago
The TI-99/4A came with 256 bytes of system RAM. Everything in TI BASIC had to be stored in video RAM -- program code, variables, etc. -- which was not directly accessible to the CPU and had to be accessed through register reads/writes to the video chip. This process was slow, and so TI BASIC was slow.
The TMS9900 was a fast (for 1979) 16-bit CPU, however, and some fast routines could be tucked away in those 256 bytes of RAM to achieve some interesting effects (for example smooth horizontal scrolling in Parsec, on a machine with no scrolling registers).
- classichasclass 2y agoThough at least part of the slowness was TI's decision to write BASIC in GPL (an interpreted middle-level language, for those unfamiliar) instead of directly in 9900 assembly, which made it even worse.
- bitwize 2y agoAnd another part was due to the fact that the CPU couldn't access video memory during scanout -- it went into a wait state -- so your program only actually ran during hblank and vblank!
- shakna 2y agoGraphic Programming Language [0] for the curious. FMT Enter sub-interpreter HTEX 'Hello, world' Displays horizontal text FEND Exits sub-interpreter [0] http://unige.ch/medecine/nouspikel/ti99/gpl.htm http://unige.ch/medecine/nouspikel/ti99/gpl.htm
- vikingerik 2y agoAnd on the Atari 2600, the fastest way to write to consecutive video registers is to set the stack pointer to its address and do push instructions. You take advantage of getting the stack pointer decremented for free on each push. The stack pointer can be hijacked for this since the machine has no interrupts. The 2600 can also run self-modifying code in RAM, which I did: http://www.dos486.com/atari/ http://www.dos486.com/atari/