Commit graph

42 commits

Author SHA1 Message Date
JetSetIlly
b7bedb56fe marginal improvement to TIA audio performance
removed audio overlay due to changes in TIA audio implementation. the
changes could be reflected accurately but the overlay is no longer as
useful as I originally thought
2024-11-23 14:56:36 +00:00
JetSetIlly
2d02764e60 moved coprocessor interface/types from mapper to coprocessor package
there could be more work to do here to make this more readable
2023-08-09 15:26:05 +01:00
JetSetIlly
81f4a83490 more flexible yield information 2023-07-17 15:50:07 +01:00
JetSetIlly
7656bea678 added audio reflection layer
fixed imgui.EndChild() error for tracker window
2023-02-01 16:47:11 +00:00
JetSetIlly
92376586ca CoProcIsActive() replaced with CoProcState()
returns a CoProcState value rather than a boolean value

updated prompt building and debugger reflection overlays to work with
new type and values

commentary introduces the idea that coprocessor state is about VCS
synchronisation

ELF will call ExecutionStart() and ExecutionEnd() as appropriate for the
change of state. this needs work because the meaning of "Execution" in
context of StrongARM type synchronisation is unclear
2022-08-20 21:00:20 +01:00
JetSetIlly
e13fd12c21 simplified reflection package and how the reflector works and interacts with other goroutines 2022-06-28 08:03:37 +01:00
JetSetIlly
13aa07b0cc performance improvements to reflection package introduced a race error
previous improvements made in 02f6e05f1e

fixed by maintaining two copies of reflection history which are
alternated between, ensuring that the entires are never used by the GUI
and emulation threads at the same time

bounds checking fix in 8387dc7a73 was not
advancing the offset correctly
2021-11-03 12:47:31 +00:00
JetSetIlly
db2342193e simplified how signals are processed by PixelRenderers
entire signal history is sent to SetPixels(). this makes it easier to
handle and to synchronise with the reflection package.
2021-09-27 22:07:43 +01:00
JetSetIlly
6f19d6fe99 reflection is stepped at end of CPU instruction
reflection was only being stepped on the VCS videostep callback which
caused some final CPU conditions to be missed

Step() function is now called OnVideoCycle() and an additional
OnInstructionEnd() has been added
2021-09-21 07:59:01 +01:00
JetSetIlly
4eb873e675 simplified reflection package and clarified some concepts 2021-09-15 16:06:13 +01:00
JetSetIlly
c3b8d8318c clarified some concepts relating to the television and PixelRenderer 2021-09-15 07:20:35 +01:00
JetSetIlly
5eed167aa6 tidy up of reflection package 2021-08-17 19:30:13 +01:00
JetSetIlly
b6dd737163 RSYNC reflection layer 2021-03-03 10:28:45 +00:00
JetSetIlly
e1ed563ea9 overlay selection is now in a popup
added colour key. potential for much more information.
2021-02-26 14:22:19 +00:00
JetSetIlly
d6463e0dae lint errors 2021-02-24 06:59:30 +00:00
JetSetIlly
8789a6772c streamlined reflection system
simply interfaces between television and reflection packages
2021-02-24 06:59:30 +00:00
JetSetIlly
9277b88936 coprocessor layer is named based on coprocessor ID
removed optimistion reflection overlay

it didn't show all optimisations that are now done in the TIA emulation
and it was difficult to present the information meaningfully. plus, it's
information about the emulation itself and not about the emulated machine.

cleaned up lint errors
2021-01-31 14:52:55 +00:00
JetSetIlly
0c70d65acb reflection layer for coprocessor activity 2021-01-28 17:36:37 +00:00
JetSetIlly
e39021eabb improved Collisions layer
tidied up collision detection routines

clarified some concepts in the reflection system

rationalised some concepts in the sdlimgui interface
    - handling of PackedColors is clearer
    - easier handling of color key entries (colored rectangle and label)
2021-01-13 22:32:30 +00:00
JetSetIlly
d4ab437506 Optimisations
Collision tests run less frequently

Pixels are reused more often

Streamlined Playfied.pixel() and Player.pixel() functions

Tiny improvment to ARM MapAddress() imlplementations (CDF and DPC+)

Small improvement to performance of ARM read 16/32 bit memory functions

