2016-12-16 01:21:51 +00:00
|
|
|
|
|
|
|
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
|
|
|
|
- DASM: macro forward refs
|
2018-07-21 01:04:39 +00:00
|
|
|
- asm: support macro expansion
|
2017-01-07 18:05:02 +00:00
|
|
|
- multiple breakpoints, expression breakpoints
|
2018-06-25 04:52:40 +00:00
|
|
|
- watchpoints
|
2019-03-14 15:20:50 +00:00
|
|
|
- debug inspector for variables
|
2018-06-25 04:52:40 +00:00
|
|
|
- MAME single step (?)
|
2018-12-05 13:33:40 +00:00
|
|
|
- step over (line, instruction)
|
2018-06-25 04:52:40 +00:00
|
|
|
- slowdown beam for all platforms?
|
2018-06-26 23:57:03 +00:00
|
|
|
- PC x86 support
|
2019-07-13 18:31:10 +00:00
|
|
|
- https://bellard.org/tcc/
|
2018-07-07 05:09:15 +00:00
|
|
|
- show errors in list (maybe window list?)
|
2019-06-07 20:26:57 +00:00
|
|
|
- click to go to error
|
|
|
|
- what if error in include file you can't edit b/c it never appears?
|
2018-06-30 14:26:41 +00:00
|
|
|
- online help
|
2018-07-02 13:34:20 +00:00
|
|
|
- show self-modifying code insns left of editor
|
2018-07-04 02:14:07 +00:00
|
|
|
- update Javatari version? (and others?)
|
2018-07-20 20:55:07 +00:00
|
|
|
- sound mute?
|
2018-07-24 15:38:56 +00:00
|
|
|
- $error updates source editor
|
2018-08-17 02:45:59 +00:00
|
|
|
- online tools for music etc
|
2018-08-19 23:25:42 +00:00
|
|
|
- text log debugging script
|
2019-03-14 15:20:50 +00:00
|
|
|
- intro/help text for each platform
|
2018-08-23 12:49:14 +00:00
|
|
|
- vscode/atom extension?
|
2018-08-29 17:43:46 +00:00
|
|
|
- click to break on raster position
|
2018-09-15 22:47:40 +00:00
|
|
|
- restructure src/ folders
|
2018-09-13 00:54:25 +00:00
|
|
|
- debug bankswitching for funky formats
|
|
|
|
- spaces in filename don't parse code listing (DASM, maybe more)
|
2018-09-14 13:10:41 +00:00
|
|
|
- 'undefined' for bitmap replacer
|
|
|
|
- requestInterrupt needs to be disabled after breakpoint?
|
2019-08-15 01:31:38 +00:00
|
|
|
- C/asm source formatter
|
2018-09-24 14:18:08 +00:00
|
|
|
- fix WebAudio (https://news.ycombinator.com/item?id=18066474)
|
2018-10-02 13:44:34 +00:00
|
|
|
- allow download of JSASM output
|
2019-05-02 03:33:49 +00:00
|
|
|
- update bootstrap to 4.0
|
2018-11-26 21:14:23 +00:00
|
|
|
- batariBasic: proper line numbers, debugging
|
2018-11-21 17:54:59 +00:00
|
|
|
- granular control over time scrubbing, show CPU state
|
2019-06-02 00:02:50 +00:00
|
|
|
- builds:
|
2019-08-19 14:24:22 +00:00
|
|
|
- compiler flags for final ROM build
|
|
|
|
- workermain: split build functions, better msg types
|
2019-06-02 00:02:50 +00:00
|
|
|
- what if >1 file with same name? (local/nonlocal/directory)
|
|
|
|
- what if .c and .s names collide?
|
|
|
|
- maybe put stuff in examples/ dir?
|
|
|
|
- error msg when #link doesn't work
|
2019-06-02 14:53:39 +00:00
|
|
|
- warning when ROM too big
|
2019-08-19 14:24:22 +00:00
|
|
|
- detect "libcv.h" and include library automagically?
|
2019-06-02 14:53:39 +00:00
|
|
|
- sdcc:
|
|
|
|
- can't link asm files before c files (e.g. acheader.s must be last)
|
|
|
|
- figure out area names ordering
|
2019-06-03 14:08:29 +00:00
|
|
|
- debug inline asm
|
2018-11-27 22:37:45 +00:00
|
|
|
- live coding URL
|
2019-08-15 01:31:38 +00:00
|
|
|
- resize memory browser, other windows when vertical div resize
|
|
|
|
- preroll the Z80 emulator so optimizer does its thing before loading rom
|
2018-12-03 15:51:47 +00:00
|
|
|
- wasm dynamic linking of emulators (https://github.com/WebAssembly/tool-conventions/blob/master/DynamicLinking.md)
|
2018-12-08 00:28:11 +00:00
|
|
|
- https://github.com/jvilk/BrowserFS
|
2018-12-30 18:57:33 +00:00
|
|
|
- markdown, verilog: can't share
|
2018-12-17 22:52:26 +00:00
|
|
|
- https://www.crowdsupply.com/tinyfpga/tinyfpga-bx
|
2019-01-27 19:47:03 +00:00
|
|
|
- stego shareable images (http://pico-8.wikia.com/wiki/P8PNGFileFormat)
|
|
|
|
- https://makecode.com/language?
|
2019-02-09 15:26:45 +00:00
|
|
|
- open ROM from URL?
|
2019-03-04 14:35:33 +00:00
|
|
|
- game starts even if switched away before first load
|
2019-03-16 00:34:17 +00:00
|
|
|
- it's pretty easy to add a new file named like a library file (bcd.c)
|
2019-05-04 00:13:08 +00:00
|
|
|
- or have neslib.h in a subdirectory...
|
2019-03-17 02:02:35 +00:00
|
|
|
- put globals into view/controller objects
|
2019-03-20 18:10:50 +00:00
|
|
|
- upload binary files doesn't do what's expected, changing pulldown and whatnot
|
2019-08-15 01:31:38 +00:00
|
|
|
- autostart audio
|
|
|
|
- chrome: https://github.com/processing/p5.js-sound/issues/249
|
|
|
|
- firefox: https://support.mozilla.org/en-US/kb/block-autoplay
|
|
|
|
- touch support
|
2019-03-20 18:10:50 +00:00
|
|
|
- better undo/diff for mistakes?
|
2019-03-21 00:45:03 +00:00
|
|
|
- ide bug/feature visualizer for sponsors
|
2019-03-22 14:51:41 +00:00
|
|
|
- global undo/redo at checkpoints (when rom changes)
|
2019-03-23 00:26:47 +00:00
|
|
|
- landscape mode for arcade ports
|
2019-05-22 22:02:00 +00:00
|
|
|
- symmetric load/save state types
|
2019-03-26 00:39:53 +00:00
|
|
|
- pixel editor
|
2019-03-27 20:19:16 +00:00
|
|
|
- persist palette/tilemap selections
|
2019-03-26 00:39:53 +00:00
|
|
|
- more tools for editing
|
|
|
|
- map editor
|
2019-05-15 03:32:19 +00:00
|
|
|
- arbitrary nametable editing
|
2019-03-26 00:39:53 +00:00
|
|
|
- metasprites
|
|
|
|
- throw errors when bad/no refs
|
2019-03-27 13:02:01 +00:00
|
|
|
- per-View keyboard shortcuts
|
2019-04-02 12:33:13 +00:00
|
|
|
- parse labels
|
2019-04-24 17:46:19 +00:00
|
|
|
- parse .incbin directives?
|
2019-04-26 19:38:34 +00:00
|
|
|
- can't replace in hex directives
|
2019-05-15 03:32:19 +00:00
|
|
|
- should maybe use same single-canvas editor for map + char editor
|
2019-06-08 16:01:22 +00:00
|
|
|
- undo doesn't refresh editor
|
2019-06-13 03:26:16 +00:00
|
|
|
- editing sometimes messes up cursor movement (CURBS)
|
2019-04-04 02:23:58 +00:00
|
|
|
- crt0.s compiled each time?
|
|
|
|
- debug highlight doesn't go away when debugging -> running
|
2019-04-07 16:33:01 +00:00
|
|
|
- show breakpoint of PC or highest address on stack
|
|
|
|
- can we highlight line instead of select?
|
2019-06-07 20:26:57 +00:00
|
|
|
- profiler
|
2019-06-13 03:26:16 +00:00
|
|
|
- profiler restarts emulator when paused
|
2019-06-07 20:26:57 +00:00
|
|
|
- running profiler while replaying? grand unified replay?
|
|
|
|
- click on profiler to step to position
|
|
|
|
- breakpoints stop profiler from running
|
|
|
|
- single-screen profiler
|
2019-06-09 15:13:25 +00:00
|
|
|
- hide labels that aren't available, like BIOS addrs
|
|
|
|
- show interrupts, other events
|
2019-06-13 03:26:16 +00:00
|
|
|
- sometimes interleaves two different PCs? like two profilers running simultaneously?
|
|
|
|
- ah, symbols persist across builds
|
2019-04-22 17:32:34 +00:00
|
|
|
- https://remotestoragejs.readthedocs.io/en/latest/getting-started/how-to-add.html ?
|
|
|
|
- Verilog
|
|
|
|
- larger scope range, better scrolling
|
2019-05-02 03:33:49 +00:00
|
|
|
- make scope data wrap around range
|
2019-04-22 17:32:34 +00:00
|
|
|
- remove FPS and play controls when Verilog scope paused
|
|
|
|
- when paused scope doesn't work
|
2019-05-02 03:33:49 +00:00
|
|
|
- Safari: scope doesn't show while CRT in use (sometimes Firefox too)
|
2019-04-22 17:32:34 +00:00
|
|
|
- verilog debugging/reloading makes it slow
|
|
|
|
- why loadState() on verilog kill perf?
|
|
|
|
- quantify verilog "graph iterations"
|
2019-05-02 03:33:49 +00:00
|
|
|
- toolbar overlaps scope
|
2019-04-22 17:32:34 +00:00
|
|
|
- CPU debugging
|
2019-05-07 19:37:37 +00:00
|
|
|
- use $readmem for inline asm programs?
|
2019-05-21 17:06:48 +00:00
|
|
|
- can't add control instructions b/c of split
|
2019-04-24 20:56:53 +00:00
|
|
|
- single-stepping vector games makes screen fade
|
2019-06-07 20:26:57 +00:00
|
|
|
- break on stack overflow, illegal op, bad access, BRK, etc
|
2019-05-11 13:54:09 +00:00
|
|
|
- nes
|
|
|
|
- replay doesn't work for nes (force background tile redraw)
|
|
|
|
- nes debug view toolbar
|
|
|
|
- support NES_HEADER_16K?
|
2019-05-22 21:03:56 +00:00
|
|
|
- PPU/TIA register write visualization
|
2019-08-06 03:47:23 +00:00
|
|
|
- show cur/tmp vram addresses
|
2019-06-02 14:53:39 +00:00
|
|
|
- NES crt should mark raster pos when debugging
|
2019-08-02 03:10:31 +00:00
|
|
|
- OAMDMA in profiler? (haltCycles)
|
2019-08-16 01:25:08 +00:00
|
|
|
- ca65 skeleton
|
2019-08-21 14:42:32 +00:00
|
|
|
- neslib.cfg nesbanked.cfg ZP segment is C64-ish, should use $00-$FF
|
2019-07-20 01:50:53 +00:00
|
|
|
- JSNES
|
|
|
|
- doesn't support hiding >8 sprites
|
|
|
|
- doesn't do sprite zero test right
|
|
|
|
- doesn't do clip right
|
|
|
|
- doesn't do b/w tint
|
2019-05-11 19:31:09 +00:00
|
|
|
- vcs
|
|
|
|
- vcs sound continues when paused
|
|
|
|
- vcs: INPTx needs to be added to control state
|
|
|
|
- vcs: break on # of lines changed (maybe using getRasterPosition?)
|
|
|
|
- chrome looks blurry on vcs
|
2019-08-15 01:31:38 +00:00
|
|
|
- VCS asm game library
|
2019-06-07 20:26:57 +00:00
|
|
|
- VCS skips step on lsr/lsr after run to line
|
|
|
|
- better VCS single stepping, maybe also listings
|
2019-04-30 17:44:29 +00:00
|
|
|
- upload multiple files/zip file to subdirectory
|
|
|
|
- allow "include graphics.asm" instead of "include project/graphics.asm"
|
2019-05-08 13:39:57 +00:00
|
|
|
- convert more stuff to Promises
|
2019-05-10 18:28:09 +00:00
|
|
|
- target ES6
|
2019-05-06 01:49:08 +00:00
|
|
|
- don't have to include bootstrap-tourist each time?
|
2019-05-07 19:37:37 +00:00
|
|
|
- don't have to include firebase always?
|
2019-06-02 02:09:45 +00:00
|
|
|
- squelch error msgs?
|
2019-06-03 14:08:29 +00:00
|
|
|
- test offline? (if window.firebase)
|
2019-05-07 19:37:37 +00:00
|
|
|
- Github
|
2019-08-15 16:18:16 +00:00
|
|
|
- platform_id/repo.platform mismatch (can't leave repository)
|
2019-05-08 13:39:57 +00:00
|
|
|
- gh-pages branch with embedded
|
|
|
|
- handle overwrite logic
|
|
|
|
- what to do about included files?
|
2019-05-09 17:22:24 +00:00
|
|
|
- can published files retain path?
|
2019-05-09 12:44:47 +00:00
|
|
|
- what if import interrupted and partial files?
|
|
|
|
- CORS for some blobs?
|
|
|
|
- don't import useless files
|
2019-05-10 18:28:09 +00:00
|
|
|
- support projects with subdirectories, file list?
|
|
|
|
- emulator needs reset shortcut for nes
|
2019-05-10 19:55:32 +00:00
|
|
|
- switching platform of a repo?
|
2019-06-02 14:53:39 +00:00
|
|
|
- make sure to flatten subdirs
|
2019-06-09 15:13:25 +00:00
|
|
|
- astrocade
|
2019-08-05 15:15:26 +00:00
|
|
|
- keyboard shortcuts
|
|
|
|
- ctrl+alt+l on ubuntu locks screen
|
|
|
|
- alt-D doesn't work anymore
|
|
|
|
- facade/kbd shortcuts for emulators, focus
|
2019-07-06 18:41:15 +00:00
|
|
|
- cookie
|
|
|
|
- list of stuff for policy
|
|
|
|
- popup
|
2019-07-13 18:31:10 +00:00
|
|
|
- convert binary to hex stmts
|
2019-08-07 13:26:53 +00:00
|
|
|
- "suggestions" (vblank overrun, variable # scanlines, etc)
|
2019-08-11 14:23:56 +00:00
|
|
|
- SMS
|
|
|
|
- can't step back twice?
|
|
|
|
- compiler bug in chase
|
|
|
|
|
2019-07-06 18:41:15 +00:00
|
|
|
|
2018-06-25 04:52:40 +00:00
|
|
|
WEB WORKER FORMAT
|
|
|
|
|
|
|
|
{code,platform,tool,dependencies}
|
|
|
|
{preload}
|
|
|
|
|
|
|
|
new:
|
|
|
|
|
2018-07-04 15:36:32 +00:00
|
|
|
{updates,buildsteps}
|
2018-06-25 04:52:40 +00:00
|
|
|
[{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
|
2018-06-25 23:47:40 +00:00
|
|
|
|
|
|
|
|
2018-06-27 02:32:34 +00:00
|
|
|
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
|
2018-06-28 00:26:22 +00:00
|
|
|
errors
|
2018-06-27 02:32:34 +00:00
|
|
|
|
|
|
|
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)
|
2018-06-28 03:26:23 +00:00
|
|
|
- inspect variable
|
2018-06-27 02:32:34 +00:00
|
|
|
|
|
|
|
file store mirrors that on worker
|
2018-06-28 00:26:22 +00:00
|
|
|
|
|
|
|
worker result:
|
|
|
|
{
|
|
|
|
output:<rom>
|
|
|
|
sources:{
|
|
|
|
<path>:{lines, asmlines, listing}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
add file to errors
|
2018-11-12 12:38:02 +00:00
|
|
|
|
|
|
|
http://www.playvectrex.com/designit/chrissalo/vectordisplay.htm
|
|
|
|
http://oldies.malban.de/secondvectrex/index.htm
|
2018-12-07 15:03:01 +00:00
|
|
|
|
|
|
|
|
|
|
|
PIXEL EDITOR
|
|
|
|
|
|
|
|
everything is an editor
|
|
|
|
back/forward propogation
|
2018-12-07 22:24:27 +00:00
|
|
|
encoded <-> raw + spec + palette(s) <-> full tilemap <-> selected tile/sprite/metasprite
|
2019-02-05 03:53:50 +00:00
|
|
|
need references
|
|
|
|
panes: source code, metadata tree, graphics panes
|
|
|
|
decoded info:
|
|
|
|
- CHR tiles
|
|
|
|
- palettes
|
|
|
|
- maps/rooms
|
|
|
|
- metasprites
|
|
|
|
- metatiles
|
|
|
|
- sprite data (williams etc)
|
|
|
|
store in intermediate single file or embed in C/ASM?
|
|
|
|
we'd then have to generate C/ASM probably automatically
|
|
|
|
intermediate file could still be edited
|
|
|
|
switch between hex/graphic editor? (palettes should edit via hex)
|
|
|
|
final display types: number, color, sprite, etc
|
|
|
|
CHR editor has palette selector, obj selector
|
2019-02-09 15:26:45 +00:00
|
|
|
individual objects in single file or multiple files?
|
|
|
|
RLE compression
|
|
|
|
|
|
|
|
Types
|
|
|
|
- byte
|
|
|
|
- RGBA color
|
|
|
|
- structured object
|
|
|
|
- metasprite
|
|
|
|
- metatile
|
|
|
|
- level actor
|
|
|
|
- bitmap
|
|
|
|
- array of stuff, array can have a shape (width,height) like numpy
|
|
|
|
Mappers can refer to multiple objs
|
|
|
|
Slice (window) of array for selections
|
|
|
|
|
2019-03-17 02:02:35 +00:00
|
|
|
AssetEditorView
|
|
|
|
- scan files for assets
|
|
|
|
- build hierarchical view of assets
|
|
|
|
- expand/collapse
|
|
|
|
- create editor upon expansion
|
|
|
|
- double-click to source file
|
|
|
|
|
|
|
|
Assets come from:
|
|
|
|
- chr files
|
|
|
|
- bitmap data in files
|
|
|
|
- structured data (palette, sprites, metasprites, levels, etc)
|
2019-03-18 18:39:02 +00:00
|
|
|
- think about new comment format, platform-specific types
|
2019-02-05 03:53:50 +00:00
|
|
|
|
2019-05-06 01:49:08 +00:00
|
|
|
|
|
|
|
Github Support
|
|
|
|
|
|
|
|
Import
|
|
|
|
Export
|
|
|
|
Login
|
|
|
|
Pull
|
|
|
|
Push
|
|
|
|
|
|
|
|
Git metadata kept in local storage
|
2019-05-11 13:54:09 +00:00
|
|
|
|
|
|
|
Converting from NESASM to DASM
|
2019-08-20 12:28:59 +00:00
|
|
|
- asl a -> asl
|
2019-05-11 13:54:09 +00:00
|
|
|
- subroutine keyword on labels
|
|
|
|
- [zp],y to (zp),y
|
|
|
|
- LOW(x) and HIGH(x) to <() and >()
|
|
|
|
- .db to .byte, .dw to .word
|
|
|
|
- use NES_HEADER macros
|
|
|
|
- no .bank
|
2019-08-07 13:26:53 +00:00
|
|
|
|
|
|
|
Cross platform NES/SMS/GG library
|
|
|
|
- use CHR RAM
|
|
|
|
- create flipped tiles/sprites
|
|
|
|
- create alternate palette tiles
|
|
|
|
- metatiles
|
|
|
|
- cross platform music/sound
|
|
|
|
- scrolling
|
|
|
|
- row/column mask
|
|
|
|
- no nametable mirroring in SMS
|
|
|
|
- 256x240 vs 256x192
|
|
|
|
|
2019-08-20 12:28:59 +00:00
|
|
|
Emulator Lib
|
|
|
|
- move getPresets() (into presets/ dir?)
|
|
|
|
- CPU interface
|
|
|
|
- execCycle(), execInsn()
|
|
|
|
- fix/unfix PC
|
|
|
|
- interrupt
|
|
|
|
- generic raster scanline platform
|
|
|
|
- PlatformRunner
|
|
|
|
- handles rewind, intra-frame breakpoint, debugging
|
|
|
|
- profiling log, exec/read/write/intr (for each bus?)
|
|
|
|
- expose video, audio, controller interfaces
|
|
|
|
- new debugging info
|
|
|
|
- memory map interface
|
|
|
|
- "About" metadata
|
|
|
|
- auto load/save state?
|
|
|
|
- handle legacy
|
|
|
|
- VCS
|
|
|
|
- NES
|
|
|
|
- MAME
|