- panic when list of options is empty
o debugger
- debugger now initialises with plain terminal
- other terminals are still specified on debugger.Start()
- this fixes a bug caused when trying to print error messages
from a startup script
- conversion of user input to upper cause is now more selective
- SCRIPT command added
- tidied up ansi module
o breakpoints / traps
- corrected comments
- fixed multiple traps
o lint check
- tidy up in response to lint check
o reverted String() to use MachineInfo() rather than MachineInfoTerse()
- breakpoint checker will now not break on conditions already broken
upon - it will only break when conditions of current break targets
actually change
- improved ansi color
- moved ui package to debugger/colorterm
o debugger
- replaced SHOW and HIDE commands with DISPLAY command
- DISPLAY command takes optional argument OFF
- replaced CLEAR BREAKS command with BREAK CLEAR
o sprites
- improved MachineInfo() messages
- ball sprite now ticks/pixels correctly
o debugger/breakpoints
- tidied up breakpoints implementation
- reworked print routines so that they are more easily replacable
- added print profiles, to allow formatting of output
o ui
- implemented basic color terminal
o tia
- reworked so that tia sub-components are accessible from outside of
tia package - useful for the debugger
- first version - simply to get something onto the screen
- embeds headlessTV
o HeadlessTV
- implemented TVState type for frameNum, scanline and horizPos fields
- TVState satisfies BreakTarger interface in the debugger
o Breakpoints
- altered breakpoint to account for changes made for TVState
o Debugger
- implemented SHOW and HIDE
o clarified commentary
- implemented video in part
- implemented sprite framework - ball sprite completed
- reorganised existing tia code in repsonse to new code
o debugger
- tweaked existing commands and how they work
- implemented headless TV
o debugger
- VERBOSE is now called HALT - as in "auto command halt"
- no way of setting what command(s) to run on halt just yet
- a real verbose command that flips between verbose and terse printing
of machine state
o polycounter
- separated Reset() and SetResetPattern()
- added MEMMAP command
o tidy up
- changed pointer recievers to value receivers when the method does
not mutate the type instance
- I'm not sure about this but I like if for now - this way it is
clearer, to me at least, which methods mutate and which don't
o memory
- small reorganisation of memory package in preparation for
implementation of the video chips
o renamed project to "gopher2600"
- replaced both register implementations with just one that uses
32 bit integers as the underlying implementation. very smart and
very quick by comparison to the bit array implementation.
- registers must now be labelled, although the label can be the empty string
- this means that we specify the name for the register once, at
creation time, and not everywhere we print out information
o debugger
- breakpoints now takes advantage of register labels
- reorganised register implementation
- existing implementation now call rbits
- added an implementation called r16bits, using uint16 intead of a
bit array
- only implemented Load(), Add() and the To*() methods
- just enough to speed up programme counter operations
- now sends a reference to InstructionResult over the result channel,
rather than a copy
o cpu
- adjusted register declarations to match changes in registers
implementation
o mflib
- consolidated assert() function into one package
o debugger
- sketched in debugger