[hatari-devel] Hatari freezing when running FIX24.PRG |
[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]
Hi, When running the attached FIX24.PRG as the only program in the AUTO folder Hatari's TT emulation freezes. I cannot even kill Hatari with Ctrl-C, but have to use the kill command. It's quite likely that this is an issue with the PMMU emulation. PMMU, prefetch and cycle exact were enabled. FIX24 was an open-source replacement for Atari's non-open 24BIT.PRG, which used the PMMU to reduce the 32 bit address range to 24 bit in order to support programs that did not work with TT-RAM in the early days of the TT. I guess Hatari's 24 bits addressing option does the same. I attached both the binary and the sources. (Comments are in German because this is a slightly updated version of what was published in the German ST Computer magazine 4/91.) If you want to run FIX24 in order to reproduce the issue, note that FIX24 requires that no TT-RAM has been allocated yet. Usually it's the first program in the AUTO folder. Maybe this helps with resolving PMMU-related issues. Best regards Uwe
Attachment:
FIX24.PRG
Description: Binary data
************************************** * * * FIX24 V1.2 * * * * beschr�nkt Adressierung auf 24 Bit * * * * und erlaubt Nutzung des TT-RAM * * * * (C) 1993 by Uwe Seimet * * * ************************************** mc68030 loadfast GEMDOS = 1 CCONWS = 9 SUPER = 32 PTERMRES = 49 MXALLOC = 68 TERM = 76 memtop = $42e ;Speicherobergrenze _p_cookies = $5a0 ;Pointer auf cookie-jar magic = "FIX2" ;f�r cookie ttmagic = $1357bd13 ;Flag f�r TT-RAM text clr.l -(sp) move #SUPER,-(sp) trap #GEMDOS addq.l #6,sp move.l d0,d7 moveq #-1,d6 ;Fehlerflag ;setzen lea sterr(pc),a6 move.l _p_cookies,d0 beq quit ;kein ;cookie jar- move.l d0,a0 cloop: movem.l (a0)+,d0-d1 tst.l d0 beq quit ;Ende des ;cookie jar- cmp.l #"_MCH",d0 ;Computertyp? bne cloop ;nein- swap d1 subq #2,d1 ;TT? bcs quit ;nein- moveq #0,d5 cmp.l #ttmagic,$5a8 ;TT-RAM ;vorhanden? bne.b noram ;nein- move.l $5a4,d0 ;Ende des ;TT-RAM sub.l #$1000000,d0 ble.b noram ;kein ;TT-RAM- lea ramerr(pc),a6 move.l d0,d5 ;Gr��e ;des TT-RAM ;in Bytes swap d5 ;Gr��e lsr #4,d5 ;in MBytes move #1,-(sp) ;TT-RAM move.l d0,-(sp) ;komplett move #MXALLOC,-(sp) ;belegen trap #GEMDOS addq.l #8,sp tst.l d0 ;TT-RAM ist beq quit ;nicht leer- noram: movec cacr,d0 ;Cache or #$0808,d0 ;l�schen and #$fefe,d0 ;und movec.l d0,cacr ;abschalten pmove dummy,tc ;�bersetzung ;anhalten pmove dummy,tt0 pmove dummy,tt1 moveq #$00000001,d1 lea $0700,a0 ;Deskriptoren- ;Adresse moveq #14,d0 fill1: move.l d1,(a0)+ ;Default- add.l #$00100000,d1 ;Tabelle dbra d0,fill1 ;aufbauen move.l #$00f00041,(a0) ;Hardware- ;�bersetzung subq #1,d5 bmi.b no_cook ;kein TT-RAM- move.l memtop,d0 swap d0 move d0,d4 swap d4 clr d4 lsr #2,d0 lea $0700,a0 add.l d0,a0 move.l #$01000001,d1 fill2: add #$0010,d4 ;L�ngenfeld move.l d1,(a0)+ ;TT-RAM- add.l #$00100000,d1 ;Tabelle ;aufbauen cmp.l #$00e00000,(a0) ;RAM-Ende dbcc d5,fill2 ;erreicht? move.l _p_cookies,a0 find: movem.l (a0)+,d0-d1 tst.l d0 bne find movem.l d0-d1,(a0) move.l d4,-(a0) ;cookie move.l #magic,-(a0) ;eintragen no_cook: pmove trans,tc ;�bersetzung ;neu starten lea message(pc),a6 clr d6 ;Fehlerflag ;zur�cksetzen quit: move.l d7,-(sp) move #SUPER,-(sp) trap #GEMDOS addq.l #6,sp pea (a6) move #CCONWS,-(sp) trap #GEMDOS addq.l #6,sp move d6,-(sp) bmi.b error clr.l -(sp) move #PTERMRES,-(sp) trap #GEMDOS error: move #TERM,-(sp) trap #GEMDOS trans: dc.l $80f84500 ;f�r TC-Register sterr: dc.b $0d,$0a,"FIX24 l�uft nur " dc.b "auf dem TT oder Falcon030!",$0d,$0a,$00 message: dc.b $0d,$0a,"FIX24 V1.2 " dc.b "installiert",$0d,$0a dc.b "� 1993 by Uwe Seimet",$0d,$0a,$00 ramerr: dc.b $0d,$0a,"Das TT-RAM ist " dc.b "nicht leer!",$0d,$0a dc.b "FIX24 V1.2 " dc.b "nicht installiert",$0d,$0a,$00 bss dummy: ds.l 1 ;f�r TC-Register
Mail converted by MHonArc 2.6.19+ | http://listengine.tuxfamily.org/ |