Commit graph

19 commits

Author SHA1 Message Date
steve
21dbb029f4 o debugger
- improved command parsing, although still lacking in required
	features
	- clear/listing of breaks/traps now handled by CLEAR and LIST
	commands
2020-01-05 18:58:27 +00:00
steve
3739f89202 o fixed tabcompletion
- 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
2020-01-05 18:58:27 +00:00
steve
9d3d9d10ac o debugger
- refactored user interface types and functions - now in ui
	package
	- sketched in tab completion
2020-01-05 18:58:27 +00:00
steve
9b645709b7 o colorterm / ansi
- 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()
2020-01-05 18:58:26 +00:00
steve
480c60d4f9 o debugger
- implemented traps
	- tidied up breakpoint implementations

o tia / video
	- first pass at playfield rendering
2020-01-05 18:58:26 +00:00
steve
fe6f382f17 o debugger / breakpoints
- generalised parsing of targets for breakpoints
  - parseTarget() can now be used in other contexts (eg. traps)
2020-01-05 18:58:26 +00:00
steve
d5735dcc7f o debugger / breakpoints
- breakpoint checker will now not break on conditions already broken
    upon - it will only break when conditions of current break targets
    actually change
2020-01-05 18:58:26 +00:00
steve
1916a556fe o color terminal
- 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
2020-01-05 18:58:26 +00:00
steve
70e2352862 o every object that requires it now implemets MachineInfo and MacheinInfoTerse()
- this replaces the previous String() and StringTerse() functions
  - String() now calls MachineInfo() in every instance, for convenience
2020-01-05 18:58:26 +00:00
steve
ac3dd75b18 o debugger
- 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
2020-01-05 18:58:26 +00:00
steve
04ede0d08d o riot/timer
- implemented riot timer

o debugger
  - added CLEAR BREAKS command
2020-01-05 18:58:26 +00:00
steve
b18a329706 o SDL TV
- 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
2020-01-05 18:58:26 +00:00
steve
bd1ca32c11 o tia/video
- 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
2020-01-05 18:58:26 +00:00
steve
5496f7277c o television
- 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()
2020-01-05 18:58:26 +00:00
steve
8105706f7c o debugger
- 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"
2020-01-05 18:58:26 +00:00
steve
eb17bc1f63 o registers
- 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.
2020-01-05 18:58:26 +00:00
steve
ac05b88ac9 o cpu
- 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
2020-01-05 18:58:26 +00:00
steve
b41fae1204 o breakpoints
- improved breakpoint parsing/processing
2020-01-05 18:58:26 +00:00
steve
aead7e032d o registers
- 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
2020-01-05 18:58:25 +00:00