Unchanged overlay renamed to "Unoptimised"; now highlights pixels that
were generated without any optimisation at all
2020-12-30 20:45:07 +00:00
JetSetIlly
bce3ccf488 reflection system synchronised with the rewind system
(this version is exceedingly memory heavy. including tv signal and
reflection history in the rewind system is a mistake. work will now
concentrate on the rewind system storing VCS state only and recreating
the tv/reflection signal when a state is restored.)
2020-10-31 22:01:12 +00:00
JetSetIlly
0fb6b780cc abstracted VCS facing parts of the television implementation into the signal package
NTSC and PAL information, including colours, moved into specification package
2020-10-31 22:01:12 +00:00
JetSetIlly
f97fced896 WIP extend reflection system to use rewind 2020-10-27 14:11:42 +00:00
JetSetIlly
4253af599e moved televsion to hardware package 2020-10-21 11:14:20 +01:00
JetSetIlly
b787a45632 hardware package manages it's own preferences
memory randomised on startup (except cartridge memory) when randomstate
preference is true
2020-10-19 14:30:02 +01:00
JetSetIlly
9e159b97d8 added more linters to golangci-lint config
godot --fix has been run to make sure all comments end in a full-stop

specified nolint directive to apply to specific linter
2020-10-16 16:31:07 +01:00
JetSetIlly
fca3c2120a fixed golint/stylecheck errors (golangci-lint -E golint -E stylecheck) 2020-10-16 15:48:52 +01:00
JetSetIlly
7c1409d474 updated for UK spelling (golangci-lint -E misspell)
exception for color, colors, and coloring in golangcg-lint config file
2020-10-16 13:00:33 +01:00
JetSetIlly
e6e3a63be8 spelling errors in comments (golangci-lint -E misspell --fix)
update Makefile lint target
2020-10-15 22:02:51 +01:00
JetSetIlly
cd77a3be19 reworked disassembly process. better bless detection particularly for JMP/JSR
moved cartridge debugging buses to mapper package

removed banks package and moved/renamed those types to mapper package

renamed IterateBanks() to CopyBanks(). function now returns all banks as
an array.

removed global Passive setting from cartridge. disassembly now only
accesses cartridge memory through a copy of the bank data (CopyBanks())
so it is not needed
2020-10-08 09:29:58 +01:00
JetSetIlly
298a5d343f updated copyright notice in all files
the note about historical versions also being covered wasn't strictly
needed and was ugly. the LICENCE being in the root file from the very
first commit is sufficient.
2020-07-26 20:18:56 +01:00
JetSetIlly
acd8b7930e pixel/collision calculation restricted to when playfield/sprite has changed
performance improvement

added "Unchanged" overlay to illustrate optimisation
2020-07-14 12:51:22 +01:00
JetSetIlly
89a816f957 Added IterateBank() function to cartridge interface
moved BankDetails from memorymap to banks package. renamed to Details

removed SetBank() function. not flexible enough to handle all mapper
types and not required except for the CARTRIDGE BANK command, which is
not particularly important.

supercharger not working yet
2020-06-29 22:49:00 +01:00
JetSetIlly
aae1aba5d2 banks now represented by BankDetails type
disassembly window shows "executing from cartridge RAM" message

better disassembly decoding loop. clarified and corrected commentary in
disassembly package. identified some more critical sections in
disassembly package

this results in a better mnetwork disassembly

origin and memtop for disassembled entries are now definable. added
disassembly.FxxxMirror to preferences. PREF command can now set
FxxxMirror option. Added checkbox to win_prefs

renamed Iterate to IterateBank and added IterateCart

UpdateEntry() ignores any result not in the cartridge ROM space

tidied-up/unified preference files in debugger/disassembly/hiscore
packages
2020-06-29 19:26:10 +01:00
JetSetIlly
65b3758ca9 HMOVE overlay 2020-05-29 20:23:06 +01:00
JetSetIlly
fb37258489 better tooltips for layers. added info about which elements are
colliding in collisions layer
2020-05-29 18:01:04 +01:00
JetSetIlly
1bf49b1e23 added collision overlay
which overlay to use is now selectable

fixed fragment shader for overlay texture

changed colour of screen boundaries for uncropped screen
2020-05-28 23:58:04 +01:00
JetSetIlly
1dac11e320 changed how and where LastElement information is stored 2020-05-27 19:40:21 +01:00
JetSetIlly
323459fd16 move altPixel signalling to reflection package
reworked how palettes and individual colors are stored

reworked reflection package. dropped the TIA register reflection for
now. will add back again at a later date.

dropped the altPixel phraseology. now just referred to as debug colors
(like Stella and how earlier versions did). rename gui requests
accordingly.

improved mouse-hover window in debugger
2020-05-26 21:56:10 +01:00
JetSetIlly
3635bb34b1 tooltip over screen showing screen "coords" and CPU state
started refactor of reflection package. added Broker interface
- similar in purpose to the Broker interface in the terminal package
2020-05-16 20:14:33 +01:00
JetSetIlly
e3cd93a2a5 added reflection support to sdlimgui interface 2020-05-15 21:55:41 +01:00
steve
9967f87a77 split metapixel idea from gui package
moved reflection package to parent package and merged
with metapixel

there is now no reference to metapixel in the system
2020-02-08 07:55:14 +00:00
Renamed from gui/metapixels.go (Browse further)