Ah ok danke das habe ich verstanden.
Aber sö blöd es für euch jetzt klingt, welche Revision habe ich den jetzt.
Du bist in Begriff, Forum64 zu verlassen, um auf die folgende Adresse weitergeleitet zu werden:
Bitte beachte, dass wir für den Inhalt der Zielseite nicht verantwortlich sind und unsere Datenschutzbestimmungen dort keine Anwendung finden.
letzter Beitrag von Telespielator am
Ah ok danke das habe ich verstanden.
Aber sö blöd es für euch jetzt klingt, welche Revision habe ich den jetzt.
Danke, jetzt weiß ich schon mal das es ein "ASSY 250469 Board ist"muß schon sagen hätte nicht gedacht das man hier so schnelle und zahlreiche hilfe findet.
ZitatBei Rev. 1 taucht in der linken oberen Bildschirmecke der Buchstabe A in weiß auf,
bei Rev. 2 gar nicht* und bei Rev. 3 (die große Mehrheit
aller verkauften C64) ist das A dann hellblau.
Ist wirklich sehr schön.
Stimmt eventuell sogar, denn die 4064 (Educator 64) hatten ein ROM das penetrant auf weiss gewechselt ist. Man mag das als entsprechende ROM Revision durchgehen lassen, wenn auch unter Schmerzen. Gerade heute sollet man vielleicht hinzufügen, dass alle möglichen Erweiterungen (Action Replay, Nordic Power und andere) auch mit dem Farbspeicher rumfummeln. Generell das A zu sehen ist aber immer gut - Funzt das RAM da wenigstens.
Kennt eigtl. jemand einen entsprechenden Artikel, Binärvergleich oder ähnliches zwischen Original ROM und was auch immer (JD, SpeedDos, Exos oder auch den einzelnen original Revisionen)?
Wie alt mein gerät ist, konnte ich mir durch dieses Forum bereits beantworten ( c.a. 41-44 KW 1991 ). Nun musste ich allerdings feststellen
das mein Gerät ein Revision A gerät ist was ich durch den Poke 1024,1 Befehl herausgefunden habe.
Nun frage ich mich allerdings wie ein Bj 1991 C64 ein Revision A gerät sein kann.
*ROFL* Au Backe, wer auch immer Dir diesen "Tipp" gegeben hat: hau ihm ordentlich eine runter.
EDIT: Achso, so findet man natürlich NICHT die Revision des Boards herraus. POKE 1024,1 schreibt einfach den Buchstaben A links oben auf den Bildschirm! Immer!
Wer erzählt Dir denn so eine Sch****, der hat wohl ein bißchen zuviel .
Herzlich Willkommen im Forum !
Wer erzählt Dir denn so eine Sch****, der hat wohl ein bißchen zuviel .
Ich schätze mal, hier handelt es sich einfach um ein Missverständnis. Anhand dieses Pokes bzw. an der Farbe des in der oberen Ecke auftauchenden "A" kann die Revision des KERNALS feststellen. Üblich ist ein hellblaues "A", daran erkennt man die weit verbreitete Revision 3. Bei den Revisionen 1 und 2 ist das "A" aufgrund von einem Bug in diesem Bereich entweder weiß oder dunkelblau (d.h. unsichtbar).
Die Revisionsnummer des BOARDS wurde hier schon genannt; es ist die ASSY 250469.
CU
Kratznagel
Der Bug der Urversion ist relativ einfach zu erklären. Wenn bei der fehlerhaften Kernelversion für das Zeichen (hier eben A) kein Farbwert angegeben wird, hat das Zeichen die Hintergrundfarbe. Also blaues A auf blauem Hintergrund und ist somit nicht sichtbar. Diese Version gab es nur 1982, alle weiteren Kernels haben diesen Bug nicht.
Dein Rechner ist also gut 9 Jahre zu neu um diesen Fehler haben zu können. Deine Kernelversion ist die Rev. 3, wie sie 99,9% aller C64 haben. Rev.1 ist die fehlerhafte NTSC-Version, Rev.2 die fehlerhafte PAL-Version, Rev. 3 die korrigierte "neue" Version.
Kennt eigtl. jemand einen entsprechenden Artikel, Binärvergleich oder ähnliches zwischen Original ROM und was auch immer (JD, SpeedDos, Exos oder auch den einzelnen original Revisionen)?
etwas licht:
This document lists MD5 signatures of the files, as reported by the
"md5sum" utility of GNU textutils, and should provide enough
information to reconstruct any published version of the system
firmware from a copy of one published version of the Commodore 64
system firmware.
8c37b056c00a44c0725508b8cedbbefb 64c.251913-01.bin
The 251913-01, used in newer versions of the Commodore 64 and some
versions of the Commodore 128, is a 16-kilobyte 23128 ROM chip. It
contains the Commodore 64 BASIC interpreter ($A000-$BFFF,
corresponding to the 8-kilobyte 2364 ROM chip 901226-01) and the
Commodore 64 KERNAL ($E000-$FFFF, corresponding to the 8-kilobyte 2364
ROM chip 901227-03) in that order.
049e657afafbdd802e8c6a4f88f3d730 64gs.390852-01.bin
The 390852-01, used in the ill-fated Commodore 64GS game console based
on the BN/E circuit board, is a 16-kilobyte chip similar to the
251913-01. This one was archived from a 27128 EPROM 27128 EPROM chip
in a West German machine DA5 016014E, assy no. 250469, 252311 rev.B.
The chip has the label © 1984, 90 CBM / 390852-01 / C64GS ROM CS=DF34.
The BASIC part corresponds otherwise to 901226-01, but the 30 unused
bytes at $BF53-$BF70 are filled with $00 instead of $AA. The KERNAL
part has been modified from the 901227-03, and most modifications are
in the area $F72C-$FC92, which also contains a copyright message.
Many jumps have been redirected to $FB4D, which in turn jumps to
$F707, which in turn triggers I/O error #5.
57af4ae21d4b705c2991d98ed5c1f7b8 basic.901226-01.bin
Commodore 64 BASIC V2. The first and essentially only revision,
located at $A000-$BFFF. In the 64GS system firmware, the 30 unused
bytes at $BF53-$BF70 are filled with $00 instead of $AA. In the
Commodore 65 firmware, these bytes are filled with $FF.
da92801e3a03b005b746a4dd0b639c7c kernal.4064.901246-01.bin
This 8-kilobyte ROM has been reported in various machines (4064,
PET64, EDUCATOR64), which are versions of the Commodore 64 built in a
PET case with an integrated monochrome monitor. The system interrupt
routine resets sprite, background and border colors to black unless
the high-order bit of the location 646 (cursor colour, $0286) is set. Using
any colour command resets location 646 and, therefore, the colors.
The differences from 901227-02 are as follows. Note that some patches
of 901227-03 are included.
$E42D-$E42F: (printing the start-up message)
901227-02: JSR $AB1E
901246-01: JMP $E441 (do not print " BASIC BYTES FREE\r")
$E477: (first part of start-up message)
901227-02: " **** COMMODORE 64 BASIC V2 ****\r\r 64K RAM SYSTEM \0"
901246-01: "**** COMMODORE 4064 BASIC V2.0 ****\r\r\0 "
$E4AC: (checksum byte?)
901227-02: $5C
901246-01: $63
$E4C8: (patch: reset the colours unless the high-order bit of 646 is set)
901227-02: filled with eighteen $AA bytes
901246-01: BIT $286:BMI *+12:LDA #0:LDX #14:STA $D020,X:DEX:BPL *-4:JMP $EA87
$E535: (default cursor colour)
901227-02: $0E (light blue)
901246-01: $01 (white)
$E57C-$E599: (compute screen address)
901227-02: LDA $D9,X:AND #3:ORA $288:STA $D2:LDA $ECF0,X:STA $D1:LDA #$27
INX:LDY $D9,X:BMI *+8:CLC:ADC #$28:INX:BPL *-8:STA $D5:RTS
901246-01: JSR $E9F0:LDA #$27:INX:LDY $D9,X:BMI *+8:CLC:ADC #$28:INX:BPL *-8:
STA $D5:JMP $EA24:CPX $C9:BEQ *+5:JMP $E6ED:RTS:NOP
$E621:
901227-02: JSR $E6ED
901246-01: JSR $E591
$EA7B: (patch to reset the colours)
901227-02: JSR $EA87
901246-01: JSR $E4C8
$ECD9-$ECE6: (initial values of video chip registers at $D020-$D03E)
901227-02: 14, 6, 1, 2, 3, 4, 0, 1, 2, 3, 4, 5, 6, 7
901246-01: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
$F81E: (check the high-order bit of $9D before message output)
901227-02: JSR $F12F
901246-01: JSR $F12B
$F82B: (check the high-order bit of $9D before message output)
901227-02: JMP $F12F
901246-01: JMP $F12B
$FF80: (KERNAL version identifier)
901227-02: $00
901246-01: $64
$FFF8: (unused bytes)
901227-02: "BY" (initials of Bob Yannes?)
901246-01: $00, $00
Teil 2:
1ae0ea224f2b291dafa2c20b990bb7d4 kernal.901227-01.bin
This 8-kilobyte 2364 ROM is the first revision of the Commodore 64
KERNAL. The RS-232 timing table is designed for exactly 1 MHz system
clock frequency, although no C64 runs at that clock rate. Unlike
later KERNAL revisions, this one does not detect the video system
(PAL/NTSC). This KERNAL was probably only used in early North
American Commodore 64 units. The differences from the second revision
are as follows.
$E118: (output a character from BASIC)
901227-01: JSR $FFC9
901227-02: JSR $E4AD
$E4AC: (checksum byte?)
901227-01: $2B
901227-02: $5C
$E4AD-$E4B7: (patch area)
901227-01: filled with $AA
901227-02: PHA:JSR $FFC9:TAX:PLA:BCC *+3:TXA:RTS
$E4DA-$E4DF: (patch for "clear screen" routine)
901227-01: filled with $AA
901227-02: LDA $D021:STA ($F3),Y:RTS
$E4E0-$E4EB: (patch: wait for keypress or timeout)
901227-01: filled with $AA
901227-02: ADC #$2:LDY $91:INY:BNE *+6:CMP $A1:BNE *-7:RTS
$E4EC-$E4FF: (patch area, RS-232 speed table for PAL systems)
901227-01: filled with $AA
901227-02: $2619, $1944, $111A, $0DE8, $0C70, $0606, $02D1, $0137, $00AE, $0069
$EA0B: (set the character colour when clearing the screen)
901227-01: LDA #1:STA ($F3),Y
901227-02: JSR $E4DA:NOP
$ECCA-$ECCB: (initial values of video chip registers at $D011-$D012)
901227-01: $1B, $00 (raster compare at line 0)
901227-02: $9B, $37 (raster compare at line 311)
$ECD2: (initial value of video chip register at $D019)
901227-01: $00
901227-02: $0F (acknowledge all VIC-II interrupts)
$F428-$F44C: (set up RS-232 timing)
901227-01: BNE *+13:LDA $295:ASL:TAY:LDA $296:JMP $F43F
ASL:TAX:LDA $FEC0,X:ASL:TAY:LDA $FEC1,X:ROL
PHA:TYA:ADC #$C8:STA $299:PLA:ADC #$0:STA $29A
901227-02: BEQ *+30:ASL:TAX:LDA $2A6:BNE *+11
LDY $FEC1,X:LDA $FEC0,X:JMP *+9
LDY $E4EB,X:LDA $E4EA,X
STY $296:STA $295:LDA $295:ASL:JSR $FF2E
$F459: (set up RS-232 emulation)
901227-01: JMP $F00D
901227-02: JSR $F00D
$F761: (wait for keypress after displaying FOUND)
901227-01: LDA $91:CMP #$FF:BEQ *-4 (wait indefinitely)
901227-02: LDA $A1:JSR $E4E0:NOP (wait for a key or timeout)
$FCFB: (RESET routine)
901227-01: JSR $E518 (initialise I/O)
901227-02: JSR $FF5B (JSR $E518 and detect PAL/NTSC)
$FDDD-$FDF7: (initialise system timer)
901227-01: LDA #$1B:STA $DC04:LDA #$41:STA $DC05:LDA #$81:STA $DC0D
LDA $DC0E:AND #$80:ORA #$11:STA $DC0E:JMP $EE8E
; at 60 Hz, the clock rate would be ($411B+1)*60=1000080 Hz
901227-02: LDA $2A6:BEQ *+12
LDA #$25:STA $DC04:LDA #$40:JMP *+10
LDA #$95:STA $DC04:LDA #$42
STA $DC05:JMP $FF6E
; at 60 Hz, PAL clock rate would be ($4025+1)*60=985320 Hz
; and NTSC clock rate would be ($4295+1)*60=1024680 Hz
; (the actual values are 17734472/18=985248 and 14318181/14=1022727)
$FEC2-$FED5: (RS-232 speed table for 1 MHz timing, or for NTSC systems)
901227-01: $26AC, $19A7, $115D, $0E1F, $0CA1, $061F, $02DD, $013D, $00B2, $006C
901227-02: $27C1, $1A3E, $11C5, $0E74, $0CED, $0645, $02F0, $0146, $00B8, $0071
$FF07-$FF42: (timer initialisation for RS-232 emulation)
901227-01: LDA $293:AND #$F:BNE *+14:LDA $295:STA $DD06:LDA $296:JMP *+14
ASL:TAX:LDA $FEC0,X:STA $DD06:LDA $FEC1,X
STA $DD07:LDA #$11:STA $DD0F:LDA #$12:EOR $2A1:STA $2A1:LDA #$FF
STA $DD06:STA $DD07:LDX $298:STX $A8:RTS
901227-02: LDA $295:STA $DD06:LDA $296:STA $DD07:LDA #$11:STA $DD0F
LDA #$12:EOR $2A1:STA $2A1:LDA #$FF:STA $DD06:STA $DD07
LDX $298:STX $A8:RTS
TAX:LDA $296:ROL:TAY:TXA:ADC #$C8:STA $299:TYA:ADC #0:STA $29A:RTS
NOP:NOP
$FF5B-$FF7F: (patch: detect PAL/NTSC and initialise system timer)
901227-01: filled with $AA
901227-02: JSR $E518:LDA $D012:BNE *-3:LDA $D019:AND #$1:STA $2A6:JMP $FDDD
$FF80: (KERNAL version identifier)
901227-01: $AA (really a fill byte)
901227-02: $00
$FF81: CINT vector
901227-01: JMP $FF5B
901227-02: JMP $E518
7360b296d64e18b88f6cf52289fd99a1 kernal.901227-02.bin
39065497630802346bce17963f13c092 kernal.901227-03.bin
These 8-kilobyte 2364 ROMs are the second and third revision of the
Commodore 64 KERNAL. These are the most widely spread versions. The
differences are as follows:
$E4AC: (checksum byte?)
901227-02: $5C
901227-03: $81
$E4D3: (patch)
901227-02: $AA, $AA, $AA, $AA, $AA, $AA, $AA
901227-03: STA $A9:LDA #1:STA $AB:RTS
$E4DA: (get the character colour for clearing the screen memory)
901227-02: LDA $D021 (background colour)
901227-03: LDA $286 (cursor colour)
$E57C-$E599: (compute screen address)
901227-02: LDA $D9,X:AND #3:ORA $288:STA $D2:LDA $ECF0,X:STA $D1:LDA #$27
INX:LDY $D9,X:BMI *+8:CLC:ADC #$28:INX:BPL *-8:STA $D5:RTS
901227-03: JSR $E9F0:LDA #$27:INX:LDY $D9,X:BMI *+8:CLC:ADC #$28:INX:BPL *-8:
STA $D5:JMP $EA24:CPX $C9:BEQ *+5:JMP $E6ED:RTS:NOP
$E621:
901227-02: JSR $E6ED
901227-03: JSR $E591
$EA07-$EA12: (fill screen line with spaces)
901227-02: LDA #$20:STA ($D1),Y:JSR $E4DA:NOP:DEY:BPL *-9:RTS
901227-03: JSR $E4DA:LDA #$20:STA ($D1),Y:DEY:BPL *-8:RTS:NOP
$EF94: (jump to patch)
901227-02: STA $A9:RTS
901227-03: JMP $E4D3
$FF80: (KERNAL version identifier)
901227-02: $00
901227-03: $03
187b8c713b51931e070872bd390b472a kernal.sx.251104-04.bin
This 8-kilobyte ROM is the Commodore SX-64 KERNAL, which is based on
901227-03. The differences are as follows.
$E479: (start-up message)
901227-03: "**** COMMODORE 64 BASIC V2 ****"
251104-04: " ***** SX-64 BASIC V2.0 *****"
$E4AC: (checksum byte?)
901227-03: $81
251104-04: $B3
$E535: (default cursor colour)
901227-03: $0E (light blue)
251104-04: $06 (dark blue)
$E5EE: (length of the string expansion of the key combination Shift+STOP)
901227-03: 9 ("LOAD\rRUN\r")
251104-04: 15 ("LOAD\":*\",8\rRUN\r")
$E5F3: (pointer to the string expansion of the key combination Shift+STOP)
901227-03: LDA $ECE6,X
251104-04: LDA $F0D7,X
$ECD9-$ECE6: (initial screen colours $D020-$D021)
901227-03: 14, 6 (light blue and dark blue)
251104-04: 3, 1 (cyan and white, like the VIC-20)
$F0D7: (string area)
901227-03: "\rPRESS PLAY ON "
251104-04: "LOAD\":*\",8\rRUN\r"
$F386: (OPEN, checking the device number)
901227-03: BNE $F38B
251104-04: BNE $F390 (report ILLEGAL DEVICE NUMBER for tape)
$F4B6: (LOAD, checking the device number)
901227-03: BCC $F533 (check if the device number is 1, for tape)
251104-04: BCC $F4AF (report ILLEGAL DEVICE NUMBER for devices 0..3)
$F5F8: (SAVE, checking the device number)
901227-03: BCC $F659 (check if the device number is 1, for tape)
251104-04: BCC $F5F1 (report ILLEGAL DEVICE NUMBER for devices 0..3)
$FF80: (KERNAL version identifier)
901227-03: $03
251104-04: $43
October 8, 2003
Marko Mäkelä (msmakela@nic.funet.fi)
Na da weiß ich ja jetzt bescheid, ich danke euch allen für eure mühen und wünsche ein schönes WE.
Ohne jetzt den ganzen Thread gelesen zu haben gebe ich zu bedenken, daß bei Commodore stets das verbaut wurde, was gerade da war. Ganz unmöglich ist es ja nicht, daß noch irgendwo ein paar alte Kernals aufgetaucht sind, die dann halt der laufenden Produktion hinzugefügt wurden. Außerdem kann es ja sein, daß bei einer Reparatur ein alter Rechner ausgeschlachtet wurde und so ein altes Kernal in einen neuen Cevi gelangt ist...!