home *** CD-ROM | disk | FTP | other *** search
- Date: Fri Jun 17 16:38:46 1994
- Received: from funet.fi by oulu.fi (4.1/SMI-4.1)
-
-
- 6.2 Commodore 64 KERNAL ROM versions.
-
- Below is information on differences between the Commodore 64
- KERNAL revisions R1, R2, R3 and the Commodore SX-64 and the
- Commodore 4064 ROMs. The chronological order must be R1, R2, 4064,
- R3 and SX-64.
-
- The KERNAL ROM R1 was obviously used only in early NTSC systems.
- It lacks the PAL/NTSC detection, and always uses white color while
- clearing the screen. The white color feature is from the VIC-20
- ROM, but the VIC had a white background by default. Thus, this
- feature can be listed as a bug. The CIA 1 timer A will always
- divide the system clock through $411C == 16668. The other ROMs use
- the values $4026 an $4296, depending on the system version
- (PAL/NTSC), so their interrupt frequency is 985248 Hz / 16422 ==
- 59.996 Hz or 1022727 Hz / 17046 == 59.998 Hz. Note that both
- clock divisor values differ from the value used in the KERNAL R1.
-
- The PAL/NTSC flag ($2A6) affects the RS-232 timer settings as well.
- It seems that the new RS-232 tables for the PAL have been created on
- the upper BASIC interpreter area ($E000--$E4FF), from the address
- $E4EC on. Surprisingly also the original NTSC tables have been
- changed. Very probably the units running the KERNAL R1 had a slower
- clock frequency. Extrapolating from the interrupt timer values,
- they ran at 1.0000 MHz. Now this makes sense, since the first
- (NTSC) video chips had 262 lines per frame and 64 cycles per line.
- The frame rate was thus 1 MHz / 262 / 64 == 59.637 Hz. The newer
- NTSC units run at 1022727 Hz and draw 263 lines per frame and use 65
- cycles per line. This produces a frame rate of 59.826 Hz. Well,
- now it is very obvious that there has been at least one mother board
- type that has only been used on NTSC units. Probably the processor
- clock was created from a 8 MHz chrystal frequency, which served as
- the dot clock. The latter NTSC units generate the processor clock
- by dividing the chrystal frequency of 14318181 Hz by 14, and the dot
- clock will be generated by octacoupling the processor clock.
-
- The PAL systems have been developed later, and they always run at
- the same clock frequency, 17734472 Hz / 18. The frame rate has
- always been 17734472 Hz / 312 / 63 == 50.125 Hz on those puppies.
-
- The changes in the latter ROM revisions were mainly cosmetical.
- There were some bugs corrected in the R3 revision, though.
-
- Format for list:
-
- Address: 901227-01 (Commodore 64 KERNAL R1, $FF80 content $AA)
- 901227-02 (Commodore 64 KERNAL R2, $FF80 content $00)
- 901227-03 (Commodore 64 KERNAL R3, $FF80 content $03)
- ??????-?? (SX-64 or DX-64 KERNAL, $FF80 content $43)
- ??????-?? (4064 aka PET 64 aka Educator 64, $FF80 content $64)
-
- E119: C9, FF
- AD, E4
- AD, E4
- AD, E4
- AD, E4
-
- E42D: 20, 1E, AB
- 20, 1E, AB
- 20, 1E, AB
- 20, 1E, AB
- 4C, 41, E4
-
- E477: 20, 20, 2A, 2A, 2A, 2A, 20, 43, 4F, 4D, 4D, 4F, 44, 4F, 52, 45,
- 20, 20, 2A, 2A, 2A, 2A, 20, 43, 4F, 4D, 4D, 4F, 44, 4F, 52, 45,
- 20, 20, 2A, 2A, 2A, 2A, 20, 43, 4F, 4D, 4D, 4F, 44, 4F, 52, 45,
- 20, 20, 20, 2A, 2A, 2A, 2A, 2A, 20, 20, 53, 58, 2D, 36, 34, 20,
- 2A, 2A, 2A, 2A, 20, 43, 4F, 4D, 4D, 4F, 44, 4F, 52, 45, 20, 34,
-
- -: 20, 36, 34, 20, 42, 41, 53, 49, 43, 20, 56, 32, 20, 2A, 2A, 2A,
- 20, 36, 34, 20, 42, 41, 53, 49, 43, 20, 56, 32, 20, 2A, 2A, 2A,
- 20, 36, 34, 20, 42, 41, 53, 49, 43, 20, 56, 32, 20, 2A, 2A, 2A,
- 42, 41, 53, 49, 43, 20, 56, 32, 2E, 30, 20, 20, 2A, 2A, 2A, 2A,
- 30, 36, 34, 20, 20, 42, 41, 53, 49, 43, 20, 56, 32, 2E, 30, 20,
-
- -: 2A, 0D, 0D, 20, 36, 34, 4B, 20, 52, 41, 4D, 20, 53, 59, 53, 54,
- 2A, 0D, 0D, 20, 36, 34, 4B, 20, 52, 41, 4D, 20, 53, 59, 53, 54,
- 2A, 0D, 0D, 20, 36, 34, 4B, 20, 52, 41, 4D, 20, 53, 59, 53, 54,
- 2A, 0D, 0D, 20, 36, 34, 4B, 20, 52, 41, 4D, 20, 53, 59, 53, 54,
- 2A, 2A, 2A, 2A, 0D, 0D, 00, 20, 20, 20, 20, 20, 20, 20, 20, 20,
-
- -: 45, 4D, 20, 20, 00, 2B
- 45, 4D, 20, 20, 00, 5C
- 45, 4D, 20, 20, 00, 81
- 45, 4D, 20, 20, 00, B3
- 20, 20, 20, 20, 20, 63
-
- E4AD: AA, AA, AA, AA, AA, AA, AA, AA, AA, AA
- 48, 20, C9, FF, AA, 68, 90, 01, 8A, 60
- 48, 20, C9, FF, AA, 68, 90, 01, 8A, 60
- 48, 20, C9, FF, AA, 68, 90, 01, 8A, 60
- 48, 20, C9, FF, AA, 68, 90, 01, 8A, 60
-
- E4C8: AA, AA, AA, AA, AA, AA, AA, AA, AA, AA, AA, AA, AA, AA, AA, AA,
- AA, AA, AA, AA, AA, AA, AA, AA, AA, AA, AA, AA, AA, AA, AA, AA,
- AA, AA, AA, AA, AA, AA, AA, AA, AA, AA, AA, 85, A9, A9, 01, 85,
- AA, AA, AA, AA, AA, AA, AA, AA, AA, AA, AA, 85, A9, A9, 01, 85,
- 2C, 86, 02, 30, 0A, A9, 00, A2, 0E, 9D, 20, D0, CA, 10, FA, 4C,
-
- -: AA, AA, AA, AA, AA, AA, AA, AA, AA, AA, AA, AA, AA, AA, AA, AA,
- AA, AA, AD, 21, D0, 91, F3, 60, 69, 02, A4, 91, C8, D0, 04, C5,
- AB, 60, AD, 86, 02, 91, F3, 60, 69, 02, A4, 91, C8, D0, 04, C5,
- AB, 60, AD, 86, 02, 91, F3, 60, 69, 02, A4, 91, C8, D0, 04, C5,
- 87, EA, AD, 21, D0, 91, F3, 60, 69, 02, A4, 91, C8, D0, 04, C5,
-
- -: AA, AA, AA, AA, AA, AA, AA, AA, AA, AA, AA, AA, AA, AA, AA, AA,
- A1, D0, F7, 60, 19, 26, 44, 19, 1A, 11, E8, 0D, 70, 0C, 06, 06,
- A1, D0, F7, 60, 19, 26, 44, 19, 1A, 11, E8, 0D, 70, 0C, 06, 06,
- A1, D0, F7, 60, 19, 26, 44, 19, 1A, 11, E8, 0D, 70, 0C, 06, 06,
- A1, D0, F7, 60, 19, 26, 44, 19, 1A, 11, E8, 0D, 70, 0C, 06, 06,
-
- -: AA, AA, AA, AA, AA, AA, AA, AA
- D1, 02, 37, 01, AE, 00, 69, 00
- D1, 02, 37, 01, AE, 00, 69, 00
- D1, 02, 37, 01, AE, 00, 69, 00
- D1, 02, 37, 01, AE, 00, 69, 00
-
- E535: 0E
- 0E
- 0E
- 06
- 01
-
- E57C: B5, D9, 29, 03, 0D, 88, 02, 85, D2, BD, F0, EC, 85, D1, A9, 27,
- B5, D9, 29, 03, 0D, 88, 02, 85, D2, BD, F0, EC, 85, D1, A9, 27,
- 20, F0, E9, A9, 27, E8, B4, D9, 30, 06, 18, 69, 28, E8, 10, F6,
- 20, F0, E9, A9, 27, E8, B4, D9, 30, 06, 18, 69, 28, E8, 10, F6,
- 20, F0, E9, A9, 27, E8, B4, D9, 30, 06, 18, 69, 28, E8, 10, F6,
-
- -: E8, B4, D9, 30, 06, 18, 69, 28, E8, 10, F6, 85, D5, 60
- E8, B4, D9, 30, 06, 18, 69, 28, E8, 10, F6, 85, D5, 60
- 85, D5, 4C, 24, EA, E4, C9, F0, 03, 4C, ED, E6, 60, EA
- 85, D5, 4C, 24, EA, E4, C9, F0, 03, 4C, ED, E6, 60, EA
- 85, D5, 4C, 24, EA, E4, C9, F0, 03, 4C, ED, E6, 60, EA
-
- E5EF: 09
- 09
- 09
- 0F
- 09
-
- E5F4: E6, EC
- E6, EC
- E6, EC
- D7, F0
- E6, EC
-
- E622: ED, E6
- ED, E6
- 91, E5
- 91, E5
- 91, E5
-
- EA07: A9, 20, 91, D1, A9, 01, 91, F3, 88, 10, F5, 60
- A9, 20, 91, D1, 20, DA, E4, EA, 88, 10, F5, 60
- 20, DA, E4, A9, 20, 91, D1, 88, 10, F6, 60, EA
- 20, DA, E4, A9, 20, 91, D1, 88, 10, F6, 60, EA
- A9, 20, 91, D1, 20, DA, E4, EA, 88, 10, F5, 60
-
- ECCA: 1B, 00
- 9B, 37
- 9B, 37
- 9B, 37
- 9B, 37
-
- ECD2: 00
- 0F
- 0F
- 0F
- 0F
-
- ECD9: 0E, 06, 01, 02, 03, 04, 00, 01, 02, 03, 04, 05, 06, 07
- 0E, 06, 01, 02, 03, 04, 00, 01, 02, 03, 04, 05, 06, 07
- 0E, 06, 01, 02, 03, 04, 00, 01, 02, 03, 04, 05, 06, 07
- 03, 01, 01, 02, 03, 04, 00, 01, 02, 03, 04, 05, 06, 07
- 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00
-
- EF94: 85, A9, 60
- 85, A9, 60
- 4C, D3, E4
- 4C, D3, E4
- 85, A9, 60
-
- F0D8: 0D, 50, 52, 45, 53, 53, 20, 50, 4C, 41, 59, 20, 4F, 4E, 20
- 0D, 50, 52, 45, 53, 53, 20, 50, 4C ,41, 59, 20, 4F, 4E, 20
- 0D, 50, 52, 45, 53, 53, 20, 50, 4C ,41, 59, 20, 4F, 4E, 20
- 4C, 4F, 41, 44, 22, 3A, 2A, 22, 2C, 38, 0D, 52, 55, 4E, 0D
- 0D, 50, 52, 45, 53, 53, 20, 50, 4C ,41, 59, 20, 4F, 4E, 20
-
- F387: 03
- 03
- 03
- 08
- 03
-
- F428: D0, 0B, AD, 95, 02, 0A, A8, AD, 96, 02, 4C, 3F, F4, 0A, AA, BD,
- F0, 1C, 0A, AA, AD, A6, 02, D0, 09, BC, C1, FE, BD, C0, FE, 4C,
- F0, 1C, 0A, AA, AD, A6, 02, D0, 09, BC, C1, FE, BD, C0, FE, 4C,
- F0, 1C, 0A, AA, AD, A6, 02, D0, 09, BC, C1, FE, BD, C0, FE, 4C,
- F0, 1C, 0A, AA, AD, A6, 02, D0, 09, BC, C1, FE, BD, C0, FE, 4C,
-
- -: C0, FE, 0A, A8, BD, C1, FE, 2A, 48, 98, 69, C8, 8D, 99, 02, 68,
- 40, F4, BC, EB, E4, BD, EA, E4, 8C, 96, 02, 8D, 95, 02, AD, 95,
- 40, F4, BC, EB, E4, BD, EA, E4, 8C, 96, 02, 8D, 95, 02, AD, 95,
- 40, F4, BC, EB, E4, BD, EA, E4, 8C, 96, 02, 8D, 95, 02, AD, 95,
- 40, F4, BC, EB, E4, BD, EA, E4, 8C, 96, 02, 8D, 95, 02, AD, 95,
-
- -: 69, 00, 8D, 9A, 02
- 02, 0A, 20, 2E, FF
- 02, 0A, 20, 2E, FF
- 02, 0A, 20, 2E, FF
- 02, 0A, 20, 2E, FF
-
- F459: 4C
- 20
- 20
- 20
- 20
-
- F4B7: 7B
- 7B
- 7B
- F7
- 7B
-
- F5F9: 5F
- 5F
- 5F
- F7
- 5F
-
- F762: 91, C9, FF, F0, FA
- A1, 20, E0, E4, EA
- A1, 20, E0, E4, EA
- A1, 20, E0, E4, EA
- A1, 20, E0, E4, EA
-
- F81F: 2F
- 2F
- 2F
- 2F
- 2B
-
- F82C: 2F
- 2F
- 2F
- 2F
- 2B
-
- FCFC: 18, E5
- 5B, FF
- 5B, FF
- 5B, FF
- 5B, FF
-
- FDDD: A9, 1B, 8D, 04, DC, A9, 41, 8D, 05, DC, A9, 81, 8D, 0D, DC, AD,
- AD, A6, 02, F0, 0A, A9, 25, 8D, 04, DC, A9, 40, 4C, F3, FD, A9,
- AD, A6, 02, F0, 0A, A9, 25, 8D, 04, DC, A9, 40, 4C, F3, FD, A9,
- AD, A6, 02, F0, 0A, A9, 25, 8D, 04, DC, A9, 40, 4C, F3, FD, A9,
- AD, A6, 02, F0, 0A, A9, 25, 8D, 04, DC, A9, 40, 4C, F3, FD, A9,
-
- -: 0E, DC, 29, 80, 09, 11, 8D, 0E, DC, 4C, 8E, EE
- 95, 8D, 04, DC, A9, 42, 8D, 05, DC, 4C, 6E, FF
- 95, 8D, 04, DC, A9, 42, 8D, 05, DC, 4C, 6E, FF
- 95, 8D, 04, DC, A9, 42, 8D, 05, DC, 4C, 6E, FF
- 95, 8D, 04, DC, A9, 42, 8D, 05, DC, 4C, 6E, FF
-
- FEC2: AC, 26, A7, 19, 5D, 11, 1F, 0E, A1, 0C, 1F, 06, DD, 02, 3D, 01,
- C1, 27, 3E, 1A, C5, 11, 74, 0E, ED, 0C, 45, 06, F0, 02, 46, 01,
- C1, 27, 3E, 1A, C5, 11, 74, 0E, ED, 0C, 45, 06, F0, 02, 46, 01,
- C1, 27, 3E, 1A, C5, 11, 74, 0E, ED, 0C, 45, 06, F0, 02, 46, 01,
- C1, 27, 3E, 1A, C5, 11, 74, 0E, ED, 0C, 45, 06, F0, 02, 46, 01,
-
- -: B2, 00, 6C
- B8, 00, 71
- B8, 00, 71
- B8, 00, 71
- B8, 00, 71
-
- FF08: 93, 02, 29, 0F, D0, 0C, AD, 95, 02, 8D, 06, DD, AD, 96, 02, 4C,
- 95, 02, 8D, 06, DD, AD, 96, 02, 8D, 07, DD, A9, 11, 8D, 0F, DD,
- 95, 02, 8D, 06, DD, AD, 96, 02, 8D, 07, DD, A9, 11, 8D, 0F, DD,
- 95, 02, 8D, 06, DD, AD, 96, 02, 8D, 07, DD, A9, 11, 8D, 0F, DD,
- 95, 02, 8D, 06, DD, AD, 96, 02, 8D, 07, DD, A9, 11, 8D, 0F, DD,
-
- -: 25, FF, 0A, AA, BD, C0, FE, 8D, 06, DD, BD, C1, FE, 8D, 07, DD,
- A9, 12, 4D, A1, 02, 8D, A1, 02, A9, FF, 8D, 06, DD, 8D, 07, DD,
- A9, 12, 4D, A1, 02, 8D, A1, 02, A9, FF, 8D, 06, DD, 8D, 07, DD,
- A9, 12, 4D, A1, 02, 8D, A1, 02, A9, FF, 8D, 06, DD, 8D, 07, DD,
- A9, 12, 4D, A1, 02, 8D, A1, 02, A9, FF, 8D, 06, DD, 8D, 07, DD,
-
- -: A9, 11, 8D, 0F, DD, A9, 12, 4D, A1, 02, 8D, A1, 02, A9, FF, 8D,
- AE, 98, 02, 86, A8, 60, AA, AD, 96, 02, 2A, A8, 8A, 69, C8, 8D,
- AE, 98, 02, 86, A8, 60, AA, AD, 96, 02, 2A, A8, 8A, 69, C8, 8D,
- AE, 98, 02, 86, A8, 60, AA, AD, 96, 02, 2A, A8, 8A, 69, C8, 8D,
- AE, 98, 02, 86, A8, 60, AA, AD, 96, 02, 2A, A8, 8A, 69, C8, 8D,
-
- -: 06, DD, 8D, 07, DD, AE, 98, 02, 86, A8, 60
- 99, 02, 98, 69, 00, 8D, 9A, 02, 60, EA, EA
- 99, 02, 98, 69, 00, 8D, 9A, 02, 60, EA, EA
- 99, 02, 98, 69, 00, 8D, 9A, 02, 60, EA, EA
- 99, 02, 98, 69, 00, 8D, 9A, 02, 60, EA, EA
-
- FF5B: AA, AA, AA, AA, AA, AA, AA, AA, AA, AA, AA, AA, AA, AA, AA, AA,
- 20, 18, E5, AD, 12, D0, D0, FB, AD, 19, D0, 29, 01, 8D, A6, 02,
- 20, 18, E5, AD, 12, D0, D0, FB, AD, 19, D0, 29, 01, 8D, A6, 02,
- 20, 18, E5, AD, 12, D0, D0, FB, AD, 19, D0, 29, 01, 8D, A6, 02,
- 20, 18, E5, AD, 12, D0, D0, FB, AD, 19, D0, 29, 01, 8D, A6, 02,
-
- -: AA, AA, AA, AA, AA, AA, AA, AA, AA, AA, AA, AA, AA, AA, AA, AA,
- 4C, DD, FD, A9, 81, 8D, 0D, DC, AD, 0E, DC, 29, 80, 09, 11, 8D,
- 4C, DD, FD, A9, 81, 8D, 0D, DC, AD, 0E, DC, 29, 80, 09, 11, 8D,
- 4C, DD, FD, A9, 81, 8D, 0D, DC, AD, 0E, DC, 29, 80, 09, 11, 8D,
- 4C, DD, FD, A9, 81, 8D, 0D, DC, AD, 0E, DC, 29, 80, 09, 11, 8D,
-
- -: AA, AA, AA, AA, AA
- 0E, DC, 4C, 8E, EE
- 0E, DC, 4C, 8E, EE
- 0E, DC, 4C, 8E, EE
- 0E, DC, 4C, 8E, EE
-
- FF80: AA
- 00
- 03
- 43
- 64
-
- FF82: 18, E5
- 53, FF
- 53, FF
- 53, FF
- 53, FF
-
- FFF8: 42, 59
- 42, 59
- 42, 59
- 42, 59
- 00, 00
-