130XE Remake - ein sehr merkwürdiges Problem

Moderatoren: Sleeπ, andymanone

Antworten
Erhard
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

Beitrag von Erhard »

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.
Wenn man sein Alter hexadezimal angibt kann man gleich wieder Bäume ausreißen :-)

Erhard
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

Beitrag von Erhard »

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.
Wenn man sein Alter hexadezimal angibt kann man gleich wieder Bäume ausreißen :-)

Benutzeravatar
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

Beitrag von RhoSigma »

Poste doch mal den Test, dann kann das einer ausprobieren...

Erhard
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

Beitrag von Erhard »

.
RhoSigma hat geschrieben:
29.06.2025 21:00
Poste doch mal den Test, dann kann das einer ausprobieren...
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 :-)

Benutzeravatar
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

Beitrag von Olix »

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.

Erhard
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

Beitrag von Erhard »

Olix hat geschrieben:
08.07.2025 18:56
Es liegt also NICHT an Erhard

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 :-)

Benutzeravatar
mega-hz
Beiträge: 1416
Registriert: 03.11.2021 11:23
Has thanked: 415 times
Been thanked: 486 times

Re: 130XE Remake - ein sehr merkwürdiges Problem

Beitrag von mega-hz »

Hast Du evt. das/die GAL Listings?
Vielleicht ist da ja was faul...
keine PN's mehr! Bitte per email kontaktieren! atari1450xld©mega-hz.de

Erhard
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

Beitrag von Erhard »

mega-hz hat geschrieben:
Gestern 11:19
Hast Du evt. das/die GAL Listings?

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 :-)

Erhard
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

Beitrag von Erhard »

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.

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 :-)

Erhard
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

Beitrag von Erhard »

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 :-)

Benutzeravatar
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

Beitrag von tfhh »

Erhard hat geschrieben:
Gestern 16:33
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.
Nein, da habe ich diesmal nichts mit zu tun gehabt :-) - Panos hat, vermute ich mal, direkt die Files von Hias verwendet.

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 ;) )

Erhard
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

Beitrag von Erhard »

tfhh hat geschrieben:
Gestern 20:43
Panos hat, vermute ich mal, direkt die Files von Hias verwendet.
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 :-)

Antworten

Wer ist online?

Mitglieder in diesem Forum: andymanone, krupkaj und 1 Gast