JetSetIlly
abe3a0837f
added a pgo file - performance profile of ARM using ROM
...
build and release targets in Makefile now use pgo
2023-02-12 13:23:40 +00:00
JetSetIlly
178f05f17b
updated go minimum version to 1.20
...
applied gofmt to source tree to update the documentation comments
2023-02-12 13:09:07 +00:00
JetSetIlly
73a9c91930
disabled paint tool. not ready for v0.20.0
2023-02-11 19:00:33 +00:00
JetSetIlly
044240f9c9
coprocessor function window includes filename
...
small corrections in some other coprocessor windows
2023-02-11 18:45:25 +00:00
JetSetIlly
8ceeedd93b
expanded list of paths in which stockfish is looked for
...
this relates to the experimental Video Chess bot only
2023-02-11 12:48:18 +00:00
JetSetIlly
ce01bbe389
added yield processing to DPC+ mapper
2023-02-11 10:06:03 +00:00
JetSetIlly
e1078855e3
readded 'break anywhere' for coprocessor
2023-02-09 19:51:48 +00:00
JetSetIlly
c440d7b0de
corrected mapping of timer read addresses
...
removed symbol check from riot/tia read() functions
2023-02-09 19:51:48 +00:00
JetSetIlly
7995609ab0
added delay to plusrom network transmission
...
in the PlusCart it takes time for the send buffer to be transmitted over
the network. this means that it's possible for the buffer to be
overwritten by the 6507 during that time
this was particularly noticeable in v1.02 of the game HappyBird which
inadvertently triggered the $1ff1 address repeatedly
because the emulation did not account for the delay, the buffer was sent
before it could be overwritten
2023-02-08 07:39:58 +00:00
JetSetIlly
9e70f97db0
added BUS command
...
renamed lazy mem to lazy bus. better description of it's purpose.
updated field names to reflect historical changes in the hardware
package
2023-02-06 22:16:06 +00:00
JetSetIlly
4d8fdbf242
reimplementation of 3e and 3e+
...
previous implementations were broken by 8766e794dc
2023-02-06 21:53:45 +00:00
JetSetIlly
8766e794dc
refined how cartridge is accessed
...
cartridge access is now divided into Access(), AccessVolatile() and
AccessPassive()
Access() and AccessVolatile() could easily be combined into one function
but I feel it is clearer to keep them separate
hardware/memory.go Read() function refined to be clearer about how and
when the cartridge is accessed
2023-02-06 21:49:07 +00:00
JetSetIlly
e289d15403
added default.pgo to .gitignore file
2023-02-06 21:48:46 +00:00
JetSetIlly
e2db5b3a4c
improved send/recv buffer display in plusrom network window
2023-02-06 21:44:18 +00:00
JetSetIlly
668290257c
added PHANTOM argument to WATCH command
2023-02-06 21:44:18 +00:00
JetSetIlly
487eb9099d
plusrom network notification only on 1ff1 and not 1ff0
...
similarly rewind boundary set only on 1ff1 and not 1ff0
when send buffer is full, the buffer is flushed (discarded rather than
sent over the network)
2023-02-06 21:43:13 +00:00
JetSetIlly
6fa8050068
list of sourcefiles default to "normal filenames" if no "short filenames" can be found
...
this can happen when the ROM file is in a different location to the
source files
this still isn't ideal but it's good for the time being
2023-02-05 14:04:43 +00:00
JetSetIlly
31be309056
tidied up GPIO implementation for ACE
2023-02-05 14:04:43 +00:00
JetSetIlly
2d0431bc83
regression tests check for CPU KIL state
2023-02-05 14:04:42 +00:00
JetSetIlly
09c039d778
fixed 3e illegal segment on AccessDriven()
2023-02-05 08:23:23 +00:00
JetSetIlly
ef545a4dcf
small performance improvements for ELF
...
this actually brings the performance closer to the original
implementation. the slowdown was due to changes to make the debugger
nicer to work with. those improvements have been kept at the same time
as a small speed up
2023-02-04 20:28:46 +00:00
JetSetIlly
131709cf8e
fixed the switch from playmode to debugger on ARM yield
2023-02-04 19:10:28 +00:00
JetSetIlly
a447a0ccfc
implemented 'wickstead design' bankswitching
2023-02-02 14:07:58 +00:00
JetSetIlly
7656bea678
added audio reflection layer
...
fixed imgui.EndChild() error for tracker window
2023-02-01 16:47:11 +00:00
JetSetIlly
a440255be4
corrected CPU SET command that is issued by the CPU window
2023-02-01 10:17:38 +00:00
JetSetIlly
cac9ae3f49
linear interpolation for thumbnail image in ROM select
2023-02-01 08:45:25 +00:00
JetSetIlly
896436f2e6
refined stereo effect
2023-01-31 18:52:17 +00:00
JetSetIlly
85c3ac8a2d
audio clock no longer sychronised on RSYNC
2023-01-31 18:51:52 +00:00
JetSetIlly
0871202756
function selection window
2023-01-31 07:21:30 +00:00
JetSetIlly
c104f738bc
nicer filenames in source/global fuzzy matcher
...
the fuzzy matcher now only include files that are in the same path as the
ROM
2023-01-31 07:20:36 +00:00
JetSetIlly
75a24df2a4
replaced chip icon in source window with coloured bar
...
the bar indicates whether the line is executable and the colour whether
it has been run recently or not at all
2023-01-30 21:15:24 +00:00
JetSetIlly
f744dbdc48
faded breakpoint icon shown on hover in source window
...
this indicates which source lines can have a breakpoint applied
2023-01-30 18:25:49 +00:00
JetSetIlly
bdc2fcc130
corrected live ARM disassembly for Thumb-2 instructions
...
uses placeholder information for Thumb-2 instructions for now. still
need to figure out an efficient way to add disasm information to a
decoded instruction. the current method for original Thumb instructions
is fine but it seems needlessly complex to use that for the larger
instruction set
cycle order is not reset if a 32bit instruction is being decoded. this
didn't affect cycle accumulation (which is correct as far as possible)
but it did affect cycle reporting for 32bit instructions
(cycle counting for the Thumb-2 instructions is still incomplete.
however, the majority of cycles will be accounted for because they occur
as the instruction is being deocded)
live disassembly and source level disassembly (coprocessor/developer
package) structures are still distinct. they use the same decoding
functions so the information should be identicaly but how we handle the
information is different depending on context
2023-01-30 14:40:54 +00:00
JetSetIlly
1572f9f836
corrected ExecutableOrigin() value for ACE
2023-01-29 17:50:11 +00:00
JetSetIlly
0babdfd2a5
result of ELF Segments are sorted by name
2023-01-29 12:19:32 +00:00
JetSetIlly
bb7f871d2a
corrected ARM memory boundary checks
2023-01-29 11:35:32 +00:00
JetSetIlly
cb4fd9ed14
always create frame and loclist sections for DWARF data
...
even when those sections aren't in the ELF data they are required for
DWARF variable address resolution
2023-01-28 22:43:32 +00:00
JetSetIlly
f123573f2b
framebase address calculation no longer offset by origin address
2023-01-28 22:19:48 +00:00
JetSetIlly
635b812cf0
loclist and framebase use a coprocessor shim to avoid rewind problems
2023-01-28 22:12:05 +00:00
JetSetIlly
791dc5e87e
placement of global variables is now correct
...
DWARF data relocation is now performed entirely in the ELF loader -
relocatable ELF files are not permitted for other cartridge types
2023-01-28 22:12:05 +00:00
JetSetIlly
64c5c05712
loclist operation decoder uses binary.ByteOrder function everywhere
2023-01-27 21:22:38 +00:00
JetSetIlly
79e966df67
limit loading of ELF files to 32bit files
2023-01-26 20:25:41 +00:00
JetSetIlly
86c0ad0953
GREP COPROC parses 32bit address (rather than a 16bit address)
2023-01-25 22:55:51 +00:00
JetSetIlly
b1cb526e0f
gotoSourceLine() sets focusYieldLine to false
...
focusYieldLine is set to true on source window creation and remains on
until the window has been drawn at least once. this prevents
gotoSourceLine() going to the correct line if the source window has not
been opened in the session
2023-01-25 22:49:43 +00:00
JetSetIlly
a4945f6cb9
added ReqCoProcSourceLine to gui requests
...
GREP COPROC will send the request to open the source window at the
correct line
2023-01-25 22:41:45 +00:00
JetSetIlly
949a3b7457
added GREP COPROC command
2023-01-25 22:41:45 +00:00
JetSetIlly
dce98c2fc3
source window search searches all files at once
2023-01-25 22:41:45 +00:00
JetSetIlly
cf91d2b392
reverted to allowing coproc breakpoints only on lines where the DWARF data allows it
...
the source window is now misleading perhaps because you can no longer
break on any line with a chip symbol
more work required on this
2023-01-25 22:40:45 +00:00
JetSetIlly
d4dcf3e259
32bit Thumb-2 instructions corrections/implementations
...
corrected LDR (register) instruction when target is PC register
implemented EOR (register) with arithmetic right shift
implemented ROR (immediate)
2023-01-25 20:00:32 +00:00
JetSetIlly
90b746f191
correct ELF relocation of DATA_MODER symbol
...
additional calls to runARM() in Elf.AccessPassive()
2023-01-25 20:00:32 +00:00