Commit graph

356 commits

Author SHA1 Message Date
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
steve
f1429028ca o Makefile
- added profile and profile_display targets
2020-01-05 18:58:39 +00:00
steve
7de752743c o future
- improved performance
    - now using just one, carefully managed linked list
    - eliminates needless calls to malloc()
2020-01-05 18:58:39 +00:00
steve
45e53d89e4 o player
- additional changes to scancounter to handle NUSIZ changes during
	secondary copies of the player sprite
2020-01-05 18:58:39 +00:00
steve
24f47553b5 o video
- readded changes originally added in dea9d917baa69d46c9cf584d061f4a36a65a7834
2020-01-05 18:58:39 +00:00
steve
fc07fdae16 o player
- reworked scan counter to correctly handle 4x stretching
    - changing NUSIZ value while scan counter is active now works
	correctly in most cases - some additional consideration of
	secondary copies required
2020-01-05 18:58:39 +00:00
steve
3ecbd6b527 o regression
- playback regression entries will now end with an error if
	emulation has not terminated at 100%
    - shouldn't ever happen except during development of the emulation
	core. none-the-less it is useful for regressions to end in all
	instances.
2020-01-05 18:58:39 +00:00
steve
604f2e49be o experimenting with hashtags
o removed some lint errors
2020-01-05 18:58:38 +00:00
steve
5e564c9dfa o console / table completion
- loosened up tab completion so that session doesn't reset if only
	trailing space has changed
    - removed erroneous call to tabcompletion.Reset() in colorterm (* it
	may once have been required)
2020-01-05 18:58:38 +00:00
steve
5f3c8b41b9 o debugger
- corrected error handling for GUIEvents
    - fixes erroneous crash caused by setting a duplicate mouse break
	when emulation is running
    - gui event handling now differentiates up and down mouse button
	events
2020-01-05 18:58:38 +00:00
steve
977bd33a28 o debugger / commands
- corrected how ONSTEP And ONHALT consume tokens from the token queue
    - fixes an errant error message for interactive debuggers
2020-01-05 18:58:38 +00:00
steve
e0da62e370 o cpu
- added summary output to instruction_gen

o Makefile
    - added "generate" target
2020-01-05 18:58:38 +00:00
steve
1814ed0544 o debugger
- renamed metavideo concept to reflection
    - moved metavideo/reflection to its own package
    - added ReflectionNotRunning error
    - error message shown if overlay is turned on without reflection
	processing running
    - improved DISPLAY command

o sdl
    - type assertion panics now caught in sdl.SetFeture() and returned
	as a PanicError
2020-01-05 18:58:38 +00:00
steve
8db28019c6 o instrumentation
- replaced machineinfo concept with instrumentation interface
    - for now instrumentation is the same as the Stringer interface
    - plans to add more advanced instrumentation with additional
	interface requirements. Stringer is a good first step

o debugger
    - removed verbose/terse modes

o regression
    - fixed how frame regression gets state information (otherwise
	broken by changes removal of machineinfo)
2020-01-05 18:58:38 +00:00
steve
3367248859 o tia
- played around with timings to try a get resetting of sprites
	during an active HMOVE to work correctly
    - the solution maybe a misstep because I've had to alter when the
	additional HMOVE clock occurs, with no other good reason
    - none-the-less there is some good work clarifying code
    - questions about accuracy added to FUTURE document
2020-01-05 18:58:38 +00:00
steve
37af346ee5 o added Makefile
o CPU
    - tidied up register code a little bit
2020-01-05 18:58:38 +00:00
steve
db35a79f5a o vide/player
- moved scancounter type into it's own file
2020-01-05 18:58:38 +00:00
steve
6a5c39a53e o future
- reworked future type
    - added test harness

o player
    - tidied up setNUSIZ function
2020-01-05 18:58:38 +00:00
steve
dcc75c89c5 o regression
- verbose now prints failure messages
    - fixed frame regression with state
	- broken in b98da52cf1e28a6486607e36ebc0609af6db2f65
2020-01-05 18:58:38 +00:00
steve
a734782969 o cpu
- streamlined how CPU results are created and stored
    - speeds up execution a little

o debugger
    - implemented Disable() function for consoles
    - used to stop output when running initialisation script
2020-01-05 18:58:38 +00:00
steve
05e9d2b2b5 o gopher2600
- moved argument parsing into new magicflags package
2020-01-05 18:58:38 +00:00
steve
e815b892ad o vcs
- corrected what happens to the cartridge on a call to Reset()
2020-01-05 18:58:38 +00:00
steve
721f3a655d o cartridge
- fully implemented cartridge format selection
    - works well in conjunction with automatic fingerprinting
2020-01-05 18:58:38 +00:00
steve
56fa421b6c o regression
- fixed deletion of script files

o database
    - CleanUp() now expects an error to be returned
2020-01-05 18:58:38 +00:00
steve
e4bd03b633 o audio
- first attempt at sample based audio
2020-01-05 18:58:38 +00:00
steve
f0fccb10c4 o playmode
- tidied up playmode.Play() function
2020-01-05 18:58:38 +00:00
steve
f2e7559052 o removed splace stick support 2020-01-05 18:58:38 +00:00
steve
a1bd179139 o cartridge
- Attaching of cartridges now uses CartridgeLoader type
    - CartridgeLoader type allows the caller to specify the cartridge
	path and the format of the cartridge, if fingerprinting needs to
	be overridden
    - An expected hash value for the loaded cartridge can also be
	supplied

o regression / playback
    - regression database and playback scripts now include entries
	specifying the cartridge format
2020-01-05 18:58:38 +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
6336aa3346 o cartridges
- added support for 12k CBS cartridges
    - corrected saveState() for atari and M-Network cartridges
2020-01-05 18:58:38 +00:00
steve
a48f3056a5 o regression
- frame regression type shows meter for long running tests
2020-01-05 18:58:38 +00:00
steve
b0cb31bcd7 o database
- simplified internal structure
    - simplified Entry interface

o regression
    - tidied up error messages
2020-01-05 18:58:38 +00:00
steve
01004a4847 o recorder
- small reordering of recording setup to make sure startup events
	are transcribed into the playback transcript

o regression/play
    - playback regression and playing of playback scripts ...
    - ... cartridges not attached with setup system
    - any required setup events are in the playback transcript
2020-01-05 18:58:38 +00:00
steve
50e8ab205d o setup
- setup package now uses database package and matches entries to the
	specified cartridge and applies the changes listed
    - only panel entries supported so far
    - database file must be hand written
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
fb037ddb70 o setup
- added setup package
    - rerouted all vcs.AttachCartridge() calls through new package

o regression/database
    - split database package from regression package
2020-01-05 18:58:37 +00:00
steve
7e850e4a12 o debugger
- added PANEL command
2020-01-05 18:58:37 +00:00
steve
8452fd1962 o cartridge
- implemented tigervision
    * example Miner2049er
    - implemented m-network
    * He-Man and Bump'n'Jump
    * Burgertime makes use of cartridge RAM
2020-01-05 18:58:37 +00:00