1
0
mirror of https://github.com/wfjm/w11.git synced 2026-01-13 07:29:58 +00:00

62 Commits

Author SHA1 Message Date
wfjm
65ed443ffc asm-11 asm-11 BUGFIXes; cpu_mmu.mac fix
- tools/bin
  - asm-11
- tools/tcode/cpu_(details|mmu).mac: use rt?jmp, hta??? macros
    - BUGFIX expressions: allow uop after bop operator
    - BUGFIX proper sign handling for '/','*' and .if ge,gt,le,lt
    - add 'S' error when code size too large
  - tcode/cpu_mmu.mac: remove <../100> expressions for 6 bit right shift
2023-01-29 14:50:14 +01:00
wfjm
82349ddcee asm-11 .list update; tcode updates
- tools/bin
  - asm-11
    - add minimal .list,.nlist (cnd,me,meb) directive support
    - add -(n)list options
- tools/asm-11
  - tests(-err): some tuneups
  - mlib: some macros added, some tuneups
- tools/tcode/cpu_(details|mmu).mac: use rt?jmp, hta??? macros
2023-01-28 08:35:37 +01:00
wfjm
1627b34e3e tcode: use .mcall and mlib 2023-01-27 11:39:28 +01:00
wfjm
bc958525b5 asm-11 BUGFIX: support @(R) modifier with omitted offset
- tools
  - bin/asm-11: BUGFIX: support @(R) modifier with omitted offset
  - asm-11/tests/test_0100_op_(g|gg|rg).mac: add @(R) test cases
  - tcode/cpu_(basics|details|selftest).mac: use @(R)
2023-01-21 19:15:12 +01:00
wfjm
3318f99276 BUGFIX: handle CPUERR.rsv correctly
- rtl/w11a
  - pdp11.vhd: vm_stat_type: add err_ser
  - pdp11_sequencer.vhd: BUGFIX: handle CPUERR.rsv correctly
  - pdp11_vmbox.vhd: use err_ser to indicate fatal stack error
- tools/tcode/cpu_details.mac: update A2.7-10
2023-01-11 17:31:21 +01:00
wfjm
7f2d7f97d0 add tbench test_w11a_cpu_halt; minor changes; cosmetics
- tools/src/
  - librwxxtpp/RtclRw11Cpu.cpp: fix rust code name
- tools/tbench
  - cp/test_cp_cpubasics.tcl: use symbolic names via regbld
  - w11a/test_w11a_cdma.tcl: fix attention harvest
  - w11a/test_w11a_cpu_halt.tcl: added, verifies fatal CPU halts
  - w11a/test_w11a_inst_wait.tcl: check cpu status
  - w11a/w11a_all.dat: add test_w11a_cpu_halt.tc
- tools/tcode
  - cpu_basics.mac: extend test A4.5
2023-01-07 13:51:33 +01:00
wfjm
ba4aa45c48 update tbench and tcode
- tools/bin/tmuconv: add memory system register names
- tools/src
  - librw11/Rw11Cpu: add kCPUUBMAP
  - librwxxtpp/RtclRw11Cpu.cpp: use kCPUUBMAP
- tools/tbench
  - cp/cp_all.dat: add test_cp_ubmap.tcl
  - cp/test_cp_cpubasics.tcl: add creset test
  - cp/test_cp_gr.tcl: streamline, use longer command chains
  - cp/test_cp_membasics.tcl: add 22bit mode tests
  - cp/test_cp_ubmap.tcl: added, test access via ubmap
  - w11a/test_w11a_dstr_word_flow.tcl: renamed from test_w11a_dstm_word_flow.tcl
  - w11a/test_w11a_cdma.tcl: added, test bwm/brm with active CPU
  - w11a/test_w11a_inst_traps.tcl: use defs_cpu.mac include
  - w11a/test_w11a_inst_wait.tcl: added, tests WAIT instruction
  - w11a/w11a_all.dat: add test_w11a_inst_wait.tcl, test_w11a_cdma.tcl
- tools/tcl/rw11/defs.tcl: add A_UBMAP
- tools/tcode
  - cpu_details.mac: add A5
  - cpu_mmu.mac: add F2
2023-01-06 14:02:45 +01:00
wfjm
fdc3479c14 final round for initial tcode version
- tools/tcode
  - cpu_basics.mac: add A4.5
  - cpu_details.mac: add B1.4, B2.3, B4.1-3
  - cpu_mmu.mac: add B3.3
  - cpu_selftest.mac: add B1
