Hatari for Mac OS X with patches for development
News
090216: Hatari built with falcon DSP emu enabled.
090116: Hatari built from the new Mercuri repository (with the DHS patches applied).
081129: Hatari-1.1.0 built with the patches. The CPU frequency can now be set to 128MHz in the GUI menus.
081114: Set CPU frequency from XBios via call 249.
081113: New CPU frequency: 64 and 128 MHz makes the machine runs faster. The speeds are however approximate.
081026: Added new functions to enable/disable the internal Hatari debugger. The --debug option is not default now.
Patches
This is a custom build of Hatari from CVS with some specific patches that enhances the debug and trace functions.
These features are of great help for demo hacking in overscan since ordinary debug tools is very hard to use in such conditions.
The following patches are applied to the Hatari sources:
- CPU frequency patch.
The CPU frequency can be set up to 128 MHz in the SDL and the OSX GUI.
- Speedpatch.
Via Xbios 255 you can set Hatari into max speed mode (fast forward), useful for assembling, packing and so on. There is also a method to reset the normal ST speed again.
- Register dump.
Hatari can dump the CPU data+address registers to the console. This is useful for debugging.
- Memory dump.
Hatari can dump the content of a memory area to the console. This is useful for debugging.
- Debugger with instruction stepping.
Step thrugh the code from the OSX console. By calling Xbios, Hatari will enter the debugger. A new command 'i' will then step the emulator one (1) instruction and then return to the debugger.
- Cycle counter.
Count the number of cycles between two successive calls to Xbios functions. The argument to the call can provide an identifier for the current timer and several counters can be activated simultaneously.
Downloads
The following binaries are compiled from the corresponding Hatari CVS versions with the DHS specific patches applied. The comand line arguments --bios-intercept and --debug are enabled by default.
- Hatari with DSP emu, February 16, 2009 (Universal Binary)
- Hatari, February 14, 2009 (Universal Binary)
- Hatari, January 16, 2009 (Universal Binary)
- Hatari CVS (1.1.0), November 29, 2008 (Universal Binary)
- Hatari CVS, November 14, 2008 (Universal Binary)
- Hatari CVS, November 13, 2008 (Universal Binary)
- Hatari CVS, November 6, 2008 (Universal Binary)
- Hatari CVS, October 26, 2008 (Universal Binary)
- Hatari CVS, October 15, 2008 (Universal Binary)
- Hatari CVS, October 12, 2008 (Universal Binary)
- Hatari CVS, October 04, 2008 (Universal Binary)
- Hatari CVS, September 28, 2008 (Universal Binary)
- Hatari CVS, September 17, 2008 (Universal Binary)
- Hatari CVS, September 12, 2008 (Universal Binary)
The following patches are generated from the corresponding CVS tree:
- Patch for Hatari 090116
- Patch for Hatari CVS 081129 (Hatari-1.1.0)
- Patch for Hatari CVS 081026
- Patch for Hatari CVS 081004
Usage
The following Xbios functions are recognized by the patched Hatari:
| Xbios | Arguments | Description |
| 255 | 0x0001 (w) | Min speed |
| 255 | 0x0002 (w) | Max speed |
| 255 | 0x0003 (w) | Enable debugger |
| 255 | 0x0004 (w) | Disable debugger |
| 254 | addr(l)/len(l) | Dump memory area to Hatari console |
| 253 | counter id (w) | Start new cycle counter |
| 252 | counter id (w) | Read cycle counter |
| 251 | none | Enter Hatari debugger |
| 250 | none | Dump registers to Hatari console |
The following source code provides the above functions:
- hatari.s example source to enable the debug functions.
Notes
- To follow Hatari development news, you can check the shortlog at the projectpage
- The debugger does not break on the initial bus error traps during boot. The patched hatari just compares the PC address and skips bus errors on some addresses which were obtained empirically during boot tests. Beware: This can be inconsistent!
- You need libsdl installed
Updated: February 28, 2009
Contact: gizmo / dhs.nu
|
|