This is an old post, preserved for reference.
The products and services mentioned within are no longer available.
This is the fourth part of the restoration of a Commodore Pet 'Fat 40' 4032. You might want to start at Part 1. The story so far: empty 4032 case being filled with parts from a donor rusty 8032-SK. The main board has been cleaned up and using the ROM/RAM replacement board, the Pet has booted, but there is garbage on the screen.
zimmers.net. The pet video uses separate screen RAM, on the 4032, this is 2 x 2114 SRAM, giving 1K bytes. This can be read or written starting at address 0x8000, accessed via two 74LS244 buffers. That is 1024 characters, enough for 25 40 character lines with one byte per character. So no pixel graphics here, just a single character per position. The address lines are multiplexed with the outputs of the 6545 display controller, and it accesses the screen on the clock half cycles when the CPU doesn't. The data is latched into a 74LS373 gate and used to set the address of the character ROM, it's outputs being fed to a 74166 shift register to generate the actual pixel data. This is similar to the way the screen is generated in the ATMega328P video generator I previously built to drive the Pet monitor. This is running as fast as it can on the 16MHz clock, and isn't fast enough to achieve an 80 column display. To this, they added another set of RAM and buffers and latches and set them to do alternate characters, so whilst the odd RAM is setup for one character, the even RAM is getting ready for the next.
### commodore basic 4.0 ###
31743 bytes free
but it is showing