Commit graph

13 commits

Author SHA1 Message Date
steve
16b15fad95 o added licence headers to all files 2020-01-05 18:58:43 +00:00
steve
d7cdfcfe61 o errors
- removed ErrorID, using the error message as the ID
    - works just as well and simplifies maintenance
    - the messages should be moved to the relevant packages OR to a
      locale package. not sure which yet.
2020-01-05 18:58:42 +00:00
steve
680be0722f o errors
- documented
    - clarified when and why panic() should be called
    - changed formatting verbs in error messages

o targets
    - removed panic()
2020-01-05 18:58:40 +00:00
steve
3aa859a686 o replaced all instance of new(obj) with &new{} 2020-01-05 18:58:40 +00:00
steve
90c5ec0900 o errors
- implemented Has() function
    - Error() now de-duplicates error string parts
    * for example, instead of:

	    error: foo: foo: bar

	Error() will now return:

	    error: foo: bar
2020-01-05 18:58:38 +00:00
steve
acc10f8d97 o errors
- renamed FormattedError to AtariError
    - renamed NewFormattedError to New
    - implemented Is() and IsAny() for more convenient testing
    + changed all error testing to use Is() and IsAny()
    - renamed FatalError to PanicError to better indicate the intent
2020-01-05 18:58:38 +00:00
steve
46b8173b7b o replaced debugger/input package with debugger/commandline
- improved how command template are compiled
    - verification and tab completion is now more robust
    - missing repeat groups

o debugger
    - extended PLAYER and MISSILE commands
    - combined STICK1 and STICK2 into one STICK command
2020-01-05 18:58:32 +00:00
steve
6d597c5035 o errors
- renamed GopherError to FormattedError
    - reading files now handled by ioutil.ReadAll(), rather than
    os.Read()
2020-01-05 18:58:32 +00:00
steve
35e31cccb7 o errors
- refined error package
2020-01-05 18:58:28 +00:00
steve
d5895261bd o television
- refactored SDL television
	- implemented close window for SDL windows
	- backquote key toggles screen-mode (debug guides on/off)
	- window resizes to fit screen-mode
	- sketched in mouse support for SDL implementation
	   - the intention here is to be able to select breakpoints
	     with the mouse

o concurrency
	- made sure shared memory is locked for all go routines

o errors
	- reworked gopher errors a little
2020-01-05 18:58:28 +00:00
steve
4e9f48630b o debugger
- added SYMBOL command. searches for address label, returns
		address
	- fixed disassembly output for ROMs without a symbol file
	- improved disassembly a little bit. now attempts to disassemble
		entire of cartridge memory and doesn't bail out of loop
		at first sign of an unimplemented instruction. cpu
		package now returns a ProgramCounterCycled error when
		program counter reads past end of memory

o video
	- tweaked horizontal movement
	- fixed player vertical delay (tested with Pitfall ROM)
	- fixed ball enable detection (0x02 not 0x20. doh!)

o cpu
	- implemented LAX command
	- renamed 3 byte NOP to DOP
	- added program counter information to unimplemented instruction
		error

o gopher 2600
	- error message now returned and displayed in run mode

o
2020-01-05 18:58:27 +00:00
steve
6957a52adc o controller
- added basic controller support
	- uses third-party package:
		- github.com/splace/joysticks
2020-01-05 18:58:27 +00:00
steve
1a59db31d1 o implemented disassembly
- symbol loading
	- printing of disassembly now uses symbols (if available)
	- run mode disasm now works as expected

o errors
	- added GopherError - started to replace calls to fmt.Errorf()
	with instantiations of GopherError

o debugger
	- prompt now shows (brief) disassembly of next instruction to be
	executed
2020-01-05 18:58:27 +00:00