|
|
1.1 root 1:
1.1.1.4 root 2: Hatari TO-DO list
3: =================
1.1 root 4:
1.1.1.4 root 5: If you think that you can help with one of the TO-DO list items, please get
6: in touch with us.
1.1 root 7:
1.1.1.6 root 8:
1.1.1.4 root 9: Emulation improvements
10: ----------------------
1.1 root 11:
1.1.1.11! root 12: - Investigate what TOS version/functionality doesn't work for programs
! 13: started from the DESKTOP/NEWDESK.INF and why, e.g:
! 14: - Printing doesn't work with TOS versions v1.02 - v2.06
! 15: - Tony Benett: Virtual City demo bombs
! 16: - NoCrew: Aggressive Party 2 4k demo doesn't work
! 17: - Running 1997 shareware version doesn't work
! 18: Document that in manual (page) for the Hatari "autorun" feature.
! 19:
! 20: - Keyboard detection sometimes fails when --fast-forward is enabled
! 21: while TOS boots / game is loaded (e.g. Falcon Snake game packed
! 22: with Sentry).
! 23:
1.1.1.3 root 24: - Improve disk image formats support:
1.1.1.6 root 25: - Add support for .STT images
26: (created with the STEEM disk image program)
27: - Add support for Pasti .STX images
28: (See http://pasti.fxatari.com/)
29: - Support .DIM images created with the "Get sectors: used" option
1.1 root 30:
1.1.1.8 root 31: - Real HD 6301 (keyboard processor of the ST) emulation.
1.1.1.4 root 32: (Current special casing is enough for all known demos using 6301)
1.1 root 33:
1.1.1.8 root 34: - Finish upgrading the CPU core of Hatari to the latest WinUAE
35: which has better cycle accuracy needed by some programs:
36: - Integrate MMU emulation
37: - Add Exception debugging support
38: - Instead of calling Reset_Cold()/m68k_reset()/uae_reset()
39: directly from newcpu.c, show user a notice (dialog)
40: about what happened and let user do the reboot
1.1.1.11! root 41: (see "Emulation reset, old-UAE vs. WinUAE core" mail-thread)
1.1.1.8 root 42: - Update WinUAE core to its latest (a year newer) version
43: - Fix & document cmdline options for selecting prefetch etc
44: - GUI options for above
1.1 root 45:
46: - Get the games/demos working that are marked as non-working in the manual.
47:
1.1.1.11! root 48: - Improve TT and/or Falcon emulation, especially VIDEL, e.g:
! 49: - Palette switching during screen drawing
! 50: - ST screen modes centering when Videl borders are enabled
! 51:
! 52: - Hold & Sample and Hypermono modes for TT shifter:
! 53: http://listengine.tuxfamily.org/lists.tuxfamily.org/hatari-devel/2012/04/msg00030.html
1.1.1.4 root 54:
1.1.1.8 root 55: - TT/FastRAM support as some demos need >14MB
56:
1.1.1.5 root 57: - Add SCSI hard disk emulation for Falcon/TT mode.
1.1.1.4 root 58:
1.1.1.6 root 59: - ACSI emulation seems to be broken in TT mode.
60:
1.1.1.4 root 61: - Add SCC serial port emulation for Falcon/TT mode.
62:
1.1.1.10 root 63: - Disable VDI mode for TOS v4 as it doesn't support it (and VDI mode
64: is redundant as Falcon's Videl allows similar resolutions)
1.1.1.6 root 65:
1.1.1.11! root 66: - Fix falcon sound quality (sound is sometimes noisy).
1.1.1.8 root 67: Sound is also toggling between nice to noise with some demos.
1.1.1.6 root 68:
1.1.1.7 root 69: - Improve STE Microwire/LMC1992 emulation.
1.1.1.6 root 70:
1.1.1.8 root 71: - DSP emulation / Falcon sound matrix:
1.1.1.7 root 72: - Dsp SSI internal clock (is it used on falcon ?)
1.1.1.8 root 73: - Verify DSP instructions cycle count, especially with external RAM
1.1.1.6 root 74:
1.1.1.9 root 75: - The "memvalid" system variables currently have to be patched in most cases.
76: For improved compatibility (e.g. the game "Yolanda") it would be better to
77: skip this step, but we then run into multiple other problems, see:
78: http://listengine.tuxfamily.org/lists.tuxfamily.org/hatari-devel/2011/12/msg00123.html
79:
80:
1.1.1.10 root 81: Programs known as not fully functional (not an exhaustive list)
82: ---------------------------------------------------------------
1.1.1.9 root 83:
84: Demos :
85: - video : Omega - Full Overscan Screen, Phalanx Demo - Dragon,
86: Dragonnels - Happy Island, Phaleon Demo - Future Minds,
87: Decade Demo - Reset, TNT - Death Of The Left Border,
88: Anomaly Demo - Menu, Delirious Demo IV - STE Detection,
89: Ventura - Ultimate Dist, Syntax Terror - TCB, ICE - Kryos,
90: ICE - Intruding, ICE - Jamcols, Extreme Rage, Paradox - XMas 2004,
91: ICE - Space Tale, ICE - The Wave Of The Future, Snork - DNT Screen 1
92: - cpu/timers : Pandemonium Demos - Mega 3D, Audio Art, UMD Intro
93: - ikbd : Dragonnels - Unlimited Bobs
94:
95: Games :
96: - cpu/timers : FOF 42 - Subbuteo, Bolo, Final Conflict, The Ultimate Ride,
97: Treasure Trap
98: - ikbd : F29, Superior 109 - Special Forces, Warlock's Quest
99:
1.1.1.6 root 100:
101: Other potential Hatari functionality improvements
102: -------------------------------------------------
103:
1.1.1.11! root 104: - Profile data causes symbol tracing to output line for every
! 105: instruction. This can be fixed by moving profiling information
! 106: output to disassembly code, this way disassembly + profiling info
! 107: can also be made more readable
! 108:
1.1.1.7 root 109: - Improved boot drive & partition handling code:
110: - count partitions the same way in ACSI, IDE & GEMDOS
111: - move BootDrive stuff from floppy.c e.g. to tos.c where NumDrives is
112:
113: - Support harddisk write protection also for IDE & ACSI drives?
114:
1.1.1.8 root 115: - Preliminary debugger work for the other features + cleanup:
116: - Eval_Number() could take DSP/CPU flag like Eval_Range()
117: does so that all commands taking numeric args can accept
118: also symbol, variable & register names
119: - Skip & tell user to rename any of the loaded symbols that
120: have same name as internal Hatari variables
1.1.1.9 root 121: - Change "" for expressions to {} so that quotes can
1.1.1.8 root 122: be used for e.g. search strings?
123:
1.1.1.11! root 124: - While Hatari debugger has many features that Steem one doesn't have,
! 125: that also has debugging features missing from the Hatari debugger.
! 126:
! 127: These ones should be straightforward to implement:
1.1.1.9 root 128: - Breakpoints on interrupts
1.1.1.8 root 129: - Breaking on exceptions 2-8 vs. bombs vs. don't break.
130: Hatari has only an option to break on address & bus errors
131: & uninitialized exception handler.
132: - Showing values both in different lengts and numeric bases.
133: (In Hatari one gets latter with "evaluate" command, e.g. "e a0",
134: but that doesn't show the value as it were long/word/byte)
135: - All register values being shown with above info
136: (= Steem Register monitor)
137: - info commands for PSG, MFP, FDC and IKBD register values
138: (= Steem monitors for these)
1.1.1.11! root 139: - Info command for "timings" i.e. cycles since HBL/VBL,
1.1.1.8 root 140: timer values, video address & scanline
141: (= Steem Timings view)
142: - memory dump in text format
143: (= Steem Text monitor)
144: - Stack content display: m "a7-$40"-"a7"
145: (= Steem Stack display)
146: - Text string and binary values (hex) search
147: (= widgets in Steem monitor windows)
148: - Disasm format options being changable at run-time
149: (= Steem options)
150: - Run for N cycles
1.1.1.11! root 151: (Hatari 'continue' command accepts only instructions, not cycles)
! 152:
1.1.1.8 root 153: These are more complicated ones:
154: - Monitoring reads & writes to specific address. Hatari supports
1.1.1.11! root 155: only tracing changes to values, not having breakpoints of
1.1.1.8 root 156: reading values or writing the same value. Slow
157: - Showing breakpoints in instruction dumps. Hatari breakpoints
158: are more advanced than the trivial address breakpoints, so
159: this would require adding efficient support for plain PC
160: based breakpoints
161: - Adding new symbol names for arbitrary addresses one at the time.
162: Hatari debugger currently requires new symbols to be added to
163: a file containing all the symbols + reloading that file
164: - Memory dump that shows also disassembly and values
165: in different bases
166: (= Steem Memory monitor)
1.1.1.11! root 167:
1.1.1.8 root 168: Basic GUI debugger features:
169: - Ability to open as many dump/info windows as wanted
1.1.1.11! root 170: (hex/asm/mfp/video/sound/...) and have their content
1.1.1.8 root 171: refreshed each time emulation is stopped.
172: - A stop/run button and a debugger "step" button
173: - Possibility to click to an address on dump window to define
174: a simple PC breakpoint (or monitor memory on B/W/L accesses)
175: - A way to search for hex/text in Hatari's RAM.
176:
177: (See "Steem debugger features not in Hatari debugger"
1.1.1.11! root 178: on BerliOS hatari-devel mail thread for more info.)
1.1.1.8 root 179:
180: - MonST debugger features missing from Hatari debugger
181: (ones not mentioned in Steem features):
182: - Address breakpoints can have conditions that are evaluated
183: only on that address
184: - Marking breakpoint types in disassembly (<count> for counted
185: ones, ? for conditional ones, * for others)
1.1.1.7 root 186: - Shortcut command for telling to run until given
187: (temporary) conditional breakpoint is hit
188: - Running until code returns from ROM (exiting from super mode?)
189: - Single stepping that skips Traps, Line-A, Line-F. And one that
1.1.1.8 root 190: skips also BSRs and JSRs. Run until RTS/RTE command
191: - Saving full machine status (like registers) to history buffer
192: each time debugger is entered (exception or breakpoint is hit)
193: and viewing of that history
1.1.1.7 root 194: - SP & SSP as CPU register names (active & supervisor stack)
195: - Fill and copy memory command
1.1.1.8 root 196: - Search for an address which disassembly output matches
197: given instruction substring
198: - User variables which values can be set & used in expressions
1.1.1.6 root 199:
200: - Improved screen handling:
201: - Direct 16-bit & 32-bit support for monochrome and VDI modes
202: (currently they're converted through 8-bit surface)
203: - Line based screen change detection/checks:
204: - blit only changed lines
205: - simpler / faster (LED) overlay handling
206: - x3 and x4 zooming routines for ST-Low resolution
207: - Include some fancy zooming routines like 2xSaI or Super-Eagle
208: - Add support for hardware accelerated zooming with
209: SDL YUV overlays or OpenGL
210:
1.1.1.7 root 211: - Check/clean RS232 code:
212: - polls at 2/20ms intervals and reads data byte at the time.
213: SDL_Delay()s & fgetc() could be replaced (at least on unix)
214: with select() and fread(). Or just remove the rs232 thread
215: and use an interrupt for it...
216: - The commented out rs232 stuff could be removed from gemdos.c
217: (RS emulation is done at HW, not Gemdos level).
218:
219: - Improve directory handling:
220: - Currently screenshots & anim go always to current dir,
221: whereas memsave, sound recording, printer & midi & serial &
222: output and log output go to file specified in config file.
223: There should be support for setting also anim/screenshot
224: directory / file name from config file (needs change also
225: in screenSnapShot.c).
226: - By default the directory config values should be empty in
227: which case the code will at run-time decide to use current
228: directory, but not modify the path config setting.
1.1.1.9 root 229:
230:
231: Bug reports
232: -----------
233:
1.1.1.11! root 234: - Atari programs can crash Hatari in Falcon mode because sound DMA code isn't robust
! 235: against bad register values:
! 236: http://listengine.tuxfamily.org/lists.tuxfamily.org/hatari-devel/2012/02/msg00082.html
! 237:
1.1.1.9 root 238: - When playing Tautology 2 I noticed the mod player sound goes in and out of
239: sync. fading into crackle and back. (Using Hatari 1.4 with TOS 4.04 on Mac
240: OS X 10.6.5)
241: http://developer.berlios.de/bugs/?func=detailbug&bug_id=17781&group_id=10436
242:
243: - Problem: On real Falcon there is a minor feature in videl. You can simply
244: fade whole screen to black, if you just clear the Horizontal Border End
245: ($ffff8286) and start fading colors from 0 to 255 to $ffff9800 or vice versa.
246: test <put picture to screen>
247: move.w #255-1,d7
248: moveq #0,d6
249: .loop <vsync, stop#$2300>
250: clr.w $ffff8286.w
251: move.l d6,$ffff9800.w
252: addq.l #1,d6
253: dbf d7,.loop
254: Now it does this exactly opposite direction, it fades bgcolor from 0 to 255.
255: http://developer.berlios.de/bugs/?func=detailbug&bug_id=18002&group_id=10436
256:
257: - To compare my real Falcon with Hatari on my Windows 7 PC, I make some short
258: benchmarks with Kronos. The disk benchmark in Kronos runs in 1-2 minutes on
1.1.1.10 root 259: my real Falcon. The same disk benchmark in Kronos under Hatari 1.5 runs
260: longer than 20 minutes with GEMDOS emulation. Only when I use the AltGr + X
261: option, before the benchmark runs, then the disk benchmark in kronos is
262: comparable fast as my 16MHz Falcon.
1.1.1.9 root 263: http://developer.berlios.de/bugs/?func=detailbug&bug_id=18298&group_id=10436
1.1.1.10 root 264:
265: -> Hatari GEMDOS emulation needs to do a lot of extra kernel file & directory
266: accesses which with current code seem unavoidable. They're a problem only
267: with test programs like Kronos, for those one should consider using
268: harddisk image files instead.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.