Re:Let Chris Crawford teach you to program Atari's 8-bit com...
by chrisdew on Tuesday April 26, 2016 @07:16AM
(#11570866)
> Then I discovered that if you put performance-critical code into lower-memory addresses it runs much faster.
Do you mean higher memory addresses?
Code in the lower 16KB of RAM (addresses 16-32KB) has contended memory access with the ULA, which causes the CPU to pause while the TV raster line is drawn.
Code in the upper 32K does not have this issue.
I dreamed to create a game. That's why I actually started programming.
I wanted to create animation.
When I started with Basic I noticed that Basic interpreter is way too slow to update video memory (even for fraction of screen).
Then I discovered world of compiled languages with Pascal. It was much more fun than Basic but still too slow to update video memory.
Then I moved to assembly language (actually I only had list of opcodes and I had to put them in memory directly). It was much more fun than Pascal and speed was great but still not enough for animation if you write straight-forward implementation.
Then I discovered that if you put performance-critical code into lower-memory addresses it runs much faster.
Unfortunately, I didn't finish my research because I had no access to internet and books.