|
|
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:
12: - Improve FDC emulation (e.g. read-track and write-track commands do not work
13: right yet).
14:
1.1.1.3 root 15: - Improve disk image formats support:
1.1.1.6 root 16: - Add support for .STT images
17: (created with the STEEM disk image program)
18: - Add support for Pasti .STX images
19: (See http://pasti.fxatari.com/)
20: - Support .DIM images created with the "Get sectors: used" option
1.1 root 21:
1.1.1.8 ! root 22: - Real HD 6301 (keyboard processor of the ST) emulation.
1.1.1.4 root 23: (Current special casing is enough for all known demos using 6301)
1.1 root 24:
1.1.1.8 ! root 25: - Finish upgrading the CPU core of Hatari to the latest WinUAE
! 26: which has better cycle accuracy needed by some programs:
! 27: - Integrate MMU emulation
! 28: - Add Exception debugging support
! 29: - Instead of calling Reset_Cold()/m68k_reset()/uae_reset()
! 30: directly from newcpu.c, show user a notice (dialog)
! 31: about what happened and let user do the reboot
! 32: (see "Emulation reset, old-UAE vs. WinAUE core" mail-thread)
! 33: - Update WinUAE core to its latest (a year newer) version
! 34: - Fix & document cmdline options for selecting prefetch etc
! 35: - GUI options for above
1.1 root 36:
37: - Get the games/demos working that are marked as non-working in the manual.
38:
1.1.1.6 root 39: - Improve TT and/or Falcon emulation, especially VIDEL
1.1.1.4 root 40:
1.1.1.8 ! root 41: - TT/FastRAM support as some demos need >14MB
! 42:
1.1.1.5 root 43: - Add SCSI hard disk emulation for Falcon/TT mode.
1.1.1.4 root 44:
1.1.1.6 root 45: - ACSI emulation seems to be broken in TT mode.
46:
1.1.1.4 root 47: - Add SCC serial port emulation for Falcon/TT mode.
48:
1.1.1.8 ! root 49: - Some Falcon games/demos only work with 32 MHz CPU emulation.
! 50: (might be due to timings problems (videl, DMA, cpu cycles, dsp cycles, ...))
1.1.1.6 root 51:
1.1.1.7 root 52: - Fix falcon sound quality (sound is sometimes noisy)
1.1.1.8 ! root 53: Sound is also toggling between nice to noise with some demos.
1.1.1.6 root 54:
1.1.1.7 root 55: - Improve STE Microwire/LMC1992 emulation.
1.1.1.6 root 56:
1.1.1.8 ! root 57: - DSP emulation / Falcon sound matrix:
1.1.1.7 root 58: - Dsp SSI internal clock (is it used on falcon ?)
1.1.1.8 ! root 59: - Verify DSP instructions cycle count, especially with external RAM
1.1.1.6 root 60:
61:
62: Other potential Hatari functionality improvements
63: -------------------------------------------------
64:
1.1.1.7 root 65: - Improved boot drive & partition handling code:
66: - count partitions the same way in ACSI, IDE & GEMDOS
67: - move BootDrive stuff from floppy.c e.g. to tos.c where NumDrives is
68:
69: - Support harddisk write protection also for IDE & ACSI drives?
70:
1.1.1.8 ! root 71: - Preliminary debugger work for the other features + cleanup:
! 72: - All DebugUI invocations should give reason for it
! 73: (exception, breakpoint...)
! 74: - All parsing functions should return error code on error
! 75: - Eval_Number() could take DSP/CPU flag like Eval_Range()
! 76: does so that all commands taking numeric args can accept
! 77: also symbol, variable & register names
! 78: - Skip & tell user to rename any of the loaded symbols that
! 79: have same name as internal Hatari variables
! 80: - Change "" for expressions to {} so that quotes can
! 81: be used for e.g. search strings?
! 82:
! 83: - Steem emulator debugging features missing from Hatari debugger.
! 84: These should be straightforward to implement:
! 85: - Breakpoints on iterrupts
! 86: - Breaking on exceptions 2-8 vs. bombs vs. don't break.
! 87: Hatari has only an option to break on address & bus errors
! 88: & uninitialized exception handler.
! 89: - History of executed instructions and how many cycles they took
! 90: (= Steem History view & Trace info)
! 91: - Showing values both in different lengts and numeric bases.
! 92: (In Hatari one gets latter with "evaluate" command, e.g. "e a0",
! 93: but that doesn't show the value as it were long/word/byte)
! 94: - All register values being shown with above info
! 95: (= Steem Register monitor)
! 96: - info commands for PSG, MFP, FDC and IKBD register values
! 97: (= Steem monitors for these)
! 98: - Info command for "timings" i.e. cycles since HBL/VBL,
! 99: timer values, video address & scanline
! 100: (= Steem Timings view)
! 101: - memory dump in text format
! 102: (= Steem Text monitor)
! 103: - Stack content display: m "a7-$40"-"a7"
! 104: (= Steem Stack display)
! 105: - Text string and binary values (hex) search
! 106: (= widgets in Steem monitor windows)
! 107: - Disasm format options being changable at run-time
! 108: (= Steem options)
! 109: - Run for N cycles
! 110: (Hatari continue command accepts only instructions, not cycles)
! 111: These are more complicated ones:
! 112: - Monitoring reads & writes to specific address. Hatari supports
! 113: only monitoring changes to values, not having breakpoints of
! 114: reading values or writing the same value. Slow
! 115: - Showing breakpoints in instruction dumps. Hatari breakpoints
! 116: are more advanced than the trivial address breakpoints, so
! 117: this would require adding efficient support for plain PC
! 118: based breakpoints
! 119: - Adding new symbol names for arbitrary addresses one at the time.
! 120: Hatari debugger currently requires new symbols to be added to
! 121: a file containing all the symbols + reloading that file
! 122: - Memory dump that shows also disassembly and values
! 123: in different bases
! 124: (= Steem Memory monitor)
! 125: Basic GUI debugger features:
! 126: - Ability to open as many dump/info windows as wanted
! 127: (hex/asm/mfp/video/sound/...) and have those content
! 128: refreshed each time emulation is stopped.
! 129: - A stop/run button and a debugger "step" button
! 130: - Possibility to click to an address on dump window to define
! 131: a simple PC breakpoint (or monitor memory on B/W/L accesses)
! 132: - A way to search for hex/text in Hatari's RAM.
! 133:
! 134: (See "Steem debugger features not in Hatari debugger"
! 135: hatari-devel mail thread for more info.)
! 136:
! 137: - MonST debugger features missing from Hatari debugger
! 138: (ones not mentioned in Steem features):
! 139: - Address breakpoints can have conditions that are evaluated
! 140: only on that address
! 141: - Marking breakpoint types in disassembly (<count> for counted
! 142: ones, ? for conditional ones, * for others)
1.1.1.7 root 143: - Shortcut command for telling to run until given
144: (temporary) conditional breakpoint is hit
145: - Running until code returns from ROM (exiting from super mode?)
146: - Single stepping that skips Traps, Line-A, Line-F. And one that
1.1.1.8 ! root 147: skips also BSRs and JSRs. Run until RTS/RTE command
! 148: - Saving full machine status (like registers) to history buffer
! 149: each time debugger is entered (exception or breakpoint is hit)
! 150: and viewing of that history
1.1.1.7 root 151: - SP & SSP as CPU register names (active & supervisor stack)
152: - Fill and copy memory command
1.1.1.8 ! root 153: - Search for an address which disassembly output matches
! 154: given instruction substring
! 155: - User variables which values can be set & used in expressions
1.1.1.6 root 156:
157: - Improved screen handling:
158: - Direct 16-bit & 32-bit support for monochrome and VDI modes
159: (currently they're converted through 8-bit surface)
160: - Line based screen change detection/checks:
161: - blit only changed lines
162: - simpler / faster (LED) overlay handling
163: - x3 and x4 zooming routines for ST-Low resolution
164: - Include some fancy zooming routines like 2xSaI or Super-Eagle
165: - Add support for hardware accelerated zooming with
166: SDL YUV overlays or OpenGL
167:
1.1.1.7 root 168: - Check/clean RS232 code:
169: - polls at 2/20ms intervals and reads data byte at the time.
170: SDL_Delay()s & fgetc() could be replaced (at least on unix)
171: with select() and fread(). Or just remove the rs232 thread
172: and use an interrupt for it...
173: - The commented out rs232 stuff could be removed from gemdos.c
174: (RS emulation is done at HW, not Gemdos level).
175:
176: - Improve directory handling:
177: - Currently screenshots & anim go always to current dir,
178: whereas memsave, sound recording, printer & midi & serial &
179: output and log output go to file specified in config file.
180: There should be support for setting also anim/screenshot
181: directory / file name from config file (needs change also
182: in screenSnapShot.c).
183: - By default the directory config values should be empty in
184: which case the code will at run-time decide to use current
185: directory, but not modify the path config setting.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.