transistor
f9d613b3b9
Fixed some Z80 instruction timings
2023-06-10 21:55:25 -07:00
transistor
cbcfb26f49
Updated todo list
2023-06-10 20:32:34 -07:00
transistor
be91118bac
Added function to create the CPU BusPorts based on the CPU type
2023-06-10 20:28:40 -07:00
transistor
83307d5b33
Changed Error type into an enum
2023-06-10 19:29:54 -07:00
transistor
e3861f33b5
Fixed tests and clippy warnings
2023-06-10 17:39:20 -07:00
transistor
3bd4c24ea8
Modified debugger so the input is in the frontend
...
The debug loop that reads a command and does something is part of the
frontend's main loop, so that it can potentially update, even though
it doesn't actually work for minifb because the command input is a
blocking call. It's also not implemented in the pixels frontend.
At some point I'll make a web frontend.
2023-06-10 15:28:21 -07:00
transistor
18d1912f9a
Added debuggables list to system
2023-06-07 21:08:28 -07:00
transistor
fdca8970f2
Added new Device type to replace TransmutableBox
...
It's mostly just sugar, but it now includes a unique ID
2023-06-07 20:44:14 -07:00
transistor
3db52cbef6
Changed the Addressable trait's len() to size()
...
This is to avoid the need for the clippy override
2023-06-07 19:56:00 -07:00
transistor
4d6e3af567
Updated harte tests
2023-06-04 22:47:06 -07:00
transistor
708e7706f3
Fixed many of the undocumented tests
...
Now it's up to 99% tests passing, 15362 are still failing, but many
of those are the unimplemented IN/OUT instructions, which the Genesis
doesn't seem to use
2023-05-22 21:12:05 -07:00
transistor
8c1a89a1fe
Refactored memory access a bit to try to isolate it
2023-05-21 23:14:26 -07:00
transistor
d87319b605
Refactored shift intsructions to not use direction
2023-05-20 15:01:10 -07:00
transistor
64b18662d5
Added Z80 timings, and enabled check in rad tests
2023-05-15 21:13:52 -07:00
transistor
f205e231b6
Fixed tests failing due to wrapping into past the end of memory
2023-05-14 21:12:38 -07:00
transistor
aaa7952dd0
Split the Z80 instructions into individual functions like the m68k
2023-05-14 15:49:38 -07:00
transistor
7e62a2691c
Started implementing INI instruction for Z80
2023-05-14 10:29:41 -07:00
transistor
6390a207a6
Attempted to implement DAA but still have a lot of failures
2023-05-13 21:35:50 -07:00
transistor
5ec2fe4157
Implemented RLD and RRD instructions for Z80
2023-05-13 21:06:00 -07:00
transistor
f3d1fd0ae2
Added IM, IFF1, and IFF2 checking to Z80 tests, and fixed issues with Z80 impl
2023-05-13 19:41:20 -07:00
transistor
e61e0cfe8f
Fixed flags for BIT instruction in Z80
2023-05-13 17:36:32 -07:00
transistor
f0cbf5f2ca
Fixed some IY instructions, and a few minor fixes
2023-05-13 16:17:14 -07:00
transistor
e959b8df1c
Fixed version issue with Pixels frontend and updated to 0.12
2023-05-13 15:14:11 -07:00
transistor
57f9f93cc9
Fixed the basic IN/OUT instructions on Z80, and basic RETI/RETN
2023-05-13 14:47:27 -07:00
transistor
c97b3b8aca
Fixed half carry in Z80
2023-05-13 11:55:13 -07:00
transistor
cf4e31454b
Fixed some Z80 tests related to the overflow flag
2023-05-13 10:36:50 -07:00
transistor
d8638c6f82
Added a way to only run documented Z80 instruction tests
2023-05-13 10:14:47 -07:00
transistor
b2b9d73375
Added mode to ignore undocument flags in Z80 tests
2023-05-12 19:05:43 -07:00
transistor
6be36fe816
Added Cargo.lock to fix github actions
2023-05-09 23:10:05 -07:00
transistor
9694036e33
Fixed Z80 to pass the rad tests
2023-05-09 22:58:56 -07:00
transistor
f8083db181
Added raddad772/jsmoo's Z80 test runner
...
Special thanks to raddad772 https://github.com/raddad772
Also added some fixes to the Z80 for panicking math operations, but
it still won't complete due to an unimplemented instruction
2023-05-09 21:50:42 -07:00
transistor
5e228c377e
Fixed tests after ClockTime and Frequency changes
...
And also removed HostData
2023-05-07 20:42:55 -07:00
transistor
6389fa0482
Connected the web ui controller inputs to sim
2023-05-07 14:57:45 -07:00
transistor
6f871a3b0b
Fixed console frontend after host trait changes
2023-05-07 10:29:34 -07:00
transistor
527f65c69b
Refactored audio to use ClockedQueue
...
It now actually checks the clock and tries to mix the audio in sync
relative to the clock, but the cpal output doesn't yet try to sync
to the StreamInstant time. Sound seems a lot better on chrome in
wasm, but and kind of better on firefox despite frame skipping not
being supported yet, but it's way slower for some reason (12fps)
2023-05-07 10:03:25 -07:00
transistor
112bd8219b
Replaced controller/key/mouse updaters with event queues
2023-05-06 10:04:44 -07:00
transistor
3471eb4e8c
Removed WindowUpdater and BlitableSurface
2023-05-03 22:42:24 -07:00
transistor
8a8bcb2277
Updated actions
2023-04-30 23:19:01 -07:00
transistor
9cfd445502
Updated actions
2023-04-30 23:11:52 -07:00
transistor
d6d88e5b3b
Fixed unresolved import in pixels frontend
2023-04-30 23:05:58 -07:00
transistor
7030924188
Added bin
2023-04-30 22:59:59 -07:00
transistor
77fb028c06
Added pixels to github pages action
2023-04-30 22:39:05 -07:00
transistor
e13d67abf4
Updated actions
2023-04-30 22:10:49 -07:00
transistor
da79afe20b
Updated actions
2023-04-30 21:39:50 -07:00
transistor
c6c2493e6e
Added github action
2023-04-30 21:33:02 -07:00
transistor
8b30750924
Changed package names to not conflict with binary names
2023-04-30 21:32:33 -07:00
transistor
074d29c023
Modified ym2612 to use 16 bit signed number a bit sooner
2023-04-30 16:48:40 -07:00
transistor
71cd47466b
Getting closer on the ym2612 implementation
...
It now sort of sounds like the main instrument, but the drums and bass
aren't there, and I'm not sure why. I'm pretty sure the envelope and
phase generators are working, and there is feedback although it might
not be correct. There's no LFO but that isn't used by Sonic 1 from
the register writes at least.
2023-04-29 22:10:34 -07:00
transistor
a6e236a762
Added detune to ym2612, and channel enable, even though it's still only mono
2023-04-29 12:24:21 -07:00
transistor
b243aa9910
Added a not-yet-properly-working version of the phase generator
2023-04-28 20:22:33 -07:00