Commit graph

64 commits

Author SHA1 Message Date
steve
5a223794d4 o gui
- separated gui specific elements from television package
    - sdl implementation moved to gui package
2020-01-05 18:58:32 +00:00
steve
eace335cce o sprite
- fixed bug that caused sprite position to be misrecorded
    - caused by reckoning the effects of HMOVE from the reset position
    rather than the current (possibly already adjusted) position

o debugger / colorterm
    - implemented HOME/END keys for input loop

o monitor / sdltv staterecorder
    - generalised colour assignment
    - not perfect but more flexible

o debugger / breakpoints
    - parsing of negative numbers now allowed
2020-01-05 18:58:32 +00:00
steve
736cd5bb0b o tia
- debug colours (just the players for now)
    - hmove type now uses a latch to keep track of when hmove event is
	over, rather than the rather clumsy and prone to error method we
	had previously. this goes someway to fixing a bug in the
	emulation caused by late HMOVEs
    o polycounter
	- modified MachineInfo() output
	- updated test routines to reflect changes to MachineInfo output

o debugger
    - added DEBUGCOLORS toggle to DISPLAY command
    - PLAYER command in verbose mode now prints player 0 and player 1
	side by side for easier comparison
    - similarly for MISSILE command
    - verbose PLAYER output now includes commentary of the sprite size
	setting
    - similarly for MISSILE command
    - corrected initialisation script error output
    - removed tab completion time limit - can now cycle through options
	until another key is pressed

o television
    - improved screen size detection and stability routines
    - this currently breaks the fix we had in place for Plaque Attack
	but I think we can probably fix that some other way
2020-01-05 18:58:31 +00:00
steve
f53592df13 o disassembly
- reworked disassembly routines so that it works better with
	multi-bank cartridges.
    - unfinished

o cpu
    - reworked cpu testing routines
    - NoSideEffects has been changed to NoFlowControl
    * this means that memory is now written
    * it is intended that NoFlowControl CPU instances be supplied with a
    memory shim that can filter out write addresses as appropriate
    * this was done so that we can see switching of cartridge banks
2020-01-05 18:58:31 +00:00
steve
297391c488 o disassembly
- added support for multibank cartridges

o breakpoints/traps
    - bank changes are now a valid target
2020-01-05 18:58:31 +00:00
steve
23bd591752 o gopher2600
- tidy up of command line parsing

o regression testing
    - added regression package
    - implemented simple database to facilitate regression tests
    - uses DigestTV
2020-01-05 18:58:30 +00:00
steve
348ea29939 o ImageTV
- implemented a headless television that can save the last image to a file

o DigestTV
    - implemented a headless television that updates a screen digest
    every frame

o gopher2600
    - added "regress" mode. uses digesttv and will be used as the basis
    of a complete regression testing mode
2020-01-05 18:58:30 +00:00
steve
9644eb59f0 o memory
- (re)implemented POKE command
    - reworked PEEK a little bit
2020-01-05 18:58:30 +00:00
steve
49d429b6bf o cpu
- implemented BRK and RTI instructions - not fully tested
    - tidied up when NoSideEffect is checked

o debugger
    - fixed breakAndTrapCallback
    - fixed instruction result validity check crash caused when
	instruction step resulted a runtime error

o cartridge
    - added support for half-size cartridges
    - tidied up error handling

o various commentary cleanups/clarifications

o move test files to test/ directory
2020-01-05 18:58:29 +00:00
steve
786fb5b254 o 6502 instructions
- added 0x80 - immediate 3-byte nop

o vcs
	- reset operation now resets TIA and RIOT in addition to CPU

o cpu
	- reset attempt mid-instruction now returns suitable error
	instead of panicking

o debugger
	- fixed breakpoint/trap check when it occurs mid-instruction
	- broken in 6045b9a9b65d623800b8e386e06fe0fdfb71998f
	- fixed PEEK command
	- fixed SYMBOL command
	- SYMBOL command now takes optional ALL argument - prints every
	mirror address of the resolved symbol
2020-01-05 18:58:28 +00:00
steve
74d8f6e297 o debugger
- implemented DROP command
2020-01-05 18:58:28 +00:00
steve
0a8267d7d6 o television
- tidy up how state requests are made
	- added info requests
	- implemented MOUSE info request

o debugger
	- implemented 'LAST DEFN'. prints the definition of the last
	instruction executed
	- STEP now takes optional CPU or VIDEO keywords
	- removed critical sections and replaced with channel
	communication
2020-01-05 18:58:28 +00:00
steve
d744e6229a o debugger
- better lexing/parsing of command input
	- break/trap on instruction effect (read, write, etc.)
	(we had to implement a more flexible way of satisfying the
	target interface for this. it works but it's a bit ugly)
2020-01-05 18:58:28 +00:00
steve
35e31cccb7 o errors
- refined error package
2020-01-05 18:58:28 +00:00