Each memory location has a memory tag value.
When code is executed the set memory tag is or'ed with the current memory tag value.
This enables you to work out what code executed as the result of an action.
e.g.
Start the Vic20 as normal to the cursor.
The initial value is '1' so all executed memory locations are tagged as '1'.
Invoke the debugger by pressing 'Step' or entering the debugger if you are in play mode.
Change the tag value to '2'.
Select 'Run'
Type a character
Invoke the debugger by pressing 'Step'
In the disassembly window set the filter value to 2,2 and this will show all code that executed under 2
To see all code the executed exclusively under 2, set the filter value to 2,3
Fixable
Basic compiler/decompiler does not handle escape codes correctly
Robotic Liberation cube does not render
Audio needs a low pass filter
Unfixable
Right hand shift reads as left hand as browsers don't differentiate
TODO
NTSC progressive scan
PAL VIC audio LFSR
VIC noise LFSR
Paddles
Light pen
1540/1541 FDD
1520 Plotter
Implement game vault based off GB20
Tape animations, counter and optional noise
User logins for storing/sharing basic/assembler programs
Conditional breakpoints
Javascript Vic-20 by Matt Dawson
Email: [email protected]
Copyright (c) 2009
Hey guys,
If you like this please consider making a bitcoin donation.
I'm currently being treated for Cancer and every little bit helps.