130XE Remake - ein sehr merkwürdiges Problem
Moderatoren: Sleeπ, andymanone
-
- Beiträge: 1044
- Registriert: 04.11.2021 15:52
- Has thanked: 126 times
- Been thanked: 321 times
- Kontaktdaten:
130XE Remake - ein sehr merkwürdiges Problem
Hallo,
ich habe auf einem 130XE Remake versucht, das Spiel Bunny Hop aus dem ASC 2022 (MAG150C.ATR) zu starten.
Es erscheint folgende Meldung:
"This program requires 130XE!"
Das passiert bei allen Modi der RAMDISK.
Ich habe das dann auch mit meinem zweiten 130XE Remake versucht -> gleicher Fehler.
Dann habe ich das auf meinem 130XE mit Newell 1MB versucht -> Spiel läuft.
Ich bin dann hergegangen und habe das Spiel nach dem RAMDISK-Test durchsucht. Der liegt in dem Segment $2000-$20AC, was ich mir dann für weitere Versuche extrahiert und allein lauffähig gemacht habe.
Die Versuche auf einem der 130XE Remakes haben bislang wie folgt ergeben:
Wenn ich den Rechner einschalte, ein DOS lade (in meinem Fall SpartaDOS 3.3b) und dann die Testroutine starte kommt der Fehler.
Eine Kontrolle mit dem Freezer ergibt, daß in Speicherstelle $4000 bei $D301=$E7 nicht der Prüfwert drin steht.
Wenn ich dann den Rechner neu starte (das ist ein Kaltstart ohne Aus- und wieder Einschalten) und den Test nochmal laufen lasse, dann klappt er jedes mal.
Neuer Test A: ich schalte den Rechner aus, lade Bug65 nach $2000, verlasse Bug65 wieder und starte dann den Test -> Fehler
Nächster Test: wie A, aber ich schreibe im Bug65 den Wert $FF in $D301 -> Fehler
Nächster Test: wie A, aber ich schreibe im Bug65 den Wert $E3 in $D301 und dann wieder $FF -> Fehler
Nächster Test: wie A, aber ich schreibe im Bug65 den Wert $E3 in $D301, dann irgendeinen Wert nach $4000, dann $D301 wieder auf $FF -> kein Fehler
Den letzten Vorgang wiederholt, den Test nicht gestartet aber das Spiel -> funktioniert.
Nun bin ich gespannt, wer hierzu was rausfindet.
Natürlich könnte ich einfach das Spiel patchen, aber es geht ja darum herauszufinden, warum sich die Ramdisk nach einem Kaltstart mit Ausschalten so seltsam verhält.
Ach ja, und natürlich ergeben Tests der Ramerweiterung mit SysCheck, XRAM021 und SIMTEST keine Fehler.
ich habe auf einem 130XE Remake versucht, das Spiel Bunny Hop aus dem ASC 2022 (MAG150C.ATR) zu starten.
Es erscheint folgende Meldung:
"This program requires 130XE!"
Das passiert bei allen Modi der RAMDISK.
Ich habe das dann auch mit meinem zweiten 130XE Remake versucht -> gleicher Fehler.
Dann habe ich das auf meinem 130XE mit Newell 1MB versucht -> Spiel läuft.
Ich bin dann hergegangen und habe das Spiel nach dem RAMDISK-Test durchsucht. Der liegt in dem Segment $2000-$20AC, was ich mir dann für weitere Versuche extrahiert und allein lauffähig gemacht habe.
Die Versuche auf einem der 130XE Remakes haben bislang wie folgt ergeben:
Wenn ich den Rechner einschalte, ein DOS lade (in meinem Fall SpartaDOS 3.3b) und dann die Testroutine starte kommt der Fehler.
Eine Kontrolle mit dem Freezer ergibt, daß in Speicherstelle $4000 bei $D301=$E7 nicht der Prüfwert drin steht.
Wenn ich dann den Rechner neu starte (das ist ein Kaltstart ohne Aus- und wieder Einschalten) und den Test nochmal laufen lasse, dann klappt er jedes mal.
Neuer Test A: ich schalte den Rechner aus, lade Bug65 nach $2000, verlasse Bug65 wieder und starte dann den Test -> Fehler
Nächster Test: wie A, aber ich schreibe im Bug65 den Wert $FF in $D301 -> Fehler
Nächster Test: wie A, aber ich schreibe im Bug65 den Wert $E3 in $D301 und dann wieder $FF -> Fehler
Nächster Test: wie A, aber ich schreibe im Bug65 den Wert $E3 in $D301, dann irgendeinen Wert nach $4000, dann $D301 wieder auf $FF -> kein Fehler
Den letzten Vorgang wiederholt, den Test nicht gestartet aber das Spiel -> funktioniert.
Nun bin ich gespannt, wer hierzu was rausfindet.
Natürlich könnte ich einfach das Spiel patchen, aber es geht ja darum herauszufinden, warum sich die Ramdisk nach einem Kaltstart mit Ausschalten so seltsam verhält.
Ach ja, und natürlich ergeben Tests der Ramerweiterung mit SysCheck, XRAM021 und SIMTEST keine Fehler.
Wenn man sein Alter hexadezimal angibt kann man gleich wieder Bäume ausreißen 

