JetSetIlly
92d4f170f8
hsync events differentiated by typedefed integer instead of a string
2022-05-28 19:12:16 +01:00
JetSetIlly
d7b1f0df71
simplified conditions underwhich playfield and sprites tick()
...
also triggerMissileReset() is passed to missile at init time and not on
call to Missile.tick()
small performance improvement
2022-05-28 19:12:16 +01:00
JetSetIlly
8241f85f0f
corrected when playfield "ticks" and added an early return condition
2022-05-27 23:19:54 +01:00
JetSetIlly
bacfa2c2f1
added UpdateTracker() to Audio package. not part of the Step() function
...
this isn't a performance improvement but it Step() is now clearer and
UpdateTracker() can be called less often
2022-05-27 22:15:24 +01:00
JetSetIlly
6b089f5f57
ChipHasChanged() used to decide whether to call Step() or QuickStep()
...
small speed increase because we can use QuickStep() more often than
Step() when processing the TIA and RIOT
2022-05-27 21:27:11 +01:00
JetSetIlly
7ee76e030a
note about supercharger tape regulator timings
2022-05-26 21:10:28 +01:00
JetSetIlly
d47bbe01c3
readded Supercharger WAV loading using go-audio/wav package
2022-05-26 16:31:45 +01:00
JetSetIlly
7e57bbe46c
removed unused/unwanted dependencies
...
go-wav, statsview and memviz all indirectly used gopkg.in/yaml.v3 which
I do not want to depend upon
WAV functionality is no longer available for wav writing or reading
(supercharger tapes). will try to reintroduce functionality in the
future
2022-05-26 12:14:34 +01:00
JetSetIlly
3d67309adc
commenting and variable naming change in TIA implementation
...
changes intended to clarify the thinking behind optimisation strategy in
the TIA
2022-05-26 08:37:34 +01:00
JetSetIlly
6cd9b8c8e1
previous frame of audio signals resent when realtime mixer is starved
2022-05-25 13:56:01 +01:00
JetSetIlly
8fb2d16b00
reording of CDF MapAddress() decisions
2022-05-25 09:23:56 +01:00
JetSetIlly
aa3facd2a8
moved baud count check in AtariVox to before the state check
2022-05-25 08:16:54 +01:00
JetSetIlly
e36b068305
fixed program memory boundary check in ARM
...
the incorrect code has never caused an issue to my knowledge but it can
easily be seen that it might cause a out-of-bounds array access
2022-05-25 08:16:54 +01:00
JetSetIlly
bf6a785e70
CDF/DPC+/DPC and ParkerBros all returned errors on cartridge write
...
... regardless of whether the write address was a recognised register.
this resulted in the CPU string formatting the error, which was wasted
CPU load and resulted in memory allocations
the error wasn't noticed because the CPU error was never logged
2022-05-23 19:56:06 +01:00
JetSetIlly
5230bf80b4
check for disasm==nil in ARM before formatting disasm notes
...
resulted in needless call to formatting functions and to malloc
2022-05-23 19:07:19 +01:00
JetSetIlly
a9710d55ef
corrected how atarivox is muted/disabled
...
mute/disable only prevents engine.SpeakJet() being called. it no longer
disables any other atarivox or savekey updating
2022-05-23 18:56:43 +01:00
JetSetIlly
7e0e2a4714
altered how ineffective TIA/RIOT writes are handled
...
removed frequent and relatively expensive map lookups resulting in a
small performance increase
2022-05-23 18:02:40 +01:00
JetSetIlly
6422c08ddf
QuickStep() added to complement Step() for TIA and RIOT
...
QuickStep() removes all checking for changed memory state. moreover, if
the CPU RDY flag is false, we can say that QuickStep() is always
prefered to Step() because by definition the state of memory cannot have
changed
a small but significant performance improvement. a side effect of this
improvement is that execution speed will increase depending on the
number and length of WSYNCs
2022-05-23 18:02:40 +01:00
JetSetIlly
5fb2bcc5b2
triggerMissileReset() only called on missile tick when necessary
...
small but significant performance improvement. the previous method by
which triggerMissileReset() could be considered a bug as it differed
from the intention. current code is correct with regards to intention
2022-05-23 18:02:40 +01:00
JetSetIlly
8edd79a9e8
removed writeSignal check in TIA and RIOT memory modules
...
the check was added as a protection/warning against incomplete TIA/RIOT
implementations. the removal has resulted in a small performance
improvement
2022-05-23 18:02:13 +01:00
JetSetIlly
a5468fc215
simplified CPU cycleCallback function. removed nil check
2022-05-23 14:29:33 +01:00
JetSetIlly
bb707e5818
tidied Audio.Step() function
2022-05-23 14:29:33 +01:00
JetSetIlly
997411743d
abstract filepath.Abs() in fs package (for wasm target)
2022-05-22 21:45:51 +01:00
JetSetIlly
618e239bf6
operator field in instructions.Definition is now numeric
...
this significantly increases the speed of lookup in the cpu
2022-05-22 20:52:54 +01:00
JetSetIlly
08ec430643
small performance bump by removing implicit call to runtime.assertI2I
2022-05-22 19:47:00 +01:00
JetSetIlly
c20b20d5f7
clarified some concepts in the prefs package. "fixed" the Generic type
2022-05-16 13:05:26 +01:00
JetSetIlly
ee07cd0a54
muting of peripherls must now go through the central ports.MutePeripherals() function
...
this allows the ports type to apply the mute state on newly inserted
peripherals
this prevents the situation on startup in which the mute is applied
before the peripheral is inserted
2022-05-15 21:29:31 +01:00
JetSetIlly
deb0887165
atarivox implementation will not produce sound if audio is muted
...
audioEnabled preference values renamed to audioMute
this is to facilitate the differentiation of muting and disabling
AtariVox output. muting of AtariVox is a subset of audio mute.
2022-05-13 11:30:55 +01:00
JetSetIlly
e3432cf1ab
frame relative statistics collated by coprocessor.developer package
...
should work even if no source is present (unlike the other performance
statistics)
performance window shows "summary relative to TV" data
2022-05-08 17:55:53 +01:00
JetSetIlly
a18bd571cc
Added reference to the TIA colour chart used for TV colour values
2022-05-08 14:40:50 +01:00
JetSetIlly
07a148dba0
note which 2600 kernel an ARM program is run in
...
added column in performance window
2022-04-30 13:30:36 +01:00
JetSetIlly
8cd1cbd343
mnetwork bank selector was broken for ROMS <16k
2022-04-29 14:16:23 +01:00
JetSetIlly
fd591dd46d
peripherals weren't being fingerprinted when loading from an initial ROM selector
2022-04-29 13:50:33 +01:00
JetSetIlly
b393ef0ec5
reverted f09ac1501c
2022-04-29 12:07:21 +01:00
JetSetIlly
7112abb5a9
Stack collisions now appear in illegal access log/window
...
once a stack collision has occured illegal memory accesses are no longer
checked
2022-04-24 19:14:51 +01:00
JetSetIlly
dd20c1b18c
ARM stack collision detection
...
if ARM SP register has changed the new value will be compared with the
highest memory address occupied by a variable in the source. collisions
will be logged
preference added to abort thumb program early if a collision happens
2022-04-23 23:15:11 +01:00
JetSetIlly
f09ac1501c
ARM stack pointer only reset on processor instantiation
2022-04-23 20:30:44 +01:00
JetSetIlly
0b1a883984
RAM window indicates whether address has a symbol
...
applies to Cart RAM window too
VCS RAM window shows extent of stack. tooltip shows predicted address in
event of RTS
DrawByteGrid() function is more flexible. old method is available as
DrawByteGridSimple()
2022-04-23 15:59:47 +01:00
JetSetIlly
e8194e29d5
adjust missile reset missile conditions for double width player
...
noticed by @ale-79 in https://github.com/stella-emu/stella/issues/889
2022-04-22 17:00:55 +01:00
JetSetIlly
ca0b6ffe18
refined hotload functionality. only enabled for CDF carts
...
still not really useful except for simple CDF carts
2022-04-22 14:32:28 +01:00
JetSetIlly
02f91de198
F4 bank switching scheme hard-wired to start from bank 0 and not bank 7
2022-04-13 14:16:43 +01:00
JetSetIlly
39c7969657
updated CDFJ+ mapper. now supports fast LDX/LDY and stream offsets
2022-04-12 20:20:04 +01:00
JetSetIlly
44e383923c
reworking of CartStaticBus interface and related types
...
easier to look at and should be more flexible when going forward with
DWARF variable handling
2022-04-12 20:20:04 +01:00
JetSetIlly
65bd001d9c
global variables window. proof of concept implementation.
...
ammended mapper.StaticBus to support Reading from address. some DPC+
features temporarily not available as a result
2022-04-12 20:20:04 +01:00
JetSetIlly
897db2e0ea
added SWCHB truth table to comment for deriveSWCHB()
2022-04-12 09:46:17 +01:00
JetSetIlly
2c5a543489
fixed logic behind SWCHA. it is not the same as SWCHB
...
SWCHB was working fine. logic for SWCHB was mistakenly applied to SWCHA
2022-04-11 23:04:45 +01:00
JetSetIlly
154442e4cb
added CDF streaming window
...
clarified CDF implementation, particularly how registers are handled
increased the number of nominal datastream registers to the correct 32
update of DPC and DPC+ windows to mirror cosmetic changes in CDF
registers window
cosmetic changes to disabled widgets
2022-04-10 22:15:08 +01:00
JetSetIlly
8633e2e2e6
gamepad correctly raises the high bit of INPT0 (and INPT2 for right player)
...
Unplug() function correctly implemented for gampad, stick, paddle and keypad
2022-04-09 15:24:16 +01:00
JetSetIlly
3972842419
added left and right arguments for debugger and playmode
...
PERIPHERAL command now accepts AUTO parameter. this will (re)fingerprint
the cartridge and insert the "detected" peripheral
implementation temporary in lieu of an improved setup package
2022-04-09 15:24:16 +01:00
JetSetIlly
2800c911c8
ARM access of address 0x00 is treated as illegal (probably null derefernece)
2022-04-09 15:24:16 +01:00