Commit Graph

111 Commits

Author SHA1 Message Date
9cdbe2e071
Fix offset of RAM in ROM card 2023-03-23 10:32:53 -05:00
0d5a20c22e
Fix translated address not being passed to memory access function 2023-03-23 10:31:01 -05:00
8f91a1aa3e
Revert "Rework MMU trait to allow for full control of MMU issued memory cycles"
This commit breaks accesses to the MMU IO space because since the
MMU card is borrowed during accesses to memory, when it calls
into the backplane to do the physical access, the
backplane will attemp to borrow the MMU card again,
causing a panic
2023-03-23 09:02:57 -05:00
3a4d2b0c9d
Rework MMU trait to allow for full control of MMU issued memory cycles 2023-03-20 15:06:16 -05:00
5259bbbe3c
Apply clippy suggestions and format code 2023-03-20 15:05:26 -05:00
f0323dab2e
Update clap to v4 2023-03-18 17:56:14 -05:00
6066b2d239
Limit address from CPU to 24 bits 2023-03-18 17:51:34 -05:00
6dc1d5d798
Add support for interconnects between cards 2023-03-18 17:50:58 -05:00
1cff8b26ce
Properly handle result of M68K::step 2023-03-15 19:01:44 -05:00
a0eaccaf7f
Clean up code 2023-03-15 18:59:38 -05:00
d32bcc3a8e
Change to locking cards individually and remove now unnecessary traits 2023-03-15 18:56:21 -05:00
21181fc645
Fix the ROM's reload command 2023-03-15 18:56:21 -05:00
c2b1a2a74d
Fix the ROM's enable byte location 2023-03-15 18:56:21 -05:00
9ea9461935
Change BusErrorCause's Display impl to use Self 2023-03-15 18:56:21 -05:00
9642cf82f0
Finish basic functions of MMU card 2023-03-15 18:56:16 -05:00
77054589c6
Upgrade crates and switch to clap 4 2023-02-03 09:19:47 -06:00
9a0695fef3
Add a poke command 2023-02-03 09:19:46 -06:00
79dfb820ac
Make peek's format argument optional 2023-02-03 09:19:45 -06:00
d32a46b93b
Return bus errors from cpu.step() instead of panicking 2023-02-03 09:19:38 -06:00
077050fb2b
Add MMU support and start work on it 2023-02-03 09:19:33 -06:00
40ea7eae82 Fix stoarge card IO register positions and allow reading off the end of the disk 2022-11-29 16:28:55 -06:00
76e54acfeb Switch to 16-bit card IDs 2022-11-25 08:51:19 -06:00
9956962089 Add DMA support to storage card 2022-11-21 10:41:03 -06:00
2c6894cc7c Pass an AccessorBuilder instaed of an Accessor to a DMA handler 2022-11-21 07:19:11 -06:00
b5409f3590 Add support for DMA cards 2022-11-20 19:15:58 -06:00
a9d79025cf Add flag to just run the CPU 2022-11-18 16:19:20 -06:00
0b1a8e1398 Change to a command based storage card 2022-11-18 16:03:28 -06:00
8c0b923455 Fix rotation of 8 being interpreted as 0 2022-11-18 16:03:11 -06:00
6e61c5402d Update crates and upgrade to elf v0.7 2022-11-16 10:40:26 -06:00
c6e96f3592 Move ROM to separate git repository 2022-11-14 11:02:05 -06:00
09c2db2c33 Move resources to separate git repository 2022-11-14 10:59:22 -06:00
f728080c92 Fix reset instruction to reset bus, not cpu 2022-11-14 10:57:53 -06:00
7656d04cd8 Remove Backplane::{cards,cards_mut} 2022-11-14 10:54:10 -06:00
88d7d79bb3 Change to crates.io reedline-repl-rs 2022-11-12 16:00:45 -06:00
e823f863c9 Remove dependency on paste 2022-11-12 15:49:23 -06:00
1e021632b1 Remove left in debug statement 2022-11-12 15:48:11 -06:00
4e814b5009 Update crates and bump elf to 0.6 2022-11-12 09:09:17 -06:00
b71d340c81 Make card::Type.name private 2022-11-12 09:05:03 -06:00
1b41ff5af4 Remove commented out error module definition 2022-11-12 09:01:30 -06:00
b76c4c7bf5 Refactor card config parsing out of main.rs 2022-11-12 08:59:46 -06:00
76a5f2ccb9 Switch config format to TOML 2022-11-11 22:13:13 -06:00
daf6bdc477 Fix field name in rom/storage config struct 2022-11-11 22:10:58 -06:00
9145c71a34 Change cards to use a struct for card config 2022-11-11 20:38:26 -06:00
9ee6045d6f Change Card::new to take the mapping by ownership 2022-11-11 20:34:41 -06:00
ec7db304b8 Factor out common parts of backplane memory code 2022-11-11 07:36:04 -06:00
41af1a55d9 Make SymbolTables.tables private 2022-10-26 10:32:05 -05:00
78596ae117 Make SymbolTable.{symbols, breakpoints} private 2022-10-26 10:31:46 -05:00
d0f1b588f7 add helpers to SymbolTables for getting tables 2022-10-26 10:10:16 -05:00
718f8cd276 Optimize an instruction from the ROM
The instruction to load fakestack into the SP can be removed by making use of the inital SP value in the reset vector
2022-10-25 11:43:58 -05:00
c923c188ac Fix stack start and spelling in ROM 2022-10-25 11:23:28 -05:00