-
- Beiträge: 1044
- Registriert: 04.11.2021 15:52
- Has thanked: 126 times
- Been thanked: 321 times
- Kontaktdaten:
130XE Remake - ein sehr merkwürdiges Problem
Offenbar hat außer mir niemand ein 130XE Remake?
Falls doch bitte ich darum einmal zu schauen, ob das Verhalten auch auf diesem System auftritt.
Falls doch bitte ich darum einmal zu schauen, ob das Verhalten auch auf diesem System auftritt.
Wenn man sein Alter hexadezimal angibt kann man gleich wieder Bäume ausreißen 

- RhoSigma
- Beiträge: 93
- Registriert: 29.04.2024 22:44
- Has thanked: 1 time
- Been thanked: 15 times
- Kontaktdaten:
Re: 130XE Remake - ein sehr merkwürdiges Problem
Poste doch mal den Test, dann kann das einer ausprobieren...
-
- Beiträge: 1044
- Registriert: 04.11.2021 15:52
- Has thanked: 126 times
- Been thanked: 321 times
- Kontaktdaten:
130XE Remake - ein sehr merkwürdiges Problem
.
Beim ersten Startversuch sollte der Fehler kommen.
Wenn man dann einen Kaltstart durchführt ohne den Rechner aus- und wieder einzuschalten und dann das Spiel noch einmal lädt tritt der Fehler nicht auf.
steht doch eigentlich im ersten Beitrag: auf einem 130XE Remake nach dem Einschalten des Rechners Bunny Hop laden. Das ist auf der ABBUC Magazindisk 150C zu finden.
Beim ersten Startversuch sollte der Fehler kommen.
Wenn man dann einen Kaltstart durchführt ohne den Rechner aus- und wieder einzuschalten und dann das Spiel noch einmal lädt tritt der Fehler nicht auf.
Wenn man sein Alter hexadezimal angibt kann man gleich wieder Bäume ausreißen 

Online
- Olix
- Beiträge: 2384
- Registriert: 17.08.2021 07:06
- Has thanked: 349 times
- Been thanked: 1728 times
- Kontaktdaten:
Re: 130XE Remake - ein sehr merkwürdiges Problem
Habe das mal auf meinem 130XE Remake Board nachgestellt:
Egal welche Speichereinstellung, ich erhalte auch immer: "This program requires 130XE!"
Es liegt also NICHT an Erhard
... sondern am Board Design.
Egal welche Speichereinstellung, ich erhalte auch immer: "This program requires 130XE!"
Es liegt also NICHT an Erhard

... sondern am Board Design.
-
- Beiträge: 1044
- Registriert: 04.11.2021 15:52
- Has thanked: 126 times
- Been thanked: 321 times
- Kontaktdaten:
130XE Remake - ein sehr merkwürdiges Problem
Das ist gut zu wissen.
Also sieht die Forschungsaufgabe derzeit wie folgt aus:
Warum funktioniert nach dem Einschalten des Rechners und egal wie lange er eingeschaltet ist der erste Zugriff auf $4000 in Bank $E7 nicht, auch wenn automatisiert zuvor in $4000 in Bank $E3 erfolgreich geschrieben wurde, jedoch doch, wenn zuvor in $4000 in Bank $E3 MANUELL geschrieben wurde.
Und es wäre zu prüfen, ob der Fehler bei einer anderen Zugriffsfolge auf die Banken bei einer anderen Bank (z.B. der zweite Zugriff) nicht funktioniert.
Wenn man sein Alter hexadezimal angibt kann man gleich wieder Bäume ausreißen 

-
- Beiträge: 1044
- Registriert: 04.11.2021 15:52
- Has thanked: 126 times
- Been thanked: 321 times
- Kontaktdaten:
130XE Remake - ein sehr merkwürdiges Problem
Werde ich hier einstellen.
Ist aber glaube ich von TF_HH eine überarbeitete Version, das sollte eigentlich in Ordnung sein.
Muß auch irgendwie ein Timing-Problem sein, weil wenn man manuell die Werte schreibt klappt es ja uns sonst nur nach dem Einschalten eben nicht.
Wenn man sein Alter hexadezimal angibt kann man gleich wieder Bäume ausreißen 

