Commit graph

200 commits

Author SHA1 Message Date
Neil Webber
4e92326323 optimize register-direct paths for ADD and CMP, more could be done. Signif speedups for the optimized cases 2024-05-17 12:04:05 -05:00
Neil Webber
715ff48d22 optimize TST on register direct 2024-05-17 12:03:09 -05:00
Neil Webber
6da0df526d tstb decb 2024-05-17 12:02:43 -05:00
Neil Webber
156972e88f Squeeze another 1% out of reg-reg mov 2024-05-17 11:26:12 -05:00
Neil Webber
0a5b2b8a69 some optimizations for >5% increaase in register ops 2024-05-16 15:55:05 -05:00
Neil Webber
379aeca487 add test for (user mode) PC wrap-around 2024-05-16 15:41:28 -05:00
Neil Webber
4651d137f7 HALT in user mode is ReservedInst, not AddressError 2024-05-16 15:39:44 -05:00
Neil Webber
d0de30614f minor editorial fixes 2024-05-15 22:17:22 -05:00
Neil Webber
02f55397f8 minor perf improvement for byte writes in operandx (validated with timeit) 2024-05-14 09:04:38 -05:00
Neil Webber
837c691fdc added MUL test 2024-05-13 12:40:38 -05:00
Neil Webber
6b3b41a0c8 Make sure HALT_SEQUENCE works even if only one byte 2024-05-12 04:17:25 -05:00
Neil Webber
5a1558c3d7 Updates for stdin mode 2024-05-11 17:06:11 -05:00
Neil Webber
3d8ec4a4bf cleanup 2024-05-11 16:18:28 -05:00
Neil Webber
9171cd5df1 Implement stdin mode (vs socket) and halt toggle capability (stdin only) 2024-05-11 16:18:17 -05:00
Neil Webber
d33ea43bd7 implement halt toggle 2024-05-11 16:17:44 -05:00
Neil Webber
8b55fe047d This entire module probably needs refactoring, it's getting a bit messy especially regarding messages. That said .. implement ability to select use_stdin for console emulation 2024-05-11 16:16:57 -05:00
Neil Webber
aeefc45355 Provide option to send telnet initialization sequences to console 2024-05-09 10:26:26 -05:00
Neil Webber
f278e18b89 SIMH allows -(PC) addressing mode, therefore, so do we 2024-05-08 20:37:57 -05:00
Neil Webber
d1e040dce8 test_trapconditions to verify various illegal sequences generate correct trap vectors (MORE TESTS NEEDED HERE) 2024-05-08 20:17:19 -05:00
Neil Webber
932fbd9ae2 Add tests for LDA with/without checksum on END block 2024-05-08 18:00:27 -05:00
Neil Webber
9428e4744a Verifying with some test code, SIMH generates ReservedInstruction for things like JMP R0 ... and now this code does the same (was AddressError) 2024-05-08 17:59:35 -05:00
Neil Webber
625c5ce1cc Allow for no checksum in END block of an LDA file 2024-05-08 17:58:38 -05:00
Neil Webber
53d7c5d7ab Fix for typeerror #21 -- though this also points out re-reading what MMR2 points to (for logging) might be a bad idea 2024-05-08 08:40:13 -05:00
Neil Webber
9442b70617 implement write lock 2024-05-04 13:59:48 -05:00
Neil Webber
fed836b5b3 v5 instructions 2024-05-03 10:41:19 -05:00
Neil Webber
3f5126c398 generalize boot messages 2024-05-03 10:22:03 -05:00
Neil Webber
fb71067946 first go at making rk unix bootable 2024-05-03 07:50:11 -05:00
Neil Webber
9434ea843e Working well enough to boot unix5 2024-05-03 07:49:49 -05:00
Neil Webber
c4f9423a4c clean up 2024-05-03 07:48:18 -05:00
Neil Webber
87dff94cd3 Add readonly support and illegal_cycle convenience 2024-05-03 07:46:33 -05:00
Neil Webber
b3b834c0fb cleanup breakpoint inits 2024-05-03 07:44:37 -05:00
Neil Webber
98510af5e7 minor cleanups 2024-05-02 09:16:16 -05:00
Neil Webber
0c6256571a cleanup 2024-04-23 13:19:34 -05:00
Neil Webber
59e2542ff1 pseudo-bkpt to look for bogus memory values outside 16 bit range 2024-04-23 13:16:55 -05:00
Neil Webber
f5509d373d add check16 to verify no larger than 16 bit values got generated; also reduce footprint of physmem in most cases because of this check 2024-04-23 08:40:51 -05:00
Neil Webber
8259c035e0 safeguard literal from allowing bad values into physmem 2024-04-23 08:00:33 -05:00
Neil Webber
7a9fff6f8b was masking 18 bits not 16 in ubmap 2024-04-23 07:55:16 -05:00
Neil Webber
872ad7833d Make sure no illegal values outside 16 bit range loaded via loadphysmem 2024-04-23 07:39:18 -05:00
Neil Webber
6e54a9dc9e accomodate octal formatting in machinestate for logging while still leaving raw values for, e.g., breakpoonts 2024-04-18 17:02:38 -05:00
Neil Webber
9408867f47
Delete mmio.py 2024-04-16 23:11:11 -05:00
Neil Webber
496f962c6c incorporate booting LDA 2024-04-14 12:13:08 -05:00
Neil Webber
2ef5d03a8c
Merge pull request #19 from folkertvanheusden/EMKAB0
BusCycle.WRITE16 in ioregsets
2024-04-13 12:58:05 -05:00
folkert van heusden
81e8d1e9d9
missing 2024-04-13 19:38:57 +02:00
Neil Webber
1423e79813 Fix I/O to registers via Unibus addrs; also microbreak register 2024-04-13 12:24:48 -05:00
Neil Webber
e418355987 fix boot_lda 2024-04-11 17:40:09 -05:00
Neil Webber
22f05d58ca Revamp the unibus device callback system. New version has explicit BusCycle argument in one callback function vs the mishmash of time-evolved methods for reset, bytes, etc 2024-04-11 16:59:06 -05:00
Neil Webber
c78972654c Revamp the unibus device callback system. New version has explicit BusCycle argument in one callback function vs the mishmash of time-evolved methods for reset, bytes, etc 2024-04-11 16:58:41 -05:00
Neil Webber
1eba151bdb Allow zero bytes between blocks in LDA 2024-04-11 16:40:07 -05:00
Neil Webber
6ef31cb034 Checking in an intermediate LDA implementation but going to change it to conform 100% w SIMH 2024-04-10 07:11:03 -05:00
Neil Webber
5ef8965399 Test physRW_N 2024-04-09 14:14:55 -05:00