Re: [hatari-devel] Hatari freezing when running FIX24.PRG |
[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]
Hi, Just checking what the copy of FIX24 I provided actually does ;-). As already mentioned it's an updated version of the one that was published in ST Computer 4/91, and it does not yet try to re-map memory from the TT-RAM to the ST-RAM area. And yes, you are right, there is another program (attached) that makes this memory usable. I completely forgot about this one, even though it was actually published together with an update to FIX24 one month later. For those who know German and are interested in how the PMMU works, those two articles may be interesing in this context. I'm currently re-learning things I completely forgot :). Note that I cannot test this on a real TT right now, but it is safe to assume that both programs were working on real TTs. But as Christian already pointed out, there might be problems with more than 10 MB of ST-RAM. While trying to run more tests with Hatari I just stumbled upon a problem: With only 4 MB ST-RAM configured NVDI does not install on Hatari. First I thought this was another NVDI issue, but then I noticed that it looks as if no AUTO order program is executed at all when I configure 4 MB of ST-RAM. For reference I attached my configuration file once again. With this configuration Hatari launches everything in my AUTO folder on C, but when I reconfigure (after pressing F12) Hatari to only provide 4 MB ST-RAM and then reboot, no AUTO folder programs are executed anymore. Best regards Uwe > Le 09/10/2018 à 18:46, Nicolas Pomarède a écrit : > > Yes, that's the other option I was considering, that fix24.prg doesn't > > support so much ST RAM. > > > > If I run with less ST RAM (10 MB), then fix24 is working, there's no crash. > > > > Uwe, what working memory config did you use on your TT to be sure we > > test the same under Hatari ? > > If I understand correctly, if you have TT RAM, then fix24 will also try > to map part of this 32bit TT RAM inside the 24 bit address space to > reach the maximum possible. > > So, if you have 10 MB of ST RAM, you can still access the first 4 MB of > your TTRAM from A00000 to E00000. If you have 4 MB of ST RAM, then 10 MB > of TT RAM will be visible just after the ST RAM (this would need some > extra code to change memtop / phystop accordingly so that TOS really > sees this memory region and use it, maybe some other program needed to > be ran after fix24.prg to take this into account) > > Nicolas > >
************************************ * * * ADDMEM V1.3 * * * * erlaubt in Verbindung mit FIX24 * * * * die Nutzung des TT-RAM unter TOS * * * * (C) 1991 by Uwe Seimet * * * ************************************ mc68030 loadfast GEMDOS = 1 CCONWS = 9 PTERMRES = 49 MALLOC = 72 MFREE = 73 MSHRINK = 74 XBIOS = 14 SUPEXEC = 38 hdv_rw = $476 ;Lese-/Schreibvektor _sysbase = $4f2 _p_cookies = $5a0 ;Pointer auf cookie jar fixmagic = "FIX2" magic = "MADD" opt o+,w- text move.l 4(sp),a0 lea stack+400,sp move.l 12(a0),a6 ;L�nge des TEXT-Segments add.l 20(a0),a6 ;L�nge des DATA-Segments add.l 28(a0),a6 ;L�nge des BSS-Segments lea $100(a6),a6 ;f�r Basepage pea (a6) pea (a0) clr -(sp) move #MSHRINK,-(sp) trap #GEMDOS ;�berz�hligen Speicher freigeben lea 12(sp),sp tst.l d0 ;alles klar? bne err1 ;leider nicht- pea -1 move #MALLOC,-(sp) trap #GEMDOS addq.l #6,sp subq.l #2,d0 move.l d0,-(sp) move #MALLOC,-(sp) trap #GEMDOS addq.l #6,sp move.l d0,d7 pea install(pc) move #SUPEXEC,-(sp) trap #XBIOS addq.l #6,sp subq.b #1,errflg beq.b quit1 ;Fehler- bpl.b quit2 ;bereits ;installiert- move.l d7,-(sp) move #MFREE,-(sp) trap #GEMDOS addq.l #6,sp pea message(pc) move #CCONWS,-(sp) trap #GEMDOS addq.l #6,sp clr -(sp) pea (a6) ;Programm move #PTERMRES,-(sp) trap #GEMDOS ;resident ;halten quit1: pea fixerr(pc) move #CCONWS,-(sp) trap #GEMDOS addq.l #6,sp quit2: clr -(sp) trap #GEMDOS install: move.l _p_cookies,d0 ;keine beq.b err1 ;cookies- move.l d0,a0 find_fix:movem.l (a0)+,d0-d1 tst.l d0 beq.b err1 ;kein FIX24- cmp.l #magic,d0 beq.b err2 ;ADDMEM schon ;installiert- cmp.l #fixmagic,d0 ;FIX24 nicht bne find_fix ;installiert- move.l #magic,-8(a0) ;magic ;ersetzen move.l d1,d0 clr d0 swap d1 clr d1 move.l _sysbase,a0 move.l $71e2,d2 ;Pointer auf MPB (TOS 3.01) cmp #$0301,2(a0) beq.s next_md move.l $70e8,d2 ;MBP f�r TOS 3.05 cmp #$0301,2(a0) beq.s next_md move.l $73ca,d2 ;MPB f�r TOS 3.06 next_md: move.l d2,a0 move.l (a0),d2 ;Zeiger auf n�chsten MD holen bne next_md ;noch nicht letzter Block- movem.l d0-d1,4(a0) ;Start, L�nge ;des neuen ;Blocks movem.l d0-d1,low move.l hdv_rw,o_rw ;neue DMA- move.l #hrw,hdv_rw ;Routinen rts err1: move.b #1,errflg rts err2: move.b #2,errflg rts dc.l "XBRA" dc.l magic o_rw: dc.l 0 hrw: move.l 6(sp),d0 ;Pufferadresse sub.l low(pc),d0 bcs.b cont cmp.l len(pc),d0 bcc.b cont add.l #$01000000,d0 ;neue Adresse ;berechnen move.l d0,6(sp) ;und ersetzen cont: move.l o_rw(pc),a0 ;weiter jmp (a0) ;wie gehabt- message: dc.b $0d,$0a,"ADDMEM V1.3 " dc.b "installiert",$0d,$0a dc.b "� 1991 by Uwe Seimet",$0d,$0a,$00 fixerr: dc.b $0d,$0a,"ADDMEM l�uft nur " dc.b "in Verbindung mit FIX24!" dc.b $0d,$0a,$00 even low: dc.l 0 ;neue Startadresse des TT-RAM len: dc.l 0 ;Gr��e des TT-RAM-Bereichs errflg: dc.b 0 ;Fehlerflag bss stack: ds.l 100
Attachment:
ADDMEM.PRG
Description: Binary data
[Log] sLogFileName = stderr sTraceFileName = stderr nTextLogLevel = 4 nAlertDlgLogLevel = 1 bConfirmQuit = FALSE bNatFeats = TRUE bConsoleWindow = FALSE [Screen] nMonitorType = 0 nFrameSkips = 5 bFullScreen = FALSE bAllowOverscan = FALSE nSpec512Threshold = 16 nForceBpp = 0 bUseExtVdiResolutions = FALSE nVdiWidth = 1280 nVdiHeight = 1024 nVdiColors = 0 bShowStatusbar = FALSE bShowDriveLed = FALSE bAspectCorrect = TRUE bCrop = FALSE nMaxWidth = 832 nMaxHeight = 576 bKeepResolution = FALSE bForceMax = FALSE bMouseWarp = TRUE nRenderScaleQuality = 0 bUseVsync = FALSE bResizable = TRUE bUseSdlRenderer = TRUE [Joystick0] nJoystickMode = 0 bEnableAutoFire = FALSE bEnableJumpOnFire2 = FALSE nJoyId = 1 kUp = Up kDown = Down kLeft = Left kRight = Right kFire = Right Ctrl [Joystick1] nJoystickMode = 0 bEnableAutoFire = FALSE bEnableJumpOnFire2 = FALSE nJoyId = 0 kUp = Up kDown = Down kLeft = Left kRight = Right kFire = Right Ctrl [Joystick2] nJoystickMode = 0 bEnableAutoFire = FALSE bEnableJumpOnFire2 = FALSE nJoyId = 2 kUp = Up kDown = Down kLeft = Left kRight = Right kFire = Right Ctrl [Joystick3] nJoystickMode = 0 bEnableAutoFire = FALSE bEnableJumpOnFire2 = FALSE nJoyId = 3 kUp = Up kDown = Down kLeft = Left kRight = Right kFire = Right Ctrl [Joystick4] nJoystickMode = 0 bEnableAutoFire = FALSE bEnableJumpOnFire2 = FALSE nJoyId = 4 kUp = Up kDown = Down kLeft = Left kRight = Right kFire = Right Ctrl [Joystick5] nJoystickMode = 0 bEnableAutoFire = FALSE bEnableJumpOnFire2 = FALSE nJoyId = 5 kUp = Up kDown = Down kLeft = Left kRight = Right kFire = Right Ctrl [Keyboard] bDisableKeyRepeat = TRUE nKeymapType = 1 szMappingFileName = [ShortcutsWithModifiers] keyOptions = 111 keyFullScreen = 102 keyMouseMode = 109 keyColdReset = 99 keyWarmReset = 114 keyScreenShot = 103 keyBossKey = 105 keyCursorEmu = 106 keyFastForward = 120 keyRecAnim = 97 keyRecSound = 121 keySound = 115 keyPause = 0 keyDebugger = 19 keyQuit = 113 keyLoadMem = 108 keySaveMem = 107 keyInsertDiskA = 100 [ShortcutsWithoutModifiers] keyOptions = 293 keyFullScreen = 292 keyMouseMode = 0 keyColdReset = 0 keyWarmReset = 0 keyScreenShot = 0 keyBossKey = 0 keyCursorEmu = 0 keyFastForward = 0 keyRecAnim = 0 keyRecSound = 0 keySound = 0 keyPause = 19 keyDebugger = 0 keyQuit = 0 keyLoadMem = 0 keySaveMem = 0 keyInsertDiskA = 0 [Sound] bEnableSound = FALSE nPlaybackFreq = 44100 szYMCaptureFileName = /home/us/hatari.wav bEnableMicrophone = TRUE nSdlAudioBufferSize = 0 YmVolumeMixing = 2 bEnableSoundSync = FALSE [Memory] nMemorySize = 14336 bAutoSave = FALSE szMemoryCaptureFileName = /home/us/.hatari/hatari.sav szAutoSaveFileName = /home/us/.hatari/auto.sav nTTRamSize = 16384 [Floppy] bAutoInsertDiskB = TRUE nWriteProtection = 0 szDiskAZipPath = szDiskAFileName = szDiskBZipPath = szDiskBFileName = szDiskImageDirectory = /home/us/hatari FastFloppy = FALSE EnableDriveA = FALSE EnableDriveB = FALSE DriveA_NumberOfHeads = 2 DriveB_NumberOfHeads = 2 [HardDisk] bBootFromHardDisk = TRUE bUseHardDiskDirectory = TRUE szHardDiskDirectory = /home/us/TT #szIdeMasterHardDiskImage = /dev/sdh #szIdeSlaveHardDiskImage = /dev/sdc nWriteProtection = 0 nGemdosCase = 0 nGemdosDrive = 0 bFilenameConversion = FALSE bGemdosHostTime = FALSE [ROM] szTosImageFileName = /opt/atari/tos306de.img #szTosImageFileName = /opt/atari/etos512k.img szCartridgeImageFileName = bPatchTos = TRUE [RS232] bEnableRS232 = FALSE szOutFileName = /dev/modem szInFileName = /dev/modem [Printer] bEnablePrinting = TRUE szPrintToFileName = /tmp/prn.out [Midi] bEnableMidi = FALSE sMidiInFileName = /dev/snd/midiC1D0 sMidiOutFileName = /dev/snd/midiC1D0 sMidiInPortName = Off sMidiOutPortName = Off [System] nCpuLevel = 3 nCpuFreq = 32 bCompatibleCpu = FALSE bBlitter = FALSE nDSPType = 0 bPatchTimerD = TRUE bFastForward = TRUE bAddressSpace24 = FALSE bCycleExactCpu = FALSE n_FPUType = 68882 bMMU = FALSE bFastBoot = FALSE nModelType = 4 VideoTiming = 3 bSoftFloatFPU = FALSE [Debugger] nNumberBase = 10 nDisasmLines = 8 nMemdumpLines = 8 nDisasmOptions = 15 bDisasmUAE = FALSE nSymbolLines = -1 nExceptionDebugMask = 515 bSymbolsResident = FALSE bMatchAllSymbols = FALSE [Video] AviRecordVcodec = 2 AviRecordFps = 0 AviRecordFile = /home/us/test/hatari/hatari.avi [ACSI] bUseDevice1 = FALSE sDeviceFile1 = /home/us/hatari/aranym.img bUseDevice2 = FALSE sDeviceFile2 = /home/us/hatari/win.img bUseDevice3 = FALSE sDeviceFile3 = /home/us/TT/D/HDDRUTIL bUseDevice4 = FALSE sDeviceFile4 = /home/us/TT/D/HDDRUTIL bUseDevice5 = FALSE sDeviceFile5 = /home/us/TT/D/HDDRUTIL bUseDevice6 = FALSE sDeviceFile6 = /home/us/TT/D/HDDRUTIL bUseDevice7 = FALSE sDeviceFile7 = /home/us/TT/D/HDDRUTIL bUseDevice0 = TRUE sDeviceFile0 = /home/us/hatari/aranym.img [ShortcutsWithModifiers2] keyOptions = 111 keyFullScreen = 102 keyMouseMode = 109 keyColdReset = 99 keyWarmReset = 114 keyScreenShot = 103 keyBossKey = 105 keyCursorEmu = 106 keyFastForward = 120 keyRecAnim = 97 keyRecSound = 121 keySound = 115 keyPause = 0 keyDebugger = 1073741896 keyQuit = 113 keyLoadMem = 108 keySaveMem = 107 keyInsertDiskA = 100 keySwitchJoy0 = 1073741882 keySwitchJoy1 = 1073741883 keySwitchPadA = 1073741884 keySwitchPadB = 1073741885 [ShortcutsWithoutModifiers2] keyOptions = 1073741893 keyFullScreen = 1073741892 keyMouseMode = 0 keyColdReset = 0 keyWarmReset = 0 keyScreenShot = 0 keyBossKey = 0 keyCursorEmu = 0 keyFastForward = 0 keyRecAnim = 0 keyRecSound = 0 keySound = 0 keyPause = 1073741896 keyDebugger = 0 keyQuit = 0 keyLoadMem = 0 keySaveMem = 0 keyInsertDiskA = 0 keySwitchJoy0 = 0 keySwitchJoy1 = 0 keySwitchPadA = 0 keySwitchPadB = 0 [KeyShortcutsWithMod] kOptions = O kFullScreen = F kMouseMode = M kColdReset = C kWarmReset = R kScreenShot = G kBossKey = I kCursorEmu = J kFastForward = X kRecAnim = A kRecSound = Y kSound = S kPause = kDebugger = Pause kQuit = Q kLoadMem = L kSaveMem = K kInsertDiskA = D kSwitchJoy0 = F1 kSwitchJoy1 = F2 kSwitchPadA = F3 kSwitchPadB = F4 kBorders = B [KeyShortcutsWithoutMod] kOptions = F12 kFullScreen = F11 kMouseMode = kColdReset = kWarmReset = kScreenShot = kBossKey = kCursorEmu = kFastForward = kRecAnim = kRecSound = kSound = kPause = Pause kDebugger = kQuit = kLoadMem = kSaveMem = kInsertDiskA = kSwitchJoy0 = kSwitchJoy1 = kSwitchPadA = kSwitchPadB = kBorders = [SCSI] bUseDevice0 = FALSE sDeviceFile0 = /home/us/hatari/hatari bUseDevice1 = FALSE sDeviceFile1 = /home/us/hatari/hatari bUseDevice2 = FALSE sDeviceFile2 = /home/us/hatari/hatari bUseDevice3 = FALSE sDeviceFile3 = /home/us/hatari/hatari bUseDevice4 = FALSE sDeviceFile4 = /home/us/hatari/hatari bUseDevice5 = FALSE sDeviceFile5 = /home/us/hatari/hatari bUseDevice6 = FALSE sDeviceFile6 = /home/us/hatari/hatari
Mail converted by MHonArc 2.6.19+ | http://listengine.tuxfamily.org/ |