-
- Beiträge: 1044
- Registriert: 04.11.2021 15:52
- Has thanked: 126 times
- Been thanked: 321 times
- Kontaktdaten:
130XE Remake - ein sehr merkwürdiges Problem
So,
hier mal erst das Listing des Testprogramms.
Ich habe auch einmal die Folge umgekehrt, mit denen auf die RAM-Bänke zugegriffen wird.
Wenn statt E3-E7-EB-EF die Folge EF-EB-E7-E3 genommen wird, gibt es das Problem mit Bank EB.
Es sieht also so aus, als wäre es immer die zweite Bank, in die das Testbyte nicht geschrieben wird, wenn man das Programm nach dem Einschalten des Rechners ausführt.
hier mal erst das Listing des Testprogramms.
Ich habe auch einmal die Folge umgekehrt, mit denen auf die RAM-Bänke zugegriffen wird.
Wenn statt E3-E7-EB-EF die Folge EF-EB-E7-E3 genommen wird, gibt es das Problem mit Bank EB.
Es sieht also so aus, als wäre es immer die zweite Bank, in die das Testbyte nicht geschrieben wird, wenn man das Programm nach dem Einschalten des Rechners ausführt.
Code: Alles auswählen
;
; DLIST EQUATES
;
ALMS = $40
AVB = $40
AJMP = $01
AEMPTY4 = $30
AEMPTY8 = $70
;
RTCLOK = $12
SDMCTL = $022F
SDLSTL = $0230
SDLSTH = $0231
COLDST = $0244
COLOR1 = $02C5
COLOR2 = $02C6
PORTB = $D301
;
; Code equates
;
L4000 = $4000
;
; Start of code
;
*= $2000
;
START LDA #$00
STA SDMCTL
LDA #$FF
STA PORTB
STA COLDST
LDA RTCLOK+2
WAIT CMP RTCLOK+2
BEQ WAIT
LDA #$E3
STA PORTB
STA L4000
LDA #$E7
STA PORTB
STA L4000
LDA #$EB
STA PORTB
STA L4000
LDA #$EF
STA PORTB
STA L4000
LDA #$E3
STA PORTB
CMP L4000
BNE RAM_ERR
LDA #$E7
STA PORTB
CMP L4000
BNE RAM_ERR
LDA #$EB
STA PORTB
CMP L4000
BNE RAM_ERR
LDA #$EF
STA PORTB
CMP L4000
BNE RAM_ERR
LDA #$FF
STA PORTB
LDA #$22
STA SDMCTL
RTS
;
RAM_ERR LDA # <DLIST
STA SDLSTL
LDA # >DLIST
STA SDLSTH
LDA #$00
STA COLOR2
LDA #$0C
STA COLOR1
LDA #$21
STA SDMCTL
LOOP JMP LOOP
;
DLIST .BYTE AEMPTY8
.BYTE AEMPTY8
.BYTE AEMPTY8
.BYTE AEMPTY8
.BYTE AEMPTY8
.BYTE AEMPTY8
.BYTE AEMPTY8
.BYTE AEMPTY8
.BYTE AEMPTY8
.BYTE AEMPTY8
.BYTE AEMPTY8
.BYTE AEMPTY8
.BYTE AEMPTY8
.BYTE AEMPTY8
.BYTE AEMPTY4
.BYTE ALMS+$02
.WORD TEXT
.BYTE AVB+AJMP
.WORD DLIST
;
TEXT .SBYTE " This program requires 130XE! "
;
*= $02E0
.WORD START
;
.END
Wenn man sein Alter hexadezimal angibt kann man gleich wieder Bäume ausreißen 

