Commit graph

373 commits

Author SHA1 Message Date
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
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