Commit graph

393 commits

Author SHA1 Message Date
steve
6c210ee6c1 o debugger
- reorganised packages within the debugger package
    - commentary and documentation

o terminal
    - renaming of console to terminal in all instances
2020-01-05 18:58:41 +00:00
steve
69f48f329d o gui
- commentary and documentation
2020-01-05 18:58:41 +00:00
steve
d764ece740 o television
- commentary and documentation
    - added DebugColorSignal type

o tia/video
    - changes due to addition of DebugColorSignal
2020-01-05 18:58:41 +00:00
steve
1a5a1fbff8 o symbols
- clarified code
    - documentation and commentary

o debugger
    - improved/corrected SYMBOLS command
2020-01-05 18:58:41 +00:00
steve
73dcd24070 o disassembly
- FromMemory() now creates disassembly instance rather than being a
	function attached to the type
    - comments and documentation

o debugger
    - fixed usage of disassembly.FromMemory()
    - the reason we went with the old method for FromMemory() was to aid
     in how symbol tables were created and pointed to from debug-memory.
     however it was dumb and confusing. problem is now solved correctly
2020-01-05 18:58:41 +00:00
steve
aba69ec69a o added overview documentation for every package
o recorder
    - fixed recorder after recent changes made to digest/video
    - fdf3f2765c59de4097a01b7fdf736ae38e4398b4
2020-01-05 18:58:41 +00:00
steve
59056fb6a8 o regression
- fully implemented audio digest regression

o modalflag
    - can now print additional help text
2020-01-05 18:58:41 +00:00
steve
7de8c5ba14 o database
- improved documentation
    - some tidying up

o regression
    - improved documentation

o digest
    - Digest interface now requires Hash() rather than String()
    - warning: use of String() may now break things
2020-01-05 18:58:41 +00:00
steve
5698309e68 o database
- improved error messaging
    - sketched in support for audio and 'video & audio' digests in
	digest regression
2020-01-05 18:58:41 +00:00
steve
da4ce0b9eb o digest
- renamed screendigest package to digest and SHA1 type to
	ScreenDigest
    - added AudioDigest type
    - added Digest interface
2020-01-05 18:58:41 +00:00
steve
9c93bdc1cf o paths
- now using os.UserConfigDir() to handle OS differences
2020-01-05 18:58:41 +00:00
steve
5c8008d0b5 o debugger
- fixed spurious error message when PLAYER and MISSILE are called
	with no arguments
2020-01-05 18:58:41 +00:00
steve
f7b716148d o polycounter
- reworked polycounter to make it easier to generate polycounters of
	different bit lengths

o tia/audio
    - commented code

o wavwriter
    - now saves correctly with correct samplerate
2020-01-05 18:58:41 +00:00
steve
9f50f3c77e o audio
- implemented audio
    - using Ron Fries' method as the basis
    - removed sample playback - performance of Fries' method is good
	enough that we'll never need it again
    - sdl audio routines using QueueAudio() - maybe better if we use
	callbacks?
    - sketched wavwriter AudioMixer - not usable yet
2020-01-05 18:58:40 +00:00
steve
261a379ae0 o gopher2600
- corrected error message output - superfluous asterisks
2020-01-05 18:58:40 +00:00
steve
8f7b1e08bf o gopher2600
- corrected heap allocation of modalflag instance
2020-01-05 18:58:40 +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
704ff4d185 o test
- added Equate() function
    - reworked and renamed registers/assert package. now called
	registers/test
2020-01-05 18:58:40 +00:00
steve
15e418411d o test
- added Writer type. used for comparing buffered output with
	example strings
    - used by modalflag and symbols test package, although it may be
	used by other packages in the future
    - added ExpectedSuccess() and ExpectedFailure() functions
2020-01-05 18:58:40 +00:00
steve
f3aa9e537a o symbols / addresses / disassembly
- reworked addresses package so that canonical names map is visible
	externally
    - added commentary to explain that the map is not to be used in the
	emulation (we prefer the sparse array)
    - this fixes the problem in the symbols package when adding the
	canonical symbols the ROM's symbols information
    - I've not checked but I suspect these changes also fixes a problem
	in disassembly output that I've noticed out of the corner of my
	eye
    - this should have been caught in testing so we've added a test to
	the symbols package
2020-01-05 18:58:40 +00:00
steve
fc38de1f03 o debugger / plainterminal
- EOF errors (caused by Ctrl-D in an interactive session) now
	handled the same as user interrupts
2020-01-05 18:58:40 +00:00
steve
b1930da930 o memory
- reworked data masking
    - added extensive commentary
2020-01-05 18:58:40 +00:00
steve
bc757bb7e7 o easyterm
- corrected ASCII code for backspace character
2020-01-05 18:58:40 +00:00
steve
e8e58abb07 o limiter
- removed overhead for fps capping

o gopher2600
    - renamed "time" flag to "duration" for PERFORMANCE mode
2020-01-05 18:58:40 +00:00
steve
02c46c8ae9 o renamed magicflags to modalflag
- simplified code significantly

o gopher2600
    - restructured to reflect changes to modalflag
2020-01-05 18:58:40 +00:00
steve
cbf81c6ce9 o sdlplay
- fps capping can now be turned on/off on command line for PLAY and
	PERFORMANCE modes
