Schneider / Amstrad CPC Forum

Amstrad / Schneider CPC => Programmierung => Topic started by: BadCPC on 07. June 2025, 13:40:16

Title: Softbrenner 1.27 CRC-ERROR How to fix
Post by: BadCPC on 07. June 2025, 13:40:16
;Softbrenner Info and CRC-Error FIX How To
;
; Viele kennen das Promblem mit dem Softbrenner 1.27
; Ich konnte leider nicht herrausfinden wie man ein Rom direkt als
; "background rom" Rom Type 1 einrichtet.
; Foreground geht ja soweit auch ohne crc fehler
; leider keine Einschaltmeldung
; Jetzt hab ich mich dessen mal angenommen, besonders gut geht das mit JavaCPC Emulator
; Sollte aber auch mit anderen Emus funktionieren
; So jetzt erstmal ein paar Infos zu den Softbrenner Generierten Roms
;
; Rom aufbau in diesem fall Soundcompiler die EBO in ein Rom gemacht hat.
;
;
<code>

;Romheader
      db &00   ; Romtype &00 foreground >&01 und < &80 Background und Extension
;Softwareversion 1.10      
      db &01   ; Software version im ROM
      db &01   ; Software version sub
      db &00   ; Software patchlevel
;nametableadresse
      dw nametable ; steht meistens am ende des roms &FFFE downwards
;----------------------------
Jumptable   ; 33x 3 bytes
         ; Somit sind tatsächlich nur 32 RSX möglich
      JP INIT      ; wird vom Softbrenner nicht mitgezählt
      JP First_RSX
      JP Second_RSX
      ;..
      ;..
      ;..
      JP 32_RSX if avaible
;-----------------------------
; Softbrenner header
; Marker für Softbrenner      
      DB "R-GEN1.16"
; Starup Message, diese wird beim starten des CPC Angezeigt
;      DB "Startupmessage"
;-----------------------------
; Danach sind ein Bytes für init
; und Rom-Check
;-----------------------------
; etwa bei und &C0C3 folgt der Prüfsummen check
;
; hier sucht man nach
   SUB (HL) ;und
   CP (HL)
; dies ist der wichtigste bereich.
;-----------------------------
; wichtig auch &FFFF dort wird die Prüfsumme eingetragen.
;-----------------------------
</code>

So wie fixe ich jetzt den CRC-FEHLER
Am besten mit einem HEXEDIT und den Debugger von JavaCPC
Das fehlerhafte ROM in Javacpc eintragen bsp ROM-PORT5
Und einmal den Javacpc die CPCmaschine resetten
Nun geht man in den Debugger von JavaCPC
Stellt dort UpROM: auf 5
Im dissambler geht man nach &C0C3 in diesem Bespiel und sucht dann nach SUB (HL) und CP (HL).
In der Zeile wo CP (HL) steht wird ein Breakpoint gesetzt
Jetzt lässt man den CPC weiter laufen mit Run und und Resette diesen.
JavaCPC meldet sich dann mit dem Breakpoint zurück, in Register A steht jetzt die richtige Prüfsumme. Diese trägt man dann mit einem Hexeditor oder mit dem Softbrenner in adresse &FFFF bzw &&7FFF (Softbrenner) ein . Nur noch Speichern und im Javacpc neu laden das wars.

Viel Spass beim nachmachen.
Title: Re: Softbrenner 1.27 CRC-ERROR How to fix
Post by: TFM on 12. June 2025, 15:11:07
Die Prüfsumme eines ROMs läßt sich beispielsweise mit dem ROManager unter FutureOS anpassen. Aber der Softbrenner sollte das auch selber können.
Title: Re: Softbrenner 1.27 CRC-ERROR How to fix
Post by: BadCPC on 12. June 2025, 21:31:19
Leider nicht TFM, eine einfache einstellung im 1.27 um backgroundroms zu erstellen hab ich nicht gefunden, im eingebauten editor kann man zwar auf 1 stellen aber da gibts dann crc-error.
Title: Re: Softbrenner 1.27 CRC-ERROR How to fix
Post by: TFM on 13. January 2026, 15:03:23
Dann nimm einfach nur den ROManager 2.5 (FutureOS), der arbeitet auch mit der ROM-RAM-Box. Und wenn Dir 'Feartures' fehlen, dann kann ich sie für Dich einbauen.  :winke0002: