pouët.net

How does one run Atari Falcon060 prods on Hatari?

category: general [glöplog]
 
I've generally had no problem running the low-end Falcon030 prods on Hatari, but I just wasn't able to get the high-end prods running at all.

I'm using a base Atari STE config for Hatari (listed at the bottom of this post) which I then patch with command-line parameters to turn it into a Falcon system, and these settings for Falcon030 demos:

Code: --machine falcon --tos "C:\hatari\(rom)\tos404.img" --cpulevel 3 --memsize 14


So I try "Derealization" by DHS with the following config, and while it doesn't say there's not enough memory anymore, the screen remains black for (I think) too long:

Code: --machine falcon --tos "C:\hatari\(rom)\tos404.img" --cpulevel 6 --memsize 14 --addr24 0 --ttram 1024


And "Starstruck" by TBL just bombs out after a while.

What am I doing wrong?

Code: [Log] sLogFileName = stderr sTraceFileName = stderr nTextLogLevel = 3 nAlertDlgLogLevel = 1 bConfirmQuit = TRUE bNatFeats = FALSE bConsoleWindow = FALSE [Debugger] nNumberBase = 10 nSymbolLines = -1 nMemdumpLines = -1 nDisasmLines = -1 nBacktraceLines = 0 nExceptionDebugMask = 515 nDisasmOptions = 15 bDisasmUAE = TRUE bSymbolsAutoLoad = TRUE bMatchAllSymbols = FALSE [Screen] nMonitorType = 1 nFrameSkips = 5 bFullScreen = TRUE bKeepResolution = TRUE bResizable = TRUE bAllowOverscan = TRUE nSpec512Threshold = 1 nForceBpp = 0 bAspectCorrect = TRUE bUseExtVdiResolutions = FALSE nVdiWidth = 640 nVdiHeight = 480 nVdiColors = 2 bMouseWarp = TRUE bShowStatusbar = FALSE bShowDriveLed = FALSE bCrop = FALSE bForceMax = FALSE nMaxWidth = 832 nMaxHeight = 588 nZoomFactor = 1 bUseSdlRenderer = TRUE bUseVsync = FALSE [Joystick0] nJoystickMode = 0 bEnableAutoFire = FALSE bEnableJumpOnFire2 = FALSE nJoyId = -1 kUp = Up kDown = Down kLeft = Left kRight = Right kFire = Right Ctrl [Joystick1] nJoystickMode = 2 bEnableAutoFire = FALSE bEnableJumpOnFire2 = FALSE nJoyId = 0 kUp = Up kDown = Down kLeft = Left kRight = Right kFire = Left Ctrl [Joystick2] nJoystickMode = 0 bEnableAutoFire = FALSE bEnableJumpOnFire2 = FALSE nJoyId = -1 kUp = Up kDown = Down kLeft = Left kRight = Right kFire = Right Ctrl [Joystick3] nJoystickMode = 0 bEnableAutoFire = FALSE bEnableJumpOnFire2 = FALSE nJoyId = -1 kUp = Up kDown = Down kLeft = Left kRight = Right kFire = Right Ctrl [Joystick4] nJoystickMode = 0 bEnableAutoFire = FALSE bEnableJumpOnFire2 = FALSE nJoyId = -1 kUp = Up kDown = Down kLeft = Left kRight = Right kFire = Right Ctrl [Joystick5] nJoystickMode = 0 bEnableAutoFire = FALSE bEnableJumpOnFire2 = FALSE nJoyId = -1 kUp = Up kDown = Down kLeft = Left kRight = Right kFire = Right Ctrl [Keyboard] bDisableKeyRepeat = FALSE nKeymapType = 0 nCountryCode = -1 nKbdLayout = -1 nLanguage = -1 szMappingFileName = [KeyShortcutsWithMod] kOptions = O kFullScreen = F kBorders = B 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 [KeyShortcutsWithoutMod] kOptions = F12 kFullScreen = F11 kBorders = kMouseMode = kColdReset = kWarmReset = kScreenShot = kBossKey = kCursorEmu = kFastForward = kRecAnim = kRecSound = kSound = kPause = Pause kDebugger = kQuit = kLoadMem = kSaveMem = kInsertDiskA = kSwitchJoy0 = kSwitchJoy1 = kSwitchPadA = kSwitchPadB = [Sound] bEnableMicrophone = TRUE bEnableSound = TRUE bEnableSoundSync = FALSE nPlaybackFreq = 44100 nSdlAudioBufferSize = 0 szYMCaptureFileName = C:\Users\aaron\Downloads\output.wav YmVolumeMixing = 2 [Memory] nMemorySize = 8192 nTTRamSize = 0 bAutoSave = FALSE szMemoryCaptureFileName = C:\Users\aaron\AppData\Local\Hatari\hatari.sav szAutoSaveFileName = C:\Users\aaron\AppData\Local\Hatari\auto.sav [Floppy] bAutoInsertDiskB = FALSE FastFloppy = FALSE EnableDriveA = TRUE DriveA_NumberOfHeads = 2 EnableDriveB = TRUE DriveB_NumberOfHeads = 2 nWriteProtection = 0 szDiskAZipPath = szDiskAFileName = szDiskBZipPath = szDiskBFileName = szDiskImageDirectory = C:\Users\aaron\Documents [HardDisk] nGemdosDrive = 0 bBootFromHardDisk = TRUE bUseHardDiskDirectory = FALSE szHardDiskDirectory = nGemdosCase = 0 nWriteProtection = 0 bFilenameConversion = FALSE bGemdosHostTime = FALSE [ACSI] bUseDevice0 = FALSE sDeviceFile0 = C:\ADLaunch Software\Hatari nBlockSize0 = 512 bUseDevice1 = FALSE sDeviceFile1 = C:\ADLaunch Software\Hatari nBlockSize1 = 512 bUseDevice2 = FALSE sDeviceFile2 = C:\ADLaunch Software\Hatari nBlockSize2 = 512 bUseDevice3 = FALSE sDeviceFile3 = C:\ADLaunch Software\Hatari nBlockSize3 = 512 bUseDevice4 = FALSE sDeviceFile4 = C:\ADLaunch Software\Hatari nBlockSize4 = 512 bUseDevice5 = FALSE sDeviceFile5 = C:\ADLaunch Software\Hatari nBlockSize5 = 512 bUseDevice6 = FALSE sDeviceFile6 = C:\ADLaunch Software\Hatari nBlockSize6 = 512 bUseDevice7 = FALSE sDeviceFile7 = C:\ADLaunch Software\Hatari nBlockSize7 = 512 [SCSI] bUseDevice0 = FALSE sDeviceFile0 = C:\ADLaunch Software\Hatari nBlockSize0 = 512 bUseDevice1 = FALSE sDeviceFile1 = C:\ADLaunch Software\Hatari nBlockSize1 = 512 bUseDevice2 = FALSE sDeviceFile2 = C:\ADLaunch Software\Hatari nBlockSize2 = 512 bUseDevice3 = FALSE sDeviceFile3 = C:\ADLaunch Software\Hatari nBlockSize3 = 512 bUseDevice4 = FALSE sDeviceFile4 = C:\ADLaunch Software\Hatari nBlockSize4 = 512 bUseDevice5 = FALSE sDeviceFile5 = C:\ADLaunch Software\Hatari nBlockSize5 = 512 bUseDevice6 = FALSE sDeviceFile6 = C:\ADLaunch Software\Hatari nBlockSize6 = 512 bUseDevice7 = FALSE sDeviceFile7 = C:\ADLaunch Software\Hatari nBlockSize7 = 512 [IDE] bUseDevice0 = FALSE nByteSwap0 = 2 sDeviceFile0 = C:\ADLaunch Software\Hatari nBlockSize0 = 512 nDeviceType0 = 0 bUseDevice1 = FALSE nByteSwap1 = 2 sDeviceFile1 = C:\ADLaunch Software\Hatari nBlockSize1 = 512 nDeviceType1 = 0 [ROM] szTosImageFileName = C:\ADLaunch Software\Hatari\(rom)\tos206uk.img bPatchTos = TRUE szCartridgeImageFileName = [LILO] Args = root=/dev/ram video=atafb:vga16 load_ramdisk=1 Kernel = C:\ADLaunch Software\Hatari\vmlinuz Symbols = Ramdisk = C:\ADLaunch Software\Hatari\initrd HaltOnReboot = TRUE KernelToFastRam = TRUE RamdiskToFastRam = TRUE [RS232] bEnableRS232 = FALSE szOutFileName = C:\ADLaunch Software\Hatari\/dev/modem szInFileName = C:\ADLaunch Software\Hatari\/dev/modem bEnableSccB = FALSE sSccBOutFileName = C:\ADLaunch Software\Hatari\/dev/modem [Printer] bEnablePrinting = FALSE szPrintToFileName = C:\Users\aaron\AppData\Local\Hatari\hatari.prn [Midi] bEnableMidi = FALSE sMidiInFileName = C:\ADLaunch Software\Hatari\/dev/snd/midiC1D0 sMidiOutFileName = C:\ADLaunch Software\Hatari\/dev/snd/midiC1D0 sMidiInPortName = Off sMidiOutPortName = Off [System] nCpuLevel = 0 nCpuFreq = 8 bCompatibleCpu = TRUE nModelType = 2 bBlitter = FALSE nDSPType = 0 nVMEType = 1 bPatchTimerD = FALSE bFastBoot = TRUE bFastForward = FALSE bAddressSpace24 = TRUE bCycleExactCpu = TRUE n_FPUType = 0 bSoftFloatFPU = FALSE bMMU = FALSE VideoTiming = 3 [Video] AviRecordVcodec = 2 AviRecordFps = 0 AviRecordFile = C:\ADLaunch Software\Hatari\hatari.avi
added on the 2024-02-21 12:36:04 by Foebane72 Foebane72
You at least need to enable FPU for 060-stuff
added on the 2024-02-21 12:44:22 by britelite britelite
I forgot about the FPU, but yes, I added that and the Starstruck demo ran straight off! :)

Derealization still has a blank screen at the beginning, though: maybe a long precalc?

These are the parameters I'm using now:

Code:--cpulevel 6 --fpu 68881 --addr24 0 --ttram 1024
added on the 2024-02-21 13:10:53 by Foebane72 Foebane72
For 68060 you should use --fpu internal
added on the 2024-02-21 13:16:08 by britelite britelite
Yes, silly me.

But I'm still not getting any joy on the other demos, maybe Falcon-specific settings?
added on the 2024-02-21 13:34:06 by Foebane72 Foebane72
hatari --machine falcon --addr24 0 --dsp emu --cpulevel 6 --cpuclock 32 --fpu internal --cpu-exact 1 --compatible 1 --timer-d 0 --memsize 14 --ttram 128 --window --frameskips 10 --drive-led false --monitor vga --avi-vcodec png --png-level 2 --sound 49170 --fast-boot 1 --tos /path/404.img --gemdos-drive c --harddrive /path/Falcon060

Then you need an FPU emulator in case the demo is using more complex FPU instructions that's not included in the 060. This is included by default in the CT60 firmware, but not in Hatari.

https://tho-otto.de/download/fpsp.zip

Finally, the emulated machine will not be as fast as a real Falcon 060 (it only emulates 32 MHz), video tricks doesn't work in Hatari at all (HBL stuff in particular) and if you want DSP as well it will require a very strong CPU-core to handle the emulation.

