Commit graph

1240 commits

Author SHA1 Message Date
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
steve
d483d08ca4 o television
- the three clocks/scanline attributes are the same whatever TV
	specification is used
    - these three values are now constants in the package rather than
	attributes of the Specification type
2020-01-05 18:58:37 +00:00
steve
2aa59a5a87 o missile
- correct missile to player for the wider player sprites
2020-01-05 18:58:37 +00:00
steve
1ffd75edc7 o player/ball
- added hmove information to MachineInfo() output
    - missile sprite had this added earlier
2020-01-05 18:58:37 +00:00
steve
b545f17384 o riot timer
- added information to MachineInfo

o sprites
    - 1 cycle delay added to HMCLR
    - fixes Midnight Magic and Fatal Run
2020-01-05 18:58:37 +00:00
steve
777deb7204 o sprites
- better interaction between future package and sprites

o future
    - implemented Push() function
2020-01-05 18:58:37 +00:00
steve
d78fd568b1 o tia
- tidied up HMOVE scheduling, for clarity
2020-01-05 18:58:37 +00:00
steve
95a97285ba o playfield
- playfield was errantly reporting that playfield pixel was on in
	the HBLANK area in certain circumstances.
    - this was causing phantom collisions in certain situations
2020-01-05 18:58:37 +00:00
steve
8b59d0c021 o television
- separated alt/debug color palette from PAL/NTSC
    - this means that the same alt/debug colors are used regardless of
	television specification in use
2020-01-05 18:58:37 +00:00
steve
3ac91fef2f o metavideo
- fixed how instant and delayed events are displayed

o tia/sprites
    - added HMOVE values (as binary) to machine info string
2020-01-05 18:58:37 +00:00
steve
9ab6456ff3 o missile
- reworked start drawing condition to account for restarted start
	signals

o player
    - debugging string now shows which copy of the sprite is being drawn
2020-01-05 18:58:37 +00:00
steve
5a22b1f9b6 o cpu
- added permanent accumulator instances, rather than calling
	NewAnonRegister every time I need one

o missile
    - improved accuracy of reset-to-player

o ball/missile
    - implemented pixel condition necessary for Cosmic Ark starfield

o tia
    - moved future package into tia package (from delay package)
    - removed delay package

o video
    - fixed priority/scoremode color selection
2020-01-05 18:58:37 +00:00
steve
76d4cfaebf o video
- fixed how the enabled delay bit is updated in the ball sprite
2020-01-05 18:58:37 +00:00
steve
11e14e19ff o cpu
- corrected addressing mode for lax instruction (0xb7)
    - improved testing
2020-01-05 18:58:37 +00:00
steve
ca33e408f1 o CPU
- reworked index bug handling in CPU
    - fixed slo opcode defintion (wrong addressing mode specified)

o debugger
    - added BUG option to CPU command
    - debugger now optionally prints CPU BUG messages on the step it
	occurs
2020-01-05 18:58:37 +00:00
steve
f735c06fc3 o cpu
- improved indirect bug handling
    - updated tests
2020-01-05 18:58:37 +00:00
steve
c14a4dab97 o cpu
- implemented slo opcode
    - zero page and indexed zero page x addressing modes

o tia
    - pot ports (INPT0 to INPT3) initialised to 0x00 rather than 0x80
2020-01-05 18:58:37 +00:00