|
|
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.14 root 12: - Add fastload program header flag support to GEMDOS HD emulation
13: (If PF_FASTLOAD flag is set, clear just BSS, not heap)
14:
1.1.1.16 root 15: - Investigate what TOS version/functionality doesn't work for
1.1.1.14 root 16: programs started from the DESKTOP/NEWDESK.INF and why, e.g:
1.1.1.11 root 17: - Printing doesn't work with TOS versions v1.02 - v2.06
1.1.1.16 root 18: - Key & mouse button input gives blitter register access
19: bus errors after exiting autostarted program with
20: TOS v2.x on ST machine (no problem on STE)
1.1.1.12 root 21: - Colors in 2-plane VDI resolution are not set correctly
1.1.1.16 root 22: - Fun's "Men at War" Falcon game background color is wrong
23: - RG: "Falcon Sworm" & "Sky Fall" games and "Snowtro" intro
24: want to access A: & B: when autostarted
25: - Hextracker v0.849 freezes waiting Falcon
26: VideoAddressCounter change
1.1.1.11 root 27: Document that in manual (page) for the Hatari "autorun" feature.
28:
29: - Keyboard detection sometimes fails when --fast-forward is enabled
30: while TOS boots / game is loaded (e.g. Falcon Snake game packed
31: with Sentry).
32:
1.1.1.3 root 33: - Improve disk image formats support:
1.1.1.6 root 34: - Support .DIM images created with the "Get sectors: used" option
1.1 root 35:
1.1.1.8 root 36: - Real HD 6301 (keyboard processor of the ST) emulation.
1.1.1.4 root 37: (Current special casing is enough for all known demos using 6301)
1.1 root 38:
39: - Get the games/demos working that are marked as non-working in the manual.
40:
1.1.1.11 root 41: - Improve TT and/or Falcon emulation, especially VIDEL, e.g:
42: - Palette switching during screen drawing
1.1.1.17! root 43: - Real Videl render offset and vertical frequency counters emulation
! 44: (currently they're incremented so that programs checking them
! 45: don't get stuck, but values aren't quite correct yet)
1.1.1.15 root 46: - Video timings for the Falcon Videl chip (60Hz support):
47: https://listengine.tuxfamily.org/lists.tuxfamily.org/hatari-devel/2016/07/msg00013.html
1.1.1.11 root 48: - ST screen modes centering when Videl borders are enabled
1.1.1.4 root 49:
1.1.1.5 root 50: - Add SCSI hard disk emulation for Falcon/TT mode.
1.1.1.4 root 51:
52: - Add SCC serial port emulation for Falcon/TT mode.
53:
1.1.1.17! root 54: - Last DSP emulation / Falcon sound matrix items:
1.1.1.7 root 55: - Dsp SSI internal clock (is it used on falcon ?)
1.1.1.8 root 56: - Verify DSP instructions cycle count, especially with external RAM
1.1.1.6 root 57:
1.1.1.12 root 58: - FPU 80-bit precision mode (selected with FPUCW instruction, and
59: extra instructions on 040), if there are programs depending on it.
60: UAE core implements only support for 64-bit precision. See "m68k
61: FPU precision issue" thread on debian-68k mailing list for details.
62:
1.1.1.17! root 63: - Beam Racing Algorithm for lagless VSYNC ON. WinUAE implements it
! 64: with DirectX:
! 65: https://github.com/tonioni/WinUAE/issues/133
1.1.1.9 root 66:
67:
1.1.1.10 root 68: Programs known as not fully functional (not an exhaustive list)
69: ---------------------------------------------------------------
1.1.1.9 root 70:
71: Demos :
72: - video : Omega - Full Overscan Screen, Phalanx Demo - Dragon,
73: Dragonnels - Happy Island, Phaleon Demo - Future Minds,
74: Decade Demo - Reset, TNT - Death Of The Left Border,
75: Anomaly Demo - Menu, Delirious Demo IV - STE Detection,
76: Ventura - Ultimate Dist, Syntax Terror - TCB, ICE - Kryos,
77: ICE - Intruding, ICE - Jamcols, Extreme Rage, Paradox - XMas 2004,
78: ICE - Space Tale, ICE - The Wave Of The Future, Snork - DNT Screen 1
79:
80: Games :
1.1.1.12 root 81: - ikbd : Superior 109 - Special Forces
1.1.1.9 root 82:
1.1.1.6 root 83:
84: Other potential Hatari functionality improvements
85: -------------------------------------------------
86:
1.1.1.7 root 87: - Improved boot drive & partition handling code:
88: - count partitions the same way in ACSI, IDE & GEMDOS
89: - move BootDrive stuff from floppy.c e.g. to tos.c where NumDrives is
90:
91: - Support harddisk write protection also for IDE & ACSI drives?
92:
1.1.1.12 root 93: - Fix GST symbol table detection in debugger & gst2ascii. Currently
94: it will just process whatever it thinks the symbol table to
95: contain (which output can mess the console). MiNT binaries can
96: contain GST symbol tables, so checking that isn't enough.
97:
1.1.1.8 root 98: - Preliminary debugger work for the other features + cleanup:
99: - Eval_Number() could take DSP/CPU flag like Eval_Range()
100: does so that all commands taking numeric args can accept
101: also symbol, variable & register names
102: - Skip & tell user to rename any of the loaded symbols that
103: have same name as internal Hatari variables
1.1.1.9 root 104: - Change "" for expressions to {} so that quotes can
1.1.1.8 root 105: be used for e.g. search strings?
106:
1.1.1.11 root 107: - While Hatari debugger has many features that Steem one doesn't have,
108: that also has debugging features missing from the Hatari debugger.
109:
110: These ones should be straightforward to implement:
1.1.1.9 root 111: - Breakpoints on interrupts
1.1.1.12 root 112: - Showing values both in different lengths and numeric bases.
1.1.1.8 root 113: (In Hatari one gets latter with "evaluate" command, e.g. "e a0",
1.1.1.12 root 114: and showing the value as long/word/byte requires ANDing it)
1.1.1.8 root 115: - All register values being shown with above info
116: (= Steem Register monitor)
117: - info commands for PSG, MFP, FDC and IKBD register values
118: (= Steem monitors for these)
1.1.1.11 root 119: - Info command for "timings" i.e. cycles since HBL/VBL,
1.1.1.8 root 120: timer values, video address & scanline
121: (= Steem Timings view)
122: - memory dump in text format
123: (= Steem Text monitor)
124: - Stack content display: m "a7-$40"-"a7"
125: (= Steem Stack display)
126: - Text string and binary values (hex) search
127: (= widgets in Steem monitor windows)
128: - Run for N cycles
1.1.1.11 root 129: (Hatari 'continue' command accepts only instructions, not cycles)
130:
1.1.1.8 root 131: These are more complicated ones:
132: - Monitoring reads & writes to specific address. Hatari supports
1.1.1.15 root 133: only tracing changes to values, not having breakpoints on
1.1.1.8 root 134: reading values or writing the same value. Slow
135: - Showing breakpoints in instruction dumps. Hatari breakpoints
136: are more advanced than the trivial address breakpoints, so
1.1.1.17! root 137: this would require adding support also for plain PC based
! 138: breakpoints (currently 'address' command is translated to
! 139: a conditional breakpoint)
1.1.1.8 root 140: - Adding new symbol names for arbitrary addresses one at the time.
141: Hatari debugger currently requires new symbols to be added to
142: a file containing all the symbols + reloading that file
143: - Memory dump that shows also disassembly and values
144: in different bases
145: (= Steem Memory monitor)
1.1.1.11 root 146:
1.1.1.8 root 147: Basic GUI debugger features:
148: - Ability to open as many dump/info windows as wanted
1.1.1.11 root 149: (hex/asm/mfp/video/sound/...) and have their content
1.1.1.8 root 150: refreshed each time emulation is stopped.
151: - A stop/run button and a debugger "step" button
152: - Possibility to click to an address on dump window to define
153: a simple PC breakpoint (or monitor memory on B/W/L accesses)
154: - A way to search for hex/text in Hatari's RAM.
155:
156: (See "Steem debugger features not in Hatari debugger"
1.1.1.11 root 157: on BerliOS hatari-devel mail thread for more info.)
1.1.1.8 root 158:
159: - MonST debugger features missing from Hatari debugger
1.1.1.15 root 160: (ones not already mentioned in Steem feature list):
1.1.1.8 root 161: - Address breakpoints can have conditions that are evaluated
162: only on that address
163: - Marking breakpoint types in disassembly (<count> for counted
164: ones, ? for conditional ones, * for others)
1.1.1.7 root 165: - Shortcut command for telling to run until given
166: (temporary) conditional breakpoint is hit
167: - Running until code returns from ROM (exiting from super mode?)
168: - Single stepping that skips Traps, Line-A, Line-F. And one that
1.1.1.8 root 169: skips also BSRs and JSRs. Run until RTS/RTE command
170: - Saving full machine status (like registers) to history buffer
171: each time debugger is entered (exception or breakpoint is hit)
172: and viewing of that history
1.1.1.7 root 173: - SP & SSP as CPU register names (active & supervisor stack)
174: - Fill and copy memory command
1.1.1.8 root 175: - Search for an address which disassembly output matches
176: given instruction substring
177: - User variables which values can be set & used in expressions
1.1.1.6 root 178:
179: - Improved screen handling:
180: - Line based screen change detection/checks:
181: - blit only changed lines
182: - simpler / faster (LED) overlay handling
183: - x3 and x4 zooming routines for ST-Low resolution
1.1.1.17! root 184: (SDL2 scales to monitor size, so it can be blurry)
1.1.1.6 root 185: - Include some fancy zooming routines like 2xSaI or Super-Eagle
186:
1.1.1.7 root 187: - Check/clean RS232 code:
188: - polls at 2/20ms intervals and reads data byte at the time.
189: SDL_Delay()s & fgetc() could be replaced (at least on unix)
190: with select() and fread(). Or just remove the rs232 thread
191: and use an interrupt for it...
192:
193: - Improve directory handling:
194: - Currently screenshots & anim go always to current dir,
195: whereas memsave, sound recording, printer & midi & serial &
196: output and log output go to file specified in config file.
197: There should be support for setting also anim/screenshot
198: directory / file name from config file (needs change also
199: in screenSnapShot.c).
200: - By default the directory config values should be empty in
201: which case the code will at run-time decide to use current
202: directory, but not modify the path config setting.
1.1.1.9 root 203:
204:
205: Bug reports
206: -----------
207:
208: - Problem: On real Falcon there is a minor feature in videl. You can simply
209: fade whole screen to black, if you just clear the Horizontal Border End
210: ($ffff8286) and start fading colors from 0 to 255 to $ffff9800 or vice versa.
211: test <put picture to screen>
212: move.w #255-1,d7
213: moveq #0,d6
214: .loop <vsync, stop#$2300>
215: clr.w $ffff8286.w
216: move.l d6,$ffff9800.w
217: addq.l #1,d6
218: dbf d7,.loop
219: Now it does this exactly opposite direction, it fades bgcolor from 0 to 255.
220: http://developer.berlios.de/bugs/?func=detailbug&bug_id=18002&group_id=10436
221:
222: - To compare my real Falcon with Hatari on my Windows 7 PC, I make some short
223: benchmarks with Kronos. The disk benchmark in Kronos runs in 1-2 minutes on
1.1.1.10 root 224: my real Falcon. The same disk benchmark in Kronos under Hatari 1.5 runs
225: longer than 20 minutes with GEMDOS emulation. Only when I use the AltGr + X
226: option, before the benchmark runs, then the disk benchmark in kronos is
227: comparable fast as my 16MHz Falcon.
1.1.1.9 root 228: http://developer.berlios.de/bugs/?func=detailbug&bug_id=18298&group_id=10436
1.1.1.10 root 229:
230: -> Hatari GEMDOS emulation needs to do a lot of extra kernel file & directory
231: accesses which with current code seem unavoidable. They're a problem only
232: with test programs like Kronos, for those one should consider using
233: harddisk image files instead.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.