When I did our latest demo I disabled DSP in Hatari and ran a simple PCM stream instead, the M1 core (which is still quite quick) couldn't do it. Naturally the released Falcon binary uses the DSP :)
added on the 2024-02-21 18:19:57 by evil evil
Evil, I tried your config with the Derealization demo, still no joy. The green window with "DEREAL" appeared and then went black, but nothing after that. Either it's a long precalc or I'm still doing something wrong.

I got Starstruck to run earlier, but I thought it took ages to precalc and when it did run it was rather sluggish. I did find out how to boost the speed with --cpuclock, which helped.

I should explore more Falcon060 demos, some might work. I have a Ryzen 5 system (5600 I believe) and so should be able to handle most of those demos.
added on the 2024-02-21 20:03:05 by Foebane72 Foebane72
ryzen 5 5600 is slower than m1 for most purposes...
added on the 2024-02-21 23:25:09 by havoc havoc
I've gotten a few more demos to work, but some of them have an ugly white border all around the screen, like "Hmmm" and "Zero Three Zero".
added on the 2024-02-22 10:22:46 by Foebane72 Foebane72
The white border is no big deal, it's probably by design, I doubt it's an emulation issue. I've seen the same thing in at least one Amiga demo, too.
added on the 2024-02-22 14:59:28 by Foebane72 Foebane72
Quote:
Evil, I tried your config with the Derealization demo, still no joy. The green window with "DEREAL" appeared and then went black, but nothing after that. Either it's a long precalc or I'm still doing something wrong.