2023-01-05 09:10:34 +01:00
wfjm
146dc4d56a docu and comment updates [skip ci] 2023-01-04 08:46:30 +01:00
wfjm
6831d1cda5 conclude cc and abort review, accept s_opg_gen handling
- tools/tcode/cpu_details.mac: add B3.4
2023-01-03 09:27:13 +01:00
wfjm
26daa71634 BUGFIX: cc state unchanged after abort - mtp/mfp case
- rtl/w11a/
  - pdp11_dpath.vhd: use c_dpath_dsrc_src,c_dpath_ddst_dst
  - pdp11_sequencer.vhd: BUGFIX: cc state unchanged after abort (mtp/mfp)
- tools/tcode
  - cpu_basics.mac: add F4.1-6
  - cpu_details.mac: add B3.2-3
2023-01-02 16:27:46 +01:00
wfjm
b59d545956 BUGFIX: cc state unchanged after abort - dstw case
- rtl/w11a/
  - pdp11_psr.vhd: BUGFIX: inhibit CCWE when PSW being written
  - pdp11_sequencer.vhd: BUGFIX: cc state unchanged after abort
- tools
  - bin/tmuconv: fix ru header
  - gwstart/lib/psr.tcl: added, definitions for psr
  - tcode/cpu_details.mac: update A4.1, add B3.1

Closes #37
2023-01-01 11:45:41 +01:00
wfjm
67437bf140 minor cleanups; update vmfset and imfset
- Makefile: drop ISE targets except for w11a
- rtl/sys_gen/**/*.*mfset: accomodate recent changes
- rtl/w11a
  - pdp11_dpath.vhd: remove PCOUT port
  - pdp11_sequencer.vhd: remove PC port
2022-12-27 13:32:12 +01:00
wfjm
c9d447f2be tbit trap overhaul - part 2
- rtl/w11a
  - pdp11_sequencer.vhd: tbit logic overhaul 2, now fully 11/70 compatible
- tools/tcode
  - cpu_details.mac: add A4.4 part 0,8,9,10
  - cpu_mmu.mac: use m*pd
2022-12-26 12:26:51 +01:00
wfjm
dc9005e98a doc and comment updates [skip ci] 2022-12-25 09:07:26 +01:00
wfjm
0875d4e8fa docu updates [skip ci] 2022-12-21 12:58:05 +01:00
wfjm
78e033cda7 fix MMU trap after IB access; add vector push abort recovery demonstrator
- rtl/w11a
  - pdp11_mmu.vhd: some logic cleanup
  - pdp11_vmbox.vhd: BUGFIX: request mmu trap also on ib accesses
- tools/tcode/cpu_mmu.mac: add D2.1 (vector abort recovery demo) and E1.5
2022-12-18 13:03:49 +01:00
wfjm
ef5c6b1ee3 pdp11_sequencer: implement MMR0,MMR2 instruction complete
- rtl/w11a
  - pdp11.vhd: dm_stat_se_type: rename vfetch -> vstart;
               mmu_moni_type: drop pc,idone, add vstart,vflow
               pdp11_mmu_mmr12: add VADDR port
  - pdp11_dmcmon.vhd: dm_stat_se_type: rename vfetch -> vstart
  - pdp11_mmu.vhd: implement MMR0 instruction complete
  - pdp11_mmu_mmr12.vhd: implement MMR2 instruction complete
  - pdp11_sequencer.vhd: implement MMR0,MMR2 instruction complete
  - pdp11_sys70.vhd: dm_stat_se_type: rename vfetch -> vstart
- tools
  - tbench/w11a_pcnt/test_pcnt_basics.tcl: rename vfetch -> vstart
  - tbench/w11a_pcnt/test_pcnt_codes.tcl: rename vfetch -> vstart
  - tcl/rw11/dmcmon.tcl: rename vfetch -> vstart
  - tcl/rw11/dmpcnt.tcl: rename vfetch -> vstart
  - tcode/cpu_mmu.mac: rename C2.7 -> C2.10, add C2.7-9
  - xxdp/ekbee1_patch_w11a.tcl: now patch for MMR1, not longer skip
2022-12-16 19:18:50 +01:00
wfjm
2407e662a9 pdp11_sequencer: BUGFIX: get correct PS after vector push abort
- rtl/w11a
  - pdp11.vhd: add cpustat_type in_vecflow
  - pdp11_sequencer.vhd: BUGFIX: get correct PS after vector push abort
- tools
  - tcode/cpu_details.mac: add test A3.5
  - tcode/cpu_mmu.mac: add test C2.5, C2.6, C2.7
  - xxdp/ekbee1_patch_1170.scmd: fix test 122
  - xxdp/ekbee1_patch_w11a.tcl: fix test 122
2022-12-12 09:02:34 +01:00
wfjm
a442a225e5 add tools/xxdp; tcode comments [skip ci] 2022-12-10 08:40:42 +01:00
wfjm
44c96ec4ab tbit trap overhaul; fix RESET wait
- rtl/w11a:
  - pdp11.vhd: add cpustat_type treq_tbit and resetcnt; use op_rti rather op_rtt
  - pdp11_decode.vhd: use op_rti rather op_rtt
  - pdp11_sequencer.vhd: tbit logic overhaul; use treq_tbit; cleanups;
                         use resetcnt for 8 cycle RESET wait
