Commit graph

2968 commits

Author SHA1 Message Date
JetSetIlly
d635127123 added YieldRunning yield type 2023-07-17 15:50:07 +01:00
JetSetIlly
5e0962b040 removed interrupt field 2023-07-17 15:50:07 +01:00
JetSetIlly
81f4a83490 more flexible yield information 2023-07-17 15:50:07 +01:00
JetSetIlly
123a96cd09 WIP: arm architecture 2023-07-17 15:50:07 +01:00
JetSetIlly
655fcb7760 added govern.Initialising test to debugger.CartYeild implementation
this prevents the emulation getting itself into a bad situation on
insertion of an ARM using cartridge
2023-07-17 15:50:07 +01:00
JetSetIlly
661969f509 MAM registers for ARM7TDMI class chips were not enabled
this bug only affected the MAM control registers. the MAM functioned
correctly and whatever value was set in the preferences
2023-07-17 15:50:07 +01:00
JetSetIlly
bc7762a4dd corrected/clarified handling of ARM memory alignment 2023-07-17 15:50:07 +01:00
JetSetIlly
e5b4946578 implemented Thumb-2 RRX 2023-07-17 15:50:07 +01:00
JetSetIlly
031e48a1c3 implemented VCVT (to integer) 2023-07-17 15:50:07 +01:00
JetSetIlly
8622357790 implemented VMUL, VNMLA, VNMLS, VNMNUL 2023-07-17 15:50:07 +01:00
JetSetIlly
b15933e786 implemented VCMP 2023-07-17 15:50:07 +01:00
JetSetIlly
21ace79f9a implemented VSTM instruction for ARM FPU 2023-07-17 15:50:06 +01:00
JetSetIlly
eb09909e78 added CPU interface to TIA package
the TIA only needs to set the RDY flag. using an interface like this is
a better way of achieving that
2023-07-17 15:50:06 +01:00
JetSetIlly
60bb13e302 FPS measurement was broken if television was being nudged 2023-07-16 21:43:36 +01:00
JetSetIlly
0ee53680f8 removed automatic pluscart detection for CDF and DPC+ mappers 2023-07-14 11:17:43 +01:00
JetSetIlly
1818c3cf59 corrected 7ff8013d6 for non-ACE cartridges
cartridge mappers that don't implement the mapper.CartCoProcNonRelocatable
interface (CDF, DPC+) were having DWARF addresses adjusted incorrectly
2023-07-12 15:44:43 +01:00
JetSetIlly
7ff8013d69 corrected placement of non-relocatable source code relative to executable memory
this primarily affects ACE files and corresponding ELF/DWARF data
2023-07-11 08:24:17 +01:00
JetSetIlly
f69aae5dbc improved log window scrolling 2023-07-10 16:20:43 +01:00
JetSetIlly
b25f235283 extended logging of ARM memory errors
controlled by preferences file (false by default)
2023-07-10 15:33:14 +01:00
JetSetIlly
ecfdfd7444 mutliline log entries split into multiple entries
each entry is prefixed with the log tag
2023-07-10 15:33:14 +01:00
JetSetIlly
12ce4ec98c fixed crash in timeline window when scrubbing past end of rewind history 2023-07-10 15:33:14 +01:00
JetSetIlly
0b46e2763a added VSUB and FPSub() missing from previous commit 2023-07-06 15:39:47 +01:00
JetSetIlly
8de0821f5a added FPU emulation to ARM package
incomplete but currently implements VADD, VSUB, VDIV, VSTR, VLDR, VLDM,
VPUSH and some variants of VMOV and VCVT
2023-07-06 13:49:58 +01:00
JetSetIlly
9fcc43fea7 corrected boundary check for ARM program memory 2023-07-06 13:49:58 +01:00
JetSetIlly
732c433cd2 tidied and simplified test package 2023-07-06 13:49:18 +01:00
JetSetIlly
1b021ccf40 updated README 2023-06-30 20:22:30 +01:00
JetSetIlly
c857b00035 fixed crash when debugging 8k mnetwork ROMS
GetBank() implemention for mnetwork reported bank 7 as being the bank
ocuppying segment 1 (the second segment). this is fine in most instances
except that in 8k mnetwork ROMs there is no bank 7. the correct value
for segment 1 is the number of the last bank number available in the
ROM, which in the case of 8k ROMs is bank 3

