A
Andy
Guest
On Oct 25, 7:19 pm, glen herrmannsfeldt <g...@ugcs.caltech.edu> wrote:
clock cycles. In the mode that doubled the frequency some of the time,
the controller (address decoder too) checked to see whether RAM was
being accessed or not (as opposed to ROM or other resources), and if
not RAM, the clock was doubled for that access (the 6809 was a
completely static design, capable of even stopping the clock). We
called that the "1.5x poke". The DRAM refresh was done separately by
the controller in between video frames.
The always-doubled mode ("2x speed poke") doubled the processor clock
regardless, and the video displayed the pixels for whatever memory the
processor was accessing when those pixels were scanned. There were
usually some binary counters visible on the screen, but most of it was
random bits. In this mode the dram was not refreshed by the
controller, so processor accesses had to do it, which like I
mentioned, as long as the basic interpreter was running your code,
would keep it alive.
Dang, that was a fun machine.. I think it is still in my attic
somewhere.
Andy
The video and processor were synchronized to access memory on oppositeAndy wrote:
(snip)
The TRS-80 Color Computer (Moto 6809 based) refreshed during the
vertical retrace. But there was a bit in the system controller that
could be set to turn it and video access off, while doubling the
processor clock.
I thought it was the display memory access that did the refresh.
I probably still have the service manual around somewhere.
As long as your Basic code was running, and not
waiting on a keyboard input or other event, the ROM interpreter's RAM
accesses managed to keep the RAM (at least the part of it being used)
refreshed. But if/when the code hit an error (and thus waited for user
response) you could watch the screen go from random pixels to all
white. Once the coding errors were eliminated, it was a reliable way
to double the processing speed when you did not need video.
If I remember, there were three modes. Normal mode, one that doubled
the clock speed some of the time, and one that doubled it all the time.
I never tried turning the display off, though.
-- glen
clock cycles. In the mode that doubled the frequency some of the time,
the controller (address decoder too) checked to see whether RAM was
being accessed or not (as opposed to ROM or other resources), and if
not RAM, the clock was doubled for that access (the 6809 was a
completely static design, capable of even stopping the clock). We
called that the "1.5x poke". The DRAM refresh was done separately by
the controller in between video frames.
The always-doubled mode ("2x speed poke") doubled the processor clock
regardless, and the video displayed the pixels for whatever memory the
processor was accessing when those pixels were scanned. There were
usually some binary counters visible on the screen, but most of it was
random bits. In this mode the dram was not refreshed by the
controller, so processor accesses had to do it, which like I
mentioned, as long as the basic interpreter was running your code,
would keep it alive.
Dang, that was a fun machine.. I think it is still in my attic
somewhere.
Andy