I just tested Derealization with that config, it starts no problem. Did you really install the FPU emulator?

Big problem with my M1 host machine performance though :) I need to shut off DSP (=no sound) to get things to move OK, but then it's not too far from a Falcon 060, I think the slower processor emulation is partly offset by faster memory access.


Even with DSP off I experienced performance issues with my hackintosh machine. Not exactly modern by todays standards (Intel 9600k at 4 GHz), but the M1 really ran circles around it. Same Hatari release, same Hatari config, same Falcon demo: https://www.youtube.com/watch?v=J0lVi8DCt9g
I'm sure your 5600 is quicker than the 9600k, question is by how much :)


Anyway, Hatari Falcon emulation is not mature enough to run many demos properly, and development has mostly stalled. It's ST(e) emulation is magnificent though.
added on the 2024-02-22 18:00:40 by evil evil
Quote:
I just tested Derealization with that config, it starts no problem. Did you really install the FPU emulator?


I have to admit, I didn't know how to. There were no instructions, from what I could see. (blush)
added on the 2024-02-22 18:17:56 by Foebane72 Foebane72
Quote:
I have to admit, I didn't know how to. There were no instructions, from what I could see. (blush)


1. Make a folder called auto in the harddrive root
2. Copy fpsp060.prg into the auto folder

Installed.
added on the 2024-02-22 18:31:09 by evil evil
Evil, that did the trick! The demo ran perfectly after that! All I used were these:

Code:--machine falcon --tos "C:\hatari\(rom)\tos404.img" --cpulevel 6 --fpu internal --addr24 0 --ttram 1024


And I added the AUTO folder with that one file you mentioned, and that was it! It ran very well!
added on the 2024-02-22 19:24:20 by Foebane72 Foebane72
If that's the only config you gave, it will run the 060 at 16 MHz and as I understand it without proper cache emulation so it slows down more. I also think it will run with 1 MB ST-RAM? The demo won't work with that I'm sure. So perhaps you have additional settings from a config file.

Anyway if you're happy, that's good.
added on the 2024-02-22 21:54:24 by evil evil
Quote:
If that's the only config you gave, it will run the 060 at 16 MHz and as I understand it without proper cache emulation so it slows down more. I also think it will run with 1 MB ST-RAM? The demo won't work with that I'm sure. So perhaps you have additional settings from a config file.

Anyway if you're happy, that's good.


Well, I tend to use a base config for Amiga demos and patch it as necessary for each prod, and since in this case it is an Atari STE config, I just adapt it to Falcon that way.

Another thing I tend to do with the higher end systems is just to set a massive amount of memory as default and hope the prod works.

What bothers me is the --cpuclock variable. Unless I get it set to the right value (8, 16 or 32) I just get a whole lot of stutter in the emulation, where some parts stutter and others don't. I used to get the same issue with Amiga demos in WinUAE, I hated having to go through demos each time until the stutter was gone, and in a lot of cases, the demos ran at much slower speeds than I'm sure they were capable of.
added on the 2024-02-22 22:16:36 by Foebane72 Foebane72
Quote:
and as I understand it without proper cache emulation so it slows down more


Which parameter(s) do I need to run the demo with proper cache emulation?
added on the 2024-02-22 22:34:26 by Foebane72 Foebane72
Quote:
Which parameter(s) do I need to run the demo with proper cache emulation?


That would be --compatible 1 but this is also the setting that's taxing the host processor a lot. Have fun :)
added on the 2024-02-23 17:17:16 by evil evil
Yeah, I've gotten a few more demos to work (sort of) since I knew about the "fpsp.zip" package!

Quote:
Anyway, Hatari Falcon emulation is not mature enough to run many demos properly, and development has mostly stalled.


Yeah, it's such a shame, there's so much potential there, and the relative rarity of real Falcon hardware which means such a tiny library of prods to begin with when compared to the juggernaut that is Amiga AGA, and I bet many Silly Venture patrons who see Falcon demos are crying out for a Toni Wilen-like saviour for their emulation needs :(
added on the 2024-02-23 18:28:28 by Foebane72 Foebane72

login