|
|
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.3 root 12: - Improve disk image formats support:
1.1.1.6 root 13: - Add support for .STT images
14: (created with the STEEM disk image program)
15: - Add support for Pasti .STX images
16: (See http://pasti.fxatari.com/)
17: - Support .DIM images created with the "Get sectors: used" option
1.1 root 18:
1.1.1.8 root 19: - Real HD 6301 (keyboard processor of the ST) emulation.
1.1.1.4 root 20: (Current special casing is enough for all known demos using 6301)
1.1 root 21:
1.1.1.8 root 22: - Finish upgrading the CPU core of Hatari to the latest WinUAE
23: which has better cycle accuracy needed by some programs:
24: - Integrate MMU emulation
25: - Add Exception debugging support
26: - Instead of calling Reset_Cold()/m68k_reset()/uae_reset()
27: directly from newcpu.c, show user a notice (dialog)
28: about what happened and let user do the reboot
29: (see "Emulation reset, old-UAE vs. WinAUE core" mail-thread)
30: - Update WinUAE core to its latest (a year newer) version
31: - Fix & document cmdline options for selecting prefetch etc
32: - GUI options for above
1.1 root 33:
34: - Get the games/demos working that are marked as non-working in the manual.
35:
1.1.1.6 root 36: - Improve TT and/or Falcon emulation, especially VIDEL
1.1.1.4 root 37:
1.1.1.8 root 38: - TT/FastRAM support as some demos need >14MB
39:
1.1.1.5 root 40: - Add SCSI hard disk emulation for Falcon/TT mode.
1.1.1.4 root 41:
1.1.1.6 root 42: - ACSI emulation seems to be broken in TT mode.
43:
1.1.1.4 root 44: - Add SCC serial port emulation for Falcon/TT mode.
45:
1.1.1.8 root 46: - Some Falcon games/demos only work with 32 MHz CPU emulation.
47: (might be due to timings problems (videl, DMA, cpu cycles, dsp cycles, ...))
1.1.1.6 root 48:
1.1.1.7 root 49: - Fix falcon sound quality (sound is sometimes noisy)
1.1.1.8 root 50: Sound is also toggling between nice to noise with some demos.
1.1.1.6 root 51:
1.1.1.7 root 52: - Improve STE Microwire/LMC1992 emulation.
1.1.1.6 root 53:
1.1.1.8 root 54: - DSP emulation / Falcon sound matrix:
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.9 ! root 58: - The "memvalid" system variables currently have to be patched in most cases.
! 59: For improved compatibility (e.g. the game "Yolanda") it would be better to
! 60: skip this step, but we then run into multiple other problems, see:
! 61: http://listengine.tuxfamily.org/lists.tuxfamily.org/hatari-devel/2011/12/msg00123.html
! 62:
! 63:
! 64: Programs known as not fully functionnal (not an exhaustive list)
! 65: ----------------------------------------------------------------
! 66:
! 67: Demos :
! 68: - video : Omega - Full Overscan Screen, Phalanx Demo - Dragon,
! 69: Dragonnels - Happy Island, Phaleon Demo - Future Minds,
! 70: Decade Demo - Reset, TNT - Death Of The Left Border,
! 71: Anomaly Demo - Menu, Delirious Demo IV - STE Detection,
! 72: Ventura - Ultimate Dist, Syntax Terror - TCB, ICE - Kryos,
! 73: ICE - Intruding, ICE - Jamcols, Extreme Rage, Paradox - XMas 2004,
! 74: ICE - Space Tale, ICE - The Wave Of The Future, Snork - DNT Screen 1
! 75: - cpu/timers : Pandemonium Demos - Mega 3D, Audio Art, UMD Intro
! 76: - ikbd : Dragonnels - Unlimited Bobs
! 77:
! 78: Games :
! 79: - cpu/timers : FOF 42 - Subbuteo, Bolo, Final Conflict, The Ultimate Ride,
! 80: Treasure Trap
! 81: - ikbd : F29, Superior 109 - Special Forces, Warlock's Quest
! 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.8 root 93: - Preliminary debugger work for the other features + cleanup:
94: - Eval_Number() could take DSP/CPU flag like Eval_Range()
95: does so that all commands taking numeric args can accept
96: also symbol, variable & register names
97: - Skip & tell user to rename any of the loaded symbols that
98: have same name as internal Hatari variables
1.1.1.9 ! root 99: - Change "" for expressions to {} so that quotes can
1.1.1.8 root 100: be used for e.g. search strings?
101:
102: - Steem emulator debugging features missing from Hatari debugger.
103: These should be straightforward to implement:
1.1.1.9 ! root 104: - Breakpoints on interrupts
1.1.1.8 root 105: - Breaking on exceptions 2-8 vs. bombs vs. don't break.
106: Hatari has only an option to break on address & bus errors
107: & uninitialized exception handler.
108: - Showing values both in different lengts and numeric bases.
109: (In Hatari one gets latter with "evaluate" command, e.g. "e a0",
110: but that doesn't show the value as it were long/word/byte)
111: - All register values being shown with above info
112: (= Steem Register monitor)
113: - info commands for PSG, MFP, FDC and IKBD register values
114: (= Steem monitors for these)
115: - Info command for "timings" i.e. cycles since HBL/VBL,
116: timer values, video address & scanline
117: (= Steem Timings view)
118: - memory dump in text format
119: (= Steem Text monitor)
120: - Stack content display: m "a7-$40"-"a7"
121: (= Steem Stack display)
122: - Text string and binary values (hex) search
123: (= widgets in Steem monitor windows)
124: - Disasm format options being changable at run-time
125: (= Steem options)
126: - Run for N cycles
127: (Hatari continue command accepts only instructions, not cycles)
128: These are more complicated ones:
129: - Monitoring reads & writes to specific address. Hatari supports
130: only monitoring changes to values, not having breakpoints of
131: reading values or writing the same value. Slow
132: - Showing breakpoints in instruction dumps. Hatari breakpoints
133: are more advanced than the trivial address breakpoints, so
134: this would require adding efficient support for plain PC
135: based breakpoints
136: - Adding new symbol names for arbitrary addresses one at the time.
137: Hatari debugger currently requires new symbols to be added to
138: a file containing all the symbols + reloading that file
139: - Memory dump that shows also disassembly and values
140: in different bases
141: (= Steem Memory monitor)
142: Basic GUI debugger features:
143: - Ability to open as many dump/info windows as wanted
144: (hex/asm/mfp/video/sound/...) and have those content
145: refreshed each time emulation is stopped.
146: - A stop/run button and a debugger "step" button
147: - Possibility to click to an address on dump window to define
148: a simple PC breakpoint (or monitor memory on B/W/L accesses)
149: - A way to search for hex/text in Hatari's RAM.
150:
151: (See "Steem debugger features not in Hatari debugger"
152: hatari-devel mail thread for more info.)
153:
154: - MonST debugger features missing from Hatari debugger
155: (ones not mentioned in Steem features):
156: - Address breakpoints can have conditions that are evaluated
157: only on that address
158: - Marking breakpoint types in disassembly (<count> for counted
159: ones, ? for conditional ones, * for others)
1.1.1.7 root 160: - Shortcut command for telling to run until given
161: (temporary) conditional breakpoint is hit
162: - Running until code returns from ROM (exiting from super mode?)
163: - Single stepping that skips Traps, Line-A, Line-F. And one that
1.1.1.8 root 164: skips also BSRs and JSRs. Run until RTS/RTE command
165: - Saving full machine status (like registers) to history buffer
166: each time debugger is entered (exception or breakpoint is hit)
167: and viewing of that history
1.1.1.7 root 168: - SP & SSP as CPU register names (active & supervisor stack)
169: - Fill and copy memory command
1.1.1.8 root 170: - Search for an address which disassembly output matches
171: given instruction substring
172: - User variables which values can be set & used in expressions
1.1.1.6 root 173:
174: - Improved screen handling:
175: - Direct 16-bit & 32-bit support for monochrome and VDI modes
176: (currently they're converted through 8-bit surface)
177: - Line based screen change detection/checks:
178: - blit only changed lines
179: - simpler / faster (LED) overlay handling
180: - x3 and x4 zooming routines for ST-Low resolution
181: - Include some fancy zooming routines like 2xSaI or Super-Eagle
182: - Add support for hardware accelerated zooming with
183: SDL YUV overlays or OpenGL
184:
1.1.1.7 root 185: - Check/clean RS232 code:
186: - polls at 2/20ms intervals and reads data byte at the time.
187: SDL_Delay()s & fgetc() could be replaced (at least on unix)
188: with select() and fread(). Or just remove the rs232 thread
189: and use an interrupt for it...
190: - The commented out rs232 stuff could be removed from gemdos.c
191: (RS emulation is done at HW, not Gemdos level).
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: - When playing Tautology 2 I noticed the mod player sound goes in and out of
! 209: sync. fading into crackle and back. (Using Hatari 1.4 with TOS 4.04 on Mac
! 210: OS X 10.6.5)
! 211: http://developer.berlios.de/bugs/?func=detailbug&bug_id=17781&group_id=10436
! 212:
! 213: - Problem: On real Falcon there is a minor feature in videl. You can simply
! 214: fade whole screen to black, if you just clear the Horizontal Border End
! 215: ($ffff8286) and start fading colors from 0 to 255 to $ffff9800 or vice versa.
! 216: test <put picture to screen>
! 217: move.w #255-1,d7
! 218: moveq #0,d6
! 219: .loop <vsync, stop#$2300>
! 220: clr.w $ffff8286.w
! 221: move.l d6,$ffff9800.w
! 222: addq.l #1,d6
! 223: dbf d7,.loop
! 224: Now it does this exactly opposite direction, it fades bgcolor from 0 to 255.
! 225: http://developer.berlios.de/bugs/?func=detailbug&bug_id=18002&group_id=10436
! 226:
! 227: - To compare my real Falcon with Hatari on my Windows 7 PC, I make some short
! 228: benchmarks with Kronos. The disk benchmark in Kronos runs in 1-2 minutes on
! 229: my real Falcon. The same disk benchmark in Kronos under Hatari 1.5 runs any
! 230: longer than 20 minutes. Only when I use the AltGr + X option, before the
! 231: benchmark runs, then the disk benchmark in kronos is comparable fast as my
! 232: 16MHz Falcon.
! 233: http://developer.berlios.de/bugs/?func=detailbug&bug_id=18298&group_id=10436
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.