Commit Graph

96 Commits

Author SHA1 Message Date
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
2c6a1a1b3a Added debugging and shift instructions to Z80 2021-11-06 21:18:45 -07:00
transistor
3da58c8d17 Added decoding of more of the DD/FD instructions 2021-11-06 15:08:03 -07:00
transistor
1a28208784 Added more Z80 instructions 2021-11-04 21:30:33 -07:00
transistor
7d2a4e4b44 Fixed m68k overflow flags (almost) 2021-11-04 21:29:52 -07:00
transistor
8ba506cc11 Added tracing mode to debugger 2021-11-04 13:32:51 -07:00
transistor
2cb21d7b8d Fixed a number of instruction bugs with m68k 2021-11-03 23:55:50 -07:00
transistor
b6cccea437 Added read only memory and debugger numbered continuations
There is also a breakpoint error, so that if a read-only memory
location is written to, it will escape to the debugger rather than
exiting the program.
2021-11-03 15:33:22 -07:00
transistor
bd5a798fa1 Fixed bug in ADDA/SUBA instructions 2021-11-03 15:30:38 -07:00
transistor
dc25a9f171 Started filling in Z80 execution 2021-11-02 20:58:03 -07:00
transistor
418bf2f141 Added image scaling for minifb 2021-11-02 20:57:19 -07:00
transistor
a87aab9b70 Modified write_beu*() functions and added little endian versions 2021-11-02 20:33:27 -07:00
transistor
e0ef1d8fd9 Added start of Z80 decoder 2021-11-01 22:06:40 -07:00
transistor
58fc9ac827 Moved the debugger out of m68k 2021-11-01 16:51:45 -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
93c080eae6 Fixed interrupts
Previously the m68k wasn't masking interrupts with an equal priorty.
I also modified how they work, such that the cpus will check the
controller rather than wait for the notification call
2021-10-29 22:02:29 -07:00
transistor
c1ca666aa4 Simplified event queue 2021-10-29 20:06:15 -07:00
transistor
250c0e83d2 Minor fixes 2021-10-29 15:05:41 -07:00
transistor
aa9aeaf3b4 Movied computie binaries to their own directory 2021-10-27 21:04:24 -07:00
transistor
109ae4db55 Added minifb frontend with very WIP genesis peripherals 2021-10-27 21:01:18 -07:00
transistor
892f93f053 Added BusPort to more accurately emulate the bus requests of the 68k
The BusPort is created before the CPU and is passed to it.  It can
have an offset, limit the address sizes, and break up bus request
beyond a certain number of bytes into multiple requests
2021-10-26 21:32:25 -07:00
transistor
8bbffbe34c Modified the read interface yet again 2021-10-26 17:33:23 -07:00
transistor
1ad7ad1807 Added Debuggable trait and added tests 2021-10-26 12:17:59 -07:00
transistor
c980c2f56d Added WIP 2021-10-25 19:31:28 -07:00
transistor
0b17b0fc8c Modified timer to store its own start time 2021-10-25 19:29:39 -07:00
transistor
089f25903b Added adjustable frequency to m68k, and added log levels 2021-10-25 10:29:13 -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
447b3727ed Fixed bug in DIVW instruction 2021-10-22 13:02:48 -07:00
transistor
f9e018742b Refactored how UI interfacing will work 2021-10-21 21:55:27 -07:00
transistor
fab763a867 Added rough host window updating options for future reference 2021-10-21 20:59:26 -07:00
transistor
bff90e8f9f Updated cargo with workspaces 2021-10-20 19:54:13 -07:00
transistor
8d39d84545 Refactored to separate out the commands, and machine configs
Machine definitions are now in their own module and can be
optionally compiled in, and there is now a console and soon
to be gui version of the compiled binary, with individual
binaries for each machine
2021-10-20 15:53:25 -07:00
transistor
e81a5d430a Fixed some bugs and added the ROXd instruction 2021-10-19 19:50:42 -07:00
transistor
3579529764 Minor fixes and refactoring 2021-10-19 11:33:51 -07:00
transistor
492027fa7a Fixed a bug in bit field instruction decode
We were trying to decode the effective address before fetching the
second instruction word for bitfield instructions, which was causing
it to use the wrong word for the offset:width information, which was
preventing the shell from printing to the screen after boot
2021-10-18 21:41:42 -07:00
transistor
2d8e5f6359 Added support for long word MUL and DIV instructions 2021-10-18 21:22:57 -07:00
transistor
b88b0a890c Updated tests for new addressing modes 2021-10-18 16:34:55 -07:00
transistor
731c89845e Added MC68020+ addressing modes 2021-10-18 15:44:42 -07:00
transistor
3fc76335d0 Moved m68k instruction types to their own file 2021-10-18 12:05:10 -07:00
transistor
32d2d591ce Added bit field instructions, and fixed some bugs 2021-10-17 21:18:59 -07:00
transistor
758621c410 Fixed bug in indexing modes 2021-10-17 11:13:46 -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