-
- Beiträge: 1044
- Registriert: 04.11.2021 15:52
- Has thanked: 126 times
- Been thanked: 321 times
- Kontaktdaten:
130XE Remake - ein sehr merkwürdiges Problem
Und das hier ist glaube ich der Inhalt des GALs:
Code: Alles auswählen
CHIP TFHHSRAM GAL22V10
USER_ID = TFHHSRAM
CLK A14 A15 HALT RW PHI2 PB4 PB5 PB7 SW1 SW2 GND
PHI0 CASINH_OUT MAP CASINH_IN OE CE WE A18 A16 RHALT NPHI2_OUT VCC
NPHI2_OUT = /PHI2;
RHALT := HALT;
A16 = PB5 */SW1;
A18 = PB7 */SW2;
/WE = A14 * /A15 * /RW * PHI2 * /PB4 * CASINH_IN * PHI0 */SW1
+ A14 * /A15 * /RW * PHI2 * /PB4 * CASINH_IN * PHI0 * RHALT */SW2
+ A14 * /A15 * /RW * PHI2 * /PB5 * CASINH_IN * PHI0 * /RHALT */SW2 * SW1;
/CE = A14 * /A15 * PHI0 * /RW * /PB4 * CASINH_IN */SW1
+ A14 * /A15 * PHI2 * RW * /PB4 * CASINH_IN */SW1
+ A14 * /A15 * PHI0 * /RW * /PB4 * CASINH_IN * RHALT */SW2
+ A14 * /A15 * PHI2 * RW * /PB4 * CASINH_IN * RHALT */SW2
+ A14 * /A15 * PHI0 * /RW * /PB5 * CASINH_IN * /RHALT */SW2 * SW1
+ A14 * /A15 * PHI2 * RW * /PB5 * CASINH_IN * /RHALT */SW2 * SW1;
/OE = A14 * /A15 * PHI2 * RW * /PB4 * CASINH_IN */SW1
+ A14 * /A15 * PHI2 * RW * /PB4 * CASINH_IN * RHALT */SW2
+ A14 * /A15 * PHI2 * RW * /PB5 * CASINH_IN * /RHALT */SW2 * SW1;
/MAP = /PB7 * PB4 * PB5
+ /PB7 * SW1 * SW2;
/CASINH_OUT = /CASINH_IN
+ A14 * /A15 * /PB4 */SW1
+ A14 * /A15 * /PB4 * RHALT */SW2
+ A14 * /A15 * /PB5 * /RHALT */SW2 * SW1;
Wenn man sein Alter hexadezimal angibt kann man gleich wieder Bäume ausreißen 

- tfhh
- Beiträge: 287
- Registriert: 17.06.2021 02:31
- Wohnort: Wistedt, Germany
- Has thanked: 327 times
- Been thanked: 323 times
- Kontaktdaten:
Re: 130XE Remake - ein sehr merkwürdiges Problem
Nein, da habe ich diesmal nichts mit zu tun gehabtErhard hat geschrieben: ↑Gestern 16:33Werde ich hier einstellen.
Ist aber glaube ich von TF_HH eine überarbeitete Version, das sollte eigentlich in Ordnung sein.
Muß auch irgendwie ein Timing-Problem sein, weil wenn man manuell die Werte schreibt klappt es ja uns sonst nur nach dem Einschalten eben nicht.

Allerdings ist da ja noch dieser Dallas-Chip in der CE Leitung... vielleicht macht der Probleme? Nehme den mal raus, setze eine Brücke zwischen Pin 5 und 6 ein und teste erneut. Und wenn das RAM von Brilliance Semiconductor (BSI) ist, dann könnte es auch daran liegen.
Mein PN Eingang ist hier abgeschaltet. Kontaktaufnahme bitte per EMail (siehe Avatar
)

-
- Beiträge: 1044
- Registriert: 04.11.2021 15:52
- Has thanked: 126 times
- Been thanked: 321 times
- Kontaktdaten:
130XE Remake - ein sehr merkwürdiges Problem
Es mag ja sein, daß Panos die verwendet hat, aber wenn ich mich recht erinnere habe ich die nicht verwendet ...
War da nicht irgendwas, daß mit dem Hias-GAL die Schalter irgendwie falsch funkioniert hatten, sowas wie in der ON-Stellung war die RD aus und umgekehrt?
Und weil die GAL-Sources von Hias in irgendeiner abgefahrenen Hochsprache sind hätte ich die vielleicht ändern, aber nicht kompilieren können, weshalb ich dann die o.g. genommen habe?
Jupp, sowas in der Art war es. Siehe eMails vom 16.02.2022.
Aber das GAL dürfte meines Erachtens nicht das Problem sein.
Daß das Problem genau beim zweiten STA auftritt könnte daran liegen, daß am Programmbeginn auf einen VBI gewartet wird, sonst wüßte ich nicht, was da eine Zeitreferenz verursachen könnte.
Und daß das Problem nur dann auftritt, wenn der Rechner eingeschaltet wurde fühlt sich nach irgendwas "Ge-Latch-tem" an.
Das mit dem DALLAS-Chip werde ich ausprobieren, daß mit dem RAM-Hersteller auch (wenn ich ein solches RAM von einem anderen Hersteller da haben sollte).
Wenn man sein Alter hexadezimal angibt kann man gleich wieder Bäume ausreißen 

Wer ist online?
Mitglieder in diesem Forum: Olix und 1 Gast