2020-01-05 18:58:40 +00:00
steve
ca248c6770 o tia video
- some optimisation of pixel() code in player sprites
    - noticeable FPS improvement

o late fix (1/12/2019)
    - removed collision detection changes
2020-01-05 18:58:40 +00:00
steve
aa447e5af6 o vcs
- reworked commentary surrounding cycle callbacks

o tia
    - servicing of memory writes to TIA memory is now more
	discriminatory
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
0516cb3933 o reworked memory sub-system, including shims in debugger and
disassembly packages

o removed last remnants of MachineInfo() idea
2020-01-05 18:58:40 +00:00
steve
5a58ef3b08 o web2600
- removed need for goexec from Makfile
    - replaced with the simplest web server
2020-01-05 18:58:40 +00:00
steve
af73159346 o cpu
- simplified type casting
    - commentary
    - reworked instruction generation
2020-01-05 18:58:40 +00:00
steve
5ab3b1a169 o debugger
- reworked debugger's input loop
    - better comments explaining the process
2020-01-05 18:58:40 +00:00
steve
ab34c2b376 o cpu / registers
- simplified register implementations
    - program counter now a separate type
    - register package renamed to registers
    - moved status register to registers package
    - reworked tests
2020-01-05 18:58:39 +00:00
steve
8ad481e132 o debugger / playmode
- removed references to SdlPlay and SdlDebug
    - constructors for debugger and playmode now expect instances of GUI
    and Television, rather than creating them
    - this should help future porting efforts

o peripherals
    - renamed Events to Actions
    - to avoid confusion with Events in the GUI package

o television
    - renamed StellaTelevision to television; a better name because
    it serves as a reference implementation and is the only television
    implementation currently needed.
    - originally, PixelRenderers were implemented as Television that
    embedded StellaTelevision; it made sense to use a more unique name
    - note that we're still keeping and using the Television interface
    - reworked specifications file
2020-01-05 18:58:39 +00:00
steve
cc8c14f0ae o regression
- saving scripts (playback and state scripts) are now prepended with
	info about what type of script it is. in practice it has proved
	useful to know this from a glance, rather than opening up the file.

o gopher2600
    - playing back recordings is now more intuitive
    - removed option to specify the filename that a new recording will
	save to but I think that's acceptable.
2020-01-05 18:58:39 +00:00
steve
17b5c599f2 o paths
- implemented paths package
    - handles building of paths using the most appropriate config path -
	the local directory or the user's home directory
2020-01-05 18:58:39 +00:00
steve
28d7352b52 o cartridgeloader
- moved from memory package
2020-01-05 18:58:39 +00:00
steve
11d9676ba9 o screendigest
- moved digesttv to screendigest package

o television
    - removed imagetv and renderers package
2020-01-05 18:58:39 +00:00
steve
46d89baf21 o targets
- tidy up. removed ShortLabel

o registers
    - tidy up. removed some needless conversion functions
2020-01-05 18:58:39 +00:00
steve
2ff4be2e8a o debugger
- encapsulated work that is required to (de)activate reflection
	monitor
2020-01-05 18:58:39 +00:00
steve
2aadee3158 o sdl
- implemented SdlPlay
    - simplified and more efficient SDL interface
    - renamed PixelTV to SdlDebug
    - SdlDebug implies debugging is allowed so removed AllowDebugging
	request from gui interface
    - removed stability code from SdlDebug

o television
    - added stability detection to base television implementation
    - added top/bottom scanline figures to specification types. more
	intuitive to work with in some contexts
2020-01-05 18:58:39 +00:00
steve
0a4856d3b6 o optimisations
- pointer to receivers in frequently called methods to avoid duffcopies
2020-01-05 18:58:39 +00:00
steve
604a2c5543 o web2600
- sketched in web interface

o cartridge
    - cartridge will now load from http:// target as well as local file
	system

o Makefile
    - added web and webserve targets
2020-01-05 18:58:39 +00:00
steve
59413405e9 o television
- reworking of comments and naming for clarity

o gui
    - reworking of comments and naming for clarity
    - moved overlay code to gui
    - removed overlay package and renamed concept back to metapixels
2020-01-05 18:58:39 +00:00
steve
045bcc26f8 o cpu
- removed heap allocated functions
    - speed improvement

o tia
    - removed heap allocated functions
    - speed improvement
2020-01-05 18:58:39 +00:00
steve
7275c102ab o sdl / audio
- improved audio generation from samples
    - generated a cropped set of samples from the little-scale_atari_2600 sample pack
2020-01-05 18:58:39 +00:00
steve
fc91400160 o tia / video
- calls to future.Schedule all now use references to static
	functions and not functions created on demand
    - massive speed up

o future
    - added ScheduleWithArg() function to better handle the above
	changes without closures
2020-01-05 18:58:39 +00:00
steve
75ad27dba0 o cartridges
- cartrdiges no longer return CartridgeListen error if nothing is
	done in listen() function
    - generating a new error is expensive to do every video cycle and
	serves no purpose in this instance

o error
    - remove CartridgeListen error
2020-01-05 18:58:39 +00:00
steve
9c088f2578 o vcs memory
- timestamping of memory access can now be turned off
    - call to time.Now() is expensive

o debugger / reflection
    - REFLECT command now turns on/off timestamping in vcs memory
2020-01-05 18:58:39 +00:00