- rtl/sys_gen/w11a/s3board/sys_conf.vhd: disable monitors for timing closure
- rtl/sys_gen/w11a/*/*.vmfset: drop removed signals
- tools
  - asm-11/lib/push_pop.mac: add push2
  - tbench/w11a/test_w11a_inst_quick.tcl: use creset option to clr pending traps
  - tcl/rw11/asm.tcl: asmrun: add creset option (active with ps option)
  - tcode/cpu_basics.mac: add F2.3 (reset settling time)
  - tcode/cpu_details.mac: add A4.* (PSW + tbit traps)
2022-12-07 15:48:48 +01:00
wfjm
93307c746d minor edits; add cpu_mmu test
- tools/bin/tmuconv: change VFETCH text for MMU(250) and FPP(244)
- tools/tcode/cpu_mmu.mac: add test C2.4: mmu abort vs nxm abort
- doc/w11a_diff_70_mmu_nxm_prio.md: additional known w11 difference
2022-12-02 10:29:03 +01:00
wfjm
2421554d4e renames, cleanups, SimH V3.12-3 ready
- rtl/w11a
  - pdp11.vhd: rename cpuerr_type adderr->oddadr etc
  - pdp11_mmu.vhd: rename mmu_mmr0_type dspace->page_dspace
  - pdp11_sequencer.vhd: rename adderr -> oddadr, don't set after err_mmu
- tools/asm-11/lib/defs_reg70.mac: rename cp.aer -> cp.odd
- tools/dasm-11/lib/defs_reg70.das: rename cp.aer -> cp.odd
- tools/tcl/rw11/defs.tcl: rename adderr -> oddadr (in cpuerr)
- tools/tcode
  - cpu_details.mac: minor updates; get SimH V3.12-3 ready
  - cpu_mmu.mac:  minor updates; get SimH V3.12-3 ready
2022-12-01 09:04:57 +01:00
wfjm
f6ff0fa701 pdp11_sequencer: BUGFIX: correct mmu trap vs interrupt priority
- rtl/w11a/pdp11_sequencer: BUGFIX: correct mmu trap vs interrupt priority
- tools/asm-11/lib/halt_checks.mac: add htstge
- tools/tcode
  - cpu_details.mac: add test A1.2
  - cpu_mmu.mac: add test E2.1
2022-11-29 08:41:18 +01:00
wfjm
85f1854c60 pdp11_sequencer: BUGFIX: correct mmu trap handing in s_idecode
- rtl/w11a
  - pdp11.vhd: add cpustat_type intpend
  - pdp11_sequencer: BUGFIX: correct mmu trap handing in s_idecode
- tools/tbench/rhrp/test_rhrp_int.tcl: increase expected interrupt latency
- tools/tcode/cpu_mmu.mac: add E1.3 and E1.4

Closes #36
2022-11-24 16:19:20 +01:00
wfjm
40608e35fe pdp11_sequencer: BUGFIX: correct ysv flow implementation
- rtl/w11a
  - pdp11.vhd: rename, eg srv->ser; drop trap_done; add in_vecysv
  - pdp11_sequencer: renames; BUGFIX: correct ysv flow implementation
  - pdp11_vmbox.vhd: rename some rsv->ser; remove obsolete trap_done
- tools/tbench/w11a/test_w11a_cpuerr.tcl: removed, all in cpu_details.mac
- tools/tcl/rw11/defs.tcl: renames
- tools/tcode/cpu_details.mac: expand A3.3, add A3.4
2022-11-23 08:46:12 +01:00
wfjm
b5189053d3 pdp11_vmbox: BUGFIX: correct red/yellow zone boundary 2022-11-20 13:14:23 +01:00
wfjm
3542cc5ca2 do STKLIM check for mode 1,2,4,6 in dstr flows
- pdp11_sequencer.vhd: BUGFIX: use is_kstackdst1246 also in dstr flow
- tools/asm-11/lib/
  - defs_cpu.mac: rename cp.sli -> cp.slr
  - halt_checks.mac: add htstne, htsbne
- tools/tcode
  - cpu_basics.mac: rename cp.sli -> cp.slr
  - cpu_details.mac: add Test A3: STKLIM
  - cpu_(eis|mmu).mac,tcode.ecmd: editorial changes
2022-11-18 17:00:06 +01:00
wfjm
2b7b47e169 minor tcode updates
- cpu_mmu.mac: make C2.3 test more robust
- tcode.ecmd: use 'set cpu nouwin' to emulate w11 behavior
2022-10-29 15:01:20 +02:00
wfjm
9ca20e39ac get ready for V0.792
- rtl/w11a/tb/
  - tbrun.yml: retire last tb_pdp11core_stim.dat based test
  - tb_pdp11core_stim.dat: remove file, now unused and obsolete
- tools/tcode/tcode.ecmd: ensure that unibus map window is not memory
- tools/dox/*.Doxyfile: up version
2022-10-25 09:25:36 +02:00
wfjm
22a2eeea9d tcode: add tests; minor changes
- cpu_details.mac: add C1.* tests
- cpu_mmu.mac: B4.1: check stored PC in SimH and w11 case
2022-10-23 09:47:14 +02:00
wfjm
11091f15bc tcode: add CPU mode 10 tests; minor changes
- cpu_details.mac: fix systyp checks;
- cpu_mmu.mac: add MMR0/3 unimplented bit tests; add B4.1 and B4.2 tests
2022-10-22 12:22:07 +02:00
wfjm
6ff9c8e57c tcode: add CPUERR tests; minor changes
- cpu_details.mac: add section A2.* (cpuerr tests)
- tcode_exec.scmd: use 3M config; set STOP_SPA to 0
2022-10-18 09:01:17 +02:00
wfjm
3134c8ac82 finalize fix for I space mode=1 in s_dstr_def 2022-10-06 11:25:15 +02:00
wfjm
278d2e229d pdp11_sequencer: BUGFIX: use I space for all mode=1,2,3 if reg=pc
- tcode/cpu_mmu.mac: add test F1.1 (verify fix)

Closes #35
2022-09-12 11:12:59 +02:00
wfjm
1644863a58 pdp11_mmu.vhd: BUGFIX: correct trap and PDR A logic
- tools/asm-11/lib/defs_mmu.mac: rename md.a??, saner names for ACF
- tcode/cpu_mmu.mac: add E1.1, test m0.trp, pdr aia/aiw transitions (verify fix)

Closes #34
Closes #33
Closes #26
Closes #25
2022-09-09 09:01:06 +02:00
wfjm
6820bba0e4 cpu_mmu: add C2.2 and C2.3 tests 2022-09-04 07:57:42 +02:00
wfjm
5a28096eb6 cpu_mmu: add C2.1 test 2022-08-31 08:06:52 +02:00
wfjm
1b4b641d57 cpu_mmu: add D1.1: full mmr2+mmr1 test 2022-08-30 07:56:31 +02:00
wfjm
84d3f181bd cpu_basics.mac:test jsr sp,dst and rts sp 2022-08-27 09:02:30 +02:00
wfjm
7f9506b201 add systyp checking; add w11 specific tcode tests
- tcode_std_start.mac: system type (w11,simh,e11) detection via sysid
- cpu_mmu.mac: add a test done for w11 only
- tcode.ecmd,tcode_exec.scmd: set up sysid
2022-08-25 09:00:53 +02:00
wfjm
48e08a5bcb ssr->mmr rename: the final cleanup 2022-08-18 09:06:43 +02:00
wfjm
bc0a9907df tcode: Makefile auto-dependency; tcode_std_start bugfix 2022-08-12 08:01:02 +02:00
wfjm
fc10cc5321 *.mac: ssr->mmr rename 2022-08-09 10:13:07 +02:00
wfjm
e8fc9fa366 tcode: add Makefile [skip ci] 2022-08-08 09:40:44 +02:00
wfjm
063ad4c4c0 updates for cpu_mmu.mac and stktst/data
- cpu_mmu.mac: test mmr0,1,3; test m*p* sp access; use call/return;
- stktst/data/2022-08-03: add note on bsd kernel version confusion
2022-08-07 08:05:00 +02:00
wfjm
6d98a17e86 cpu_eis.mac: DIV tests: ignore NZ when V=1
- N and Z are unspecified when DIV returns with V=1
- w11 and Simh show indentical behavior, different from a real 11/70
- e11 models the 11/70 closely, and differs thus from w11 and SimH
- since tcodes should run on w11, SimH and e11, the N and Z cc's are ignored
2022-08-03 16:03:20 +02:00
wfjm
c3f36925c2 use call+return+push+pop
- tools/tcode/*.mac: use call+return+push+pop
- tools/asm-11
  - lib/push_pop.mac: added, contains push/pop macros
  - lib/tcode_std_start.mac: include push_pop.mac; ensure PRI=0 at start
  - tests/test_0170_misc.mac: added, verifies call,return response
2022-07-30 11:14:57 +02:00
wfjm
d0ca1224e5 tcodes: use hcmpeq macro and friends 2022-07-28 08:23:07 +02:00
wfjm
14877b7aa7 tcodes: cpu_mmu.mac added; use macros
- tools/asm-11/lib/halt_checks.mac: added, tcode support macros
- tools/tcode/cpu_mmu.mac: added, with first sections
2022-07-27 08:11:37 +02:00