8bitworkshop/doc/notes.txt

136 lines
3.3 KiB
Plaintext

TODO:
- NaN in cycle count for macros
- debugging of scan line overflow
- confuse code/data in listing
- show memory locations hovering over lines
- don't check against ROM signatures
- better errors when ROM format wrong
- debugging inside of bank switching??? relocated segs?
- support 6502 test cases
- DASM: macro forward refs
- asm: support macro expansion
- support narrow screens
- case sensisitvity looking for mismatch variables
- remove pulldown when no preset?
- can't step after reset (or when funky frame; TIA frame is out of sync)
- break on BRK/illegal opcode?
- multiple breakpoints, expression breakpoints
- better disasm/listing selection
- disasm for z80
- watchpoints
- breakpoints
- debug inspector
- MAME single step (?)
- step over
- slowdown beam for all platforms?
- kbd shortcuts
- PC x86 support
- show errors in list (maybe window list?)
- can't see 1st line in editor sometimes (when scrolling cursor past bottom of screen)
- online help
- show self-modifying code insns left of editor
- facade/kbd shortcuts for emulators, focus
- update Javatari version? (and others?)
- unify versioning
- more UI tests
- base-36 encoding for LZG
- disassembler for uploaded ROMs
- show tool-specific (readonly) include files
- verilog debugging/reloading makes it slow
- remove FPS and play controls when Verilog scope paused
- compile stuck when errors unchanged
- sound mute?
- $error updates source editor
- Verilog compile spins forever?
- go to error in include files
- BOM in upload/download?
- stack view for Z80 platforms using memory map
- online tools for music etc
- tools (memory, disasm) use debugging state
- text log debugging script
- NES crt should mark raster pos when debugging
- make sure we don't store files in local storage unnecc.
- state buffer/replay
- intro/help text for each platform
- make sure controls work with replay feature (we'll have to save control state every frame)
- vscode/atom extension?
- navigator.getGamepads
FYI: Image links for the books on http://8bitworkshop.com/ are broken
On the website the additional grey spacing next to the program line numbers is not dynamically resized when the web browser window size is changed. Intentional?
WEB WORKER FORMAT
{code,platform,tool,dependencies}
{preload}
new:
{updates,buildsteps}
[{filepath,platform,tool}]
implicit rules
- push/shift build steps
- preprocessor, compile, assemble, link
- access to intermediate files
only build files that have changed
build options
BUILD PROJECT
local/foo.project/*.*
build all files in project
send update for dependencies at startup (single file version)
should be able to change file w/o reloading (Not platform tho)
pulldown selects file in project, or goes back to parent
gotta preserve editor windows for each one - window list
make source/disasm window visible when debugging
gutter info/errors in all files
UI REFACTOR
editor
debugger
disasm view
memory
profile
errors
separate into files
window methods:
- set
- mode
- get
- changes
- cursorActivity (inspect)
- gutters (setCompileOutput)
- current line / gutter marker (setCurrentLine / clearCurrentLine)
- source map
- global symbols
- pixel editor / find comment (openBitmapEditorAtCursor)
- update debug window (200 ms)
- inspect variable
file store mirrors that on worker
worker result:
{
output:<rom>
sources:{
<path>:{lines, asmlines, listing}
}
}
add file to errors