Commit Graph

143 Commits

Author SHA1 Message Date
beeanyew
14ab430e87 Spoiler: IRQs were secretly not okay 2021-08-12 07:44:33 +02:00
beeanyew
68eea7ae68 Some extremely stupid things (IRQs now kind of okay?) 2021-08-12 07:14:39 +02:00
beeanyew
bdfe7ccf53 Revert "Some more Chip fastpath stability stuff"
This reverts commit eea4bcfafa.
2021-08-11 15:17:05 +02:00
beeanyew
eea4bcfafa Some more Chip fastpath stability stuff 2021-08-11 14:18:40 +02:00
beeanyew
78f2b53645 Various (some unused) GPIO things 2021-08-11 12:34:23 +02:00
beeanyew
7a10901dc6 Experimental Chip speed hax 2021-08-01 09:39:27 +02:00
beeanyew
50f2b0a902 Fix revert 2021-07-31 20:09:24 +02:00
beeanyew
1b04d708de Revert "Simplify IRQ handling a bit"
This reverts commit df0c88bf4b.

Conflicts:
	emulator.c
2021-07-31 18:53:54 +02:00
beeanyew
5b0ac4a661 Revert "Fix/break IRQ behavior again"
This reverts commit c0fbb0f4c6.
2021-07-31 18:50:24 +02:00
beeanyew
c0fbb0f4c6 Fix/break IRQ behavior again 2021-07-25 12:56:43 +02:00
beeanyew
b996205787 Remove inline ps_read/write from emulator.c 2021-07-25 12:31:20 +02:00
Matt Harlum
0ab099077a slow-to-chip: Fixup agnus detection
Write to VPOSW before reading Agnus id seems to fix cold boot Agnus id read failure

Add "force-move-slow-to-chip" config option to force-disable Agnus check in case issue persists
2021-07-18 16:26:20 +02:00
beeanyew
df0c88bf4b Simplify IRQ handling a bit
Hopefully this doesn't break everything.
2021-07-17 16:01:44 +02:00
beeanyew
1702fe03af Proper (?) master IRQ mask handling 2021-07-14 10:07:42 +02:00
Matt Harlum
ff9f2aa632 Add DF1 bootselect, Add option to move slow ram to chip ram 2021-07-10 20:15:30 +02:00
beeanyew
208ba3d79d Get rid of Musashi separate writes
The separate writes functionality of Musashi was severely getting in the way of any kind of caching of bus longwords, and I found that the negatvie performance impact of disabling separate writes could be negated by creatively applying the address translation cache to the FC reads/writes instead.
This commit requires a `make clean` before rebuilding the emulator with `make`.
2021-06-28 15:08:28 +02:00
Paulo Duarte
5b74c77b1a Keyboard using emulated IRQ 2021-06-27 04:25:11 +01:00
Paulo Duarte
fcd850c495 Amiga emulated IRQ implementation 2021-06-27 04:24:38 +01:00
beeanyew
882bd28428 Unbreak (actually break) IRQs again... 2021-06-26 14:41:48 +02:00
beeanyew
ea48014e54 Break IRQs again 2021-06-24 09:52:36 +02:00
beeanyew
6695f9335e Revert to new IRQ behavior after some unsuccessful experiments
This brings back all the graphics and music glitches, but it does make fewer games and software lock up on missed IRQs.
2021-06-23 06:43:25 +02:00
beeanyew
16a902fad2 Add some more Mac68k handling stuff 2021-06-23 04:42:58 +02:00
Rune Holm
0c763fca70 introducing CPU state parameter 5 - now switched most register state over 2021-06-20 21:42:03 +01:00
Rune Holm
14636790c6 introducing CPU state parameter 2021-06-20 21:54:05 +02:00
beeanyew
b7f62f8e5d [HAX] Fix old-new IRQ behavior a bit? 2021-06-20 18:00:31 +02:00
beeanyew
9a043dfb87 [HAX] Try some different IRQ behavior
May or may not require a make clean, also may or may not require a custom firmware to work.
2021-06-20 06:13:40 +02:00
Rune Holm
a2b0521dbd move address translation cache fields from global variables to the m68k struct, as
this way we can pass around one pointer and access them all in the future.
This happens to win 5-10% performance, because now the code generator can generate a single
global variable pointer to get to all of the translation cache/range fields at once.
2021-06-18 22:01:22 +01:00
beeanyew
ae4e0ae9f1 Add some Mac thing to enable/disable ROM overlay 2021-06-18 22:01:20 +01:00
beeanyew
e01f68fd4f Move Amiga register read/write checks to PLATFORM_AMIGA scope 2021-06-18 22:01:19 +01:00
beeanyew
635711f798 [HAX] Inline ps_read8/16/32 in emulator.c to avoid long jumps on bus transactions 2021-06-18 22:01:17 +01:00
beeanyew
62d18f9f13 Merge branch 'wip-crap' into main 2021-06-11 21:38:36 +02:00
Rune Holm
3203ac8590 Created address translation fast path for code reads, separated slow path into separate function so the fast path is more likely to be inlined. 10-20% performance improvement 2021-06-11 18:37:57 +01:00
beeanyew
f77e1715a6 Reduce lag of repeatedly triggered interrupts a bit
Please tell me if this breaks everything.
2021-06-08 22:23:26 +02:00
beeanyew
16af9ca169 Support unaligned memory writes over the 68000 bus 2021-06-07 10:22:31 +02:00
beeanyew
6214f9892f Abuse PiStorm Device code to load configs on startup 2021-05-23 09:54:39 +02:00
beeanyew
5a120a647d Add support for automatic ROM range dumping to memory/file 2021-05-21 18:53:31 +02:00
beeanyew
57cb77b19f Replace/clean up old platform read/write check macros 2021-05-19 18:54:56 +02:00
beeanyew
a9b6d31740 Fix platform write check bug 2021-05-13 19:57:37 +02:00
beeanyew
5203e0a61c Remove CIA ovl enable write on boot, fix RTC size in default.cfg 2021-05-13 17:38:22 +02:00
beeanyew
0463d4b6c0 Shut down RTG thread with emulator 2021-05-12 05:46:06 +02:00
beeanyew
8a22bdfbf7 Comment out Chip RAM clear on config switch 2021-04-25 07:55:27 +02:00
beeanyew
0720a8caed Add terrifying Pi shutdown command
Should make users nervous about corrupting their SD card more nervous, but somehow doesn't.
2021-04-24 09:28:30 +02:00
beeanyew
3296b79e75 The remainder of the initial PiStorm interaction stuff (I think) 2021-04-23 16:03:36 +02:00
beeanyew
8a14e4c1a1 Add not-so-simple config switching from Amiga side 2021-04-23 13:03:54 +02:00
beeanyew
e4313cfbd3 Remove old IRQ delay debug setting 2021-04-22 03:08:29 +02:00
shanshe
25573d791c RTG off after Amiga reset 2021-04-20 19:46:58 +02:00
Andrew Hutchings
10d5229b68 Add license information to source
MIT license was chosen
2021-04-16 09:06:27 +01:00
just nine
e43b2b5a53 squash silly warning 2021-04-14 23:17:33 +01:00
just nine
3f6d1947e2 handle keyboard/mouse autoconnect 2021-04-14 23:17:02 +01:00
just nine
a0589749d4 reintroduce this label 2021-04-14 22:39:48 +01:00