Commit Graph

55 Commits

Author SHA1 Message Date
transistor
39068fec2a Added audio support
It's better than it was but there are still minor drop outs due to
a buffer underrun I think (could be other timing issues related to
the update loop or something else).  Right now, the audio chips
just have some code to produce sine waves for testing.
2021-12-12 15:20:09 -08:00
transistor
0247279e4b Refactored signals and added a signal to break at the end of a frame draw 2021-12-08 19:07:27 -08:00
transistor
8db32ab9b3 Modified frame/frameswapper a bit 2021-12-08 13:52:11 -08:00
transistor
6dbae9620d Renamed SharedData to HostData 2021-12-07 14:29:38 -08:00
transistor
d274186388 Added Macintosh 128k/512k work in progress 2021-12-06 15:04:08 -08:00
transistor
9a751e5e90 Sega Genesis coprocessor bus is now working
I've added skeleton devices for the sound chips, and added the bank
register and banked area of ram mapped to the Z80's bus.  Sonic1 will
now run (if the ym2612 device's size is set to 0x1000 instead of 0x04)
2021-12-06 14:51:57 -08:00
transistor
8b8430bf13 Updated readme 2021-12-05 19:41:23 -08:00
transistor
5c7c9d065f Fixed issue with Scroll B offsets 2021-12-05 17:19:27 -08:00
transistor
dd0e84fa51 Improved genesis controllers a bit
Some games still broken, but sonic 2 works now
2021-12-05 15:38:11 -08:00
transistor
a5e4f51469 Fixed horizontal scroll
The mask for the scroll values was 0x3F but it should have been 0x3FF
2021-12-05 14:26:21 -08:00
transistor
fe60d01340 Added vertical and horizontal scrollling, but it's still a bit broken 2021-12-04 21:04:03 -08:00
transistor
73c5b26e86 Modified controller inputs to work like keys 2021-12-04 14:41:27 -08:00
transistor
8ced62cca0 Fixed bug in ym7101 DMA 2021-12-04 13:58:50 -08:00
transistor
1518ffbc60 Refactored ym7101 to store state unpacked
Previously it was storing data in the registers, which was an array
of u8, but now it's storing eg. full addresses for the scroll tables
so that they don't need to be fetched from the register values and
converted every rendering.  I was thinking this would maybe make
DMA debugging easier, in particular.
2021-12-04 13:55:58 -08:00
transistor
b540e53ea1 Fixed issues with Genesis controllers and sprite rendering
The controller th count was starting at 1 instead of 0 which caused
inputs to be read incorrectly, as well as the fact that inputs are
inverted.

The sprite fix now draws them in the right order so that ComradeOj's
sprite test renders correctly, but games still render them broken
because of some other bug yet to be found
2021-12-03 15:32:59 -08:00
transistor
9464e4c75a Renamed joystick to controller in host traits 2021-12-02 15:04:41 -08:00
transistor
0f2f989775 Fixed bug in m68k with Extend flag in shift instructions 2021-12-01 10:45:24 -08:00
transistor
31ff828f15 Added Inspectable trait for getting debug data from peripherals 2021-11-29 11:11:32 -08:00
transistor
cb47d23233 Fixed issue with colour 0 being the mask colour
For systems that legitimately use 0 for black, this causes a
problem, so I instead use 0xFFFFFFFF for the mask colour which
corresponds to transparent white in ARGB format, which minifb
doesn't support anyways
2021-11-23 11:45:44 -08:00
transistor
812f6800a8 Minor fixes 2021-11-18 08:46:41 -08:00
transistor
1d8065026d Minor fixes 2021-11-15 20:51:33 -08:00
transistor
a00d7b2f26 Fixed warnings 2021-11-13 11:39:20 -08:00
transistor
0836b6de8b Added decoding of most Z80 instructions, and additional bugfixes 2021-11-09 11:03:57 -08:00
transistor
d3efa072c2 TRS-80 Model 1 Basic is now working 2021-11-07 22:44:40 -08:00
transistor
6cb9b985ad Reworked Z80 flags 2021-11-07 16:28:44 -08:00
transistor
5bfde2bff0 Added TRS-80 simulation to test Z80 impl 2021-11-06 21:46:17 -07:00
transistor
7e999d4c3a Changed the way frontend works and added keyboard support 2021-11-06 21:44:25 -07:00
transistor
a3a11f7459 Fixed some sprites issues 2021-10-31 23:01:56 -07:00
transistor
8fe76334af Added joystick host adapter 2021-10-31 11:00:14 -07:00
transistor
a02d8e5241 Fixed graphics finally for YM7101 scrolls 2021-10-30 16:17:28 -07:00
transistor
250c0e83d2 Minor fixes 2021-10-29 15:05:41 -07:00
transistor
109ae4db55 Added minifb frontend with very WIP genesis peripherals 2021-10-27 21:01:18 -07:00
transistor
8bbffbe34c Modified the read interface yet again 2021-10-26 17:33:23 -07:00
transistor
c980c2f56d Added WIP 2021-10-25 19:31:28 -07:00
transistor
fd894f0638 Modified to use a nanosecond clock 2021-10-23 22:22:02 -07:00
transistor
2ed528a140 Modified the PTY implementation to be use channels 2021-10-22 19:36:05 -07:00
transistor
3579529764 Minor fixes and refactoring 2021-10-19 11:33:51 -07:00
transistor
b88b0a890c Updated tests for new addressing modes 2021-10-18 16:34:55 -07:00
transistor
3fc76335d0 Moved m68k instruction types to their own file 2021-10-18 12:05:10 -07:00
transistor
1262cbd8c0 Modified to use a common trait to derive other traits 2021-10-17 10:39:43 -07:00
transistor
4bdbe7c7f0 Refactored a bit
Now all traits are in the devices file, and host adapters will be
in under src/host/.
2021-10-16 20:30:50 -07:00
transistor
93c9307829 Moved I/O to a separate thread
but I'm not happy with it, and will likely change it in future,
possibly to use two threads and two sets of channels to pass chars
back and forth
2021-10-16 16:11:50 -07:00
transistor
853626584e Once again modified how the memory addressing works 2021-10-16 10:58:27 -07:00
transistor
ffd4faa9a3 Fixed decode of EXT, and fixed some bugs with 020+ code 2021-10-15 14:37:31 -07:00
transistor
eba1f9c9fc Fixed bug with ANDtoSR, which was actually using "or" 2021-10-14 22:04:14 -07:00
transistor
43b1abfa19 Minor changes 2021-10-14 21:16:31 -07:00
transistor
e558fc01bf Refactored and fixed some warnings 2021-10-11 15:16:04 -07:00
transistor
fbb5153121 Refactored mc68681 to make a common port struct and fixed a bug in DIV 2021-10-09 17:35:23 -07:00
transistor
f0637e81f1 Added separate interrupt controller 2021-10-09 11:00:32 -07:00
transistor
c4f41d73ab Put the types and traits from system into new devices file 2021-10-08 23:11:52 -07:00