PET index - roms There are basically two sections necessary - for the BASIC ROM version and for the so-called editor ROM. The ROMs can be found in the archives. Differences in Software Basically there are three different ROM versions that came with the PET computers, the original ROMs, the upgrade ROMs and the 4.0 ROMs. Here are some of the peculiarities of the different ROM versions. (I wished I had more about that; see also the petfaq file) Original ROMs ($C000-$FFFF) Original ROMs, from $c000, powers up *** COMMODORE BASIC ***. To be found in the calculator-style keyboard machines. Horribly broken, especially the IEEE488 did not work. The very low level routines worked, but on top of that a lot had to be fixed. In upper/lower case character mode (as opposed to upper case/graphics mode) the upper and lower characters were exchanged (SHIFT for lower case). Arrays could only be 256 elements in size. There are a lot of other bugs... Upgrade ROMs ($C000-$FFFF) The `upgrade ROMs' were also known as 2.0 or 3.0 ROMs. Start at $c000, power up ### COMMODORE BASIC ### Fix a lot of bugs and make IEEE488 work. Also adds a tiny machine monitor. Those ROMs have most bugs fixed, although there seem to be different levels of bug fixing (the products list says something about ROM versions 2.0-2.3). Try and enter "WAIT 6502,1"... 4.0 ROMs ($B000-$FFFF) Power up with *** COMMODORE BASIC 4.0 ***. The 4.0 ROMs add the so-called DISK-BASIC with disk operation commands (DLOAD, DSAVE, COPY, SCRATCH, DS$ for the error channel etc). The editor ROM still differs from small screen and large screen versions (board #2 and boards #3 and #4)... Editor ROM In addition to the BASIC (including the kernel) there are different `editor' ROMs. Those ROMs occupy $e000-$e800 and contain (in the 4.0 ROMs) the screen handling routines. The 4.0 ROMs can be found in machines with and without CRTC, so they had different editor ROMs. Also the business and graphics keyboard differ in layout, so these editor ROMs differ too. The changes for business and graphics layout in the upgrade ROMs are in $e000-$e800 too. Later on there were nationalized keyboard versions with additional ROM in $e900-$efff. In fact the so-called 50Hz and 60Hz versions have different keyboard layouts and thus different editor ROMs. For keyboards please have a look at keyboards section. Character ROM The character ROM is the ROM that is used to produce the characters on the screen. Therefore the scan line number (0-7) is used as address for the ROM (A0-2), then the 7 lower bits of the byte read from the screen memory (A3-A9), then the VIA CA2 line as switch between upper/lower case mode and upper case/graphics mode (A10). This gives a charrom size of 2k. You will notice that the highest data bit of the character read from the screen RAM is not yet used. It is instead directly fed to an exclusive-OR gate to invert the pixel stream from the character shift register. This inverts the character by hardware. The newer models have another line from the CRTC to the character ROM, namely CRTC MA13 is used as A11 for the charrom. With this line you can switch to a completely different character set in the charrom. I assume this is used in nationalized machines with different charsets. -------------------------------------------------------------------------------- Back to the PET index PET index V0.9 (c) 1998 A. Fachat