8k mnetwork ROMs are not common. I only know of Bump'n'Jump
2023-06-30 08:02:31 +01:00
JetSetIlly
19ef518185 calculated/variable threshold value for supercharger audio data
the average value in the PCM data is taken to be the threshold value.
the previous value was zero, which is unsuitable for some WAV files
2023-06-27 15:31:52 +01:00
JetSetIlly
894d491371 added 32bit Thumb instruction TST (register) 2023-06-24 22:16:07 +01:00
JetSetIlly
83f4796160 arm misaligned memory access reports instruction's PC value not the current PC register value 2023-06-24 09:07:46 +01:00
JetSetIlly
0bb04df97f added 32bit Thumb instructions SXTH and SXTAH 2023-06-23 21:35:44 +01:00
JetSetIlly
f49d5f9238 added 32bit Thumb instructions SXTB and SXTAB 2023-06-23 21:30:19 +01:00
JetSetIlly
67dbd134cb ACE startup copies GPIO registers to "virtual arguments" area
this is new for the ACE-UF00 version of the ACE format but seems to be
backwards compatiable with earlier versions (the reference PlusCart
implementation does not dinstinguish between versions when preperating
the virtual arguments)
2023-06-23 21:12:19 +01:00
JetSetIlly
53cdad7c9b added disassembly for CPSID
the emultion deliberately panics if an instruction can't be disassembled
2023-06-23 07:34:45 +01:00
JetSetIlly
6d2713d70a removed misleading comment from commavid implementation 2023-06-22 20:54:24 +01:00
JetSetIlly
e8e5daf011 better control of timeline thumbnail generation
previously, throttling of thumbnail generation was controlled by the
clock. for fast running emulation this wasn't a problem but for slower
emulation (eg. ACE) this was ineffective and caused multiple thumbnail
request to queue up

this revealed a general inefficiency, even if it wasn't noticeable in
"normal" circumstances

the new throttling method prevents more a thumbnail request to be
generated if one is in process
2023-06-22 18:38:26 +01:00
JetSetIlly
b257c21dab small reorganisation of performance window
the reset statistics button moved to sit alongside kernel focus option

checkboxes moved to their own line. all controls are now visible even
when the window is resized to its smallest
2023-06-21 21:48:21 +01:00
JetSetIlly
d44a979a99 nil check for absent .debug_loc section in DWARF builder 2023-06-21 21:41:20 +01:00
JetSetIlly
025746af65 adjusted ACE memory allocation 2023-06-21 20:04:34 +01:00
JetSetIlly
63933d4e51 added ACE-UF00 variation of ACE 2023-06-21 08:35:06 +01:00
JetSetIlly
b61dd3fe06 implemented CartMapper.CopyBanks() for ACE 2023-06-21 08:35:06 +01:00
JetSetIlly
3048f54863 added convenient method for the ARM to disassemble to stdout
the mapper.CartCoProcDisassemblerStdout implementation already existed
2023-06-21 08:35:06 +01:00
JetSetIlly
9e05fa0ac5 fixed 32bit ARM instruction opcode information for live disassembly
it worked fine for static disassembly but the Is32bit flag was not being
set for live disassemby
2023-06-21 08:35:06 +01:00
JetSetIlly
cb524b09cf added 32bit Thumb instruction AND (with ASR) 2023-06-18 21:36:34 +01:00
JetSetIlly
462c72cf1a timeline thumbnail disabled by default 2023-06-18 21:36:34 +01:00
JetSetIlly
2a75658f61 timeline thumbnail shown in a fixed location on either the left or the right 2023-06-18 21:25:07 +01:00
JetSetIlly
0a71653f33 removed tooltip for timeline window replaced with more infomative
toolbar
2023-06-18 21:25:07 +01:00
JetSetIlly
7f4126d226 added COMPARISON command
timeline window uses new command to make changes

comparison point can be locked
2023-06-18 21:25:07 +01:00
JetSetIlly
bde74a49b2 more timeline improvements/fixes
orange TV icon used to show current rewind position

fixed frame guide labelling

comparison point can be set from the popup menu
2023-06-18 21:25:07 +01:00
JetSetIlly
7b352310e3 fixed bug that cause terminal to open on debugger.UserQuit
the debugger.UserQuit error needs to be filtered before it can printed
to the terminal. the test was there but the logic was inverted causing
all errors except debugger.UserQuit to be filtered
2023-06-17 06:54:29 +01:00