1
0
mirror of https://github.com/wfjm/w11.git synced 2026-04-29 05:16:20 +00:00
Commit Graph

58 Commits

Author SHA1 Message Date
wfjm
e85de05938 add dz11 backend
- RtraceTools: TraceBuffer: add level 5 (full word dump)
- Rw11Cntl: UnitSetupAll(): now virtual
- Rw11CntlBase: add kNUnit constant
- RtclRw11CntlFactory: add DZ11
- Rw11{Cntl,Unit}DZ11: added
- rw11/util.tcl: add dz11 support
- oskit/*/*_boot.tcl: add dz11 line handling in setup_tt call
2019-05-26 08:51:34 +02:00
wfjm
3c73f61593 add M9312 (boot prom) emulation
- ibus/ibdr_maxisys: instantiate ibd_m9312
- ibus/ibd_m9312: added, boot prom emulation
- librw11/Rw11Cpu: add m9312 setup and HasM9312()
- tbench
  - m9312: added, tbench for ibd_m9312
  - kw11p: renamed from w11a_kw11p
2019-05-05 09:00:04 +02:00
wfjm
1c9dbeb4ed dl11_buf: buffered DL11; add tbench
- ibdr_dl11_buf: new DL11 interface with fifo buffering
- ibdr_dl11: drop rbuf.rrdy, set rbuf.[rx]size0 instead
- ibdr_maxisys: add ibdr_dl11_buf
- librw11/RtraceTools: new, some helper methods for buffer tracing
- librw11/Rw11CntlDL11: add dl11_buf readout
- librwxxtpp/RtclRw11CntlDL11: add getters& setters for dl11_buf readout
- ibd_dl11/util.tcl: setup defs for dl11_buf; add rdump proc
- rw11/util.tcl: setup_tt: add dl{rxqlim,txrlim}; dlrrlim->dlrxrlim
- oskit/*/*_boot.tcl: setup dlrxrlim
- tbench/dl11: tbench for dl11(_buf)
2019-04-28 12:51:58 +02:00
wfjm
785016763f pc11_buf: buffered PC11; add lp11,pc11 mcodes 2019-04-24 12:59:58 +02:00
wfjm
9b7b3bd5c8 UnitSetup overhaul; new pc11 boot loader; minor changes
- ibus/ib_rlim_gen: add CPUSUSP port; RLIM_CEV now slv8
- ibus/ib_rlim_slv: RLIM_CEV now slv8
- ibus/ibdr_{dl11,lp11_buf}: RLIM_CEV now slv8
- bin/asm-11: fix -help text
- bin/ldadump: added, lda file dumper
- src
  - Rw11Cntl: add UnitSetup(), UnitSetupAll()
  - Rw11Cntl{DEUNA,DL11,RHRP,RK11,RL11,TM11}: call UnitSetupAll() in Start()
  - Rw11CntlLP11: remove SetOnline(), use UnitSetup()
  - Rw11CntlPC11:
    - BootCode(): boot loader rewritten
    - remove SetOnline(), use UnitSetup()
  - Rw11Cpu
    - add defs for w11 cpu component addresses;
    - add MemSize(),MemWriteByte()
    - LoadAbs(): return start, better odd byte handling;
  - Rw11VirtStream: add Error(),Eof()
  - RtclRw11Cpu:
    - BUGFIX: M_wtcpu(): check cpu attn in no-server case
    - add MemSize() getter
    - M_loadabs(): add -trace and start
- ibd_pc11/util.tcl: use rdy instead of done in PCSR
- rw11/util.tcl: setup_lp: add rlim option
2019-04-14 15:52:12 +02:00
wfjm
f9faf937b1 lp11_buf: output buffered; add tbench
- ib_rlim_{gen,slv}: new modules for implementation of rate limiters
- ibdr_lp11_buf: new LP11 interface with fifo buffering
- ibdr_maxisys: add ib_rlim_gen, ibdr_lp11_buf
- tbench/test_lp11_all.tcl: tbench for lp11 and lp11_buf
- Rw11CntlLP11: handles now also buffered lp11
2019-03-23 08:20:25 +01:00
wfjm
ed5c8b7fc1 add cp -brf,-bwf; fix rblk handling for aborted transfers
- RlinkCommand:
  - add BlockDoneAll()
  - Print(): use BlockDone() as length for rblk
- RlinkConnect: DecodeResponse(): rblk expect check over BlockDone
- RtclRlinkConnect: M_exec(): tranfer BlockDone values after rblk
- RtclRw11Cpu:
  - M_cp(): tranfer BlockDone values after rblk
  - add cp -brf and -bwf; add range checks for cp -wa
2019-03-15 20:40:14 +01:00
wfjm
6024dce209 use std::bind instead of lambda
- automatic return type detection for lambda's can be error prone
- it is safer and more compact to use std:bind as method forwarder
- closes issue #19
2019-03-03 09:40:56 +01:00
wfjm
1206e5d938 add ibd_ibtst; tbench code for ibd_ibtst and sdreg
- ibd_ibtst: added, an ibus tester device
- pdp11_sys70: instantiate ibd_ibtst (when sys_conf_ibtst = true)
- Rw11Cpu,RtclRw11Cpu: add ibmon setup and HasIbtst()
- tcl/ibd_ibtst/util.tcl: added, tcl support for ibd_ibtst
- tbench/w11a/test_w11a_sdreg.tcl: added, tbench for sdreg
- tools/tbench/w11a_ibtst/: added tbench for ibd_ibtst
2019-03-01 09:05:29 +01:00
wfjm
fefa952a4d Makefile: drop boost includes and libs 2019-01-02 12:00:31 +01:00
wfjm
0fe9cd8acc mixed bag of small backend code updates
- RlinkCommand,RlinkCommandList: add move version of methods
- use constructor delegation
- use nullptr
- drop empty destructors for pod-only classes
- RlinkCommand: rename IsBlockExt -> HasBlockExt
- RlinkConnect: add BadPort(); used on all hard port checks
- remove contraproductive moves (-Wpessimizing-move)
- add casts (-Wfloat-conversion, -Wdouble-promotion)
- virtual dtor now outlined to streamline vtable
- make Dump non virtual in some cases (-Wnon-virtual-dtor)
- rename variables in shadow situations (-Wshadow)
2018-12-27 09:04:19 +01:00
wfjm
93bf5ce03b use c++ style casts 2018-12-22 09:20:02 +01:00
wfjm
dcaf39ff84 use mutex and friends from std:: instead from boost::
- use std::mutex
- use std::recursive_mutex
- use std::condition_variable
- use std::lock_guard
2018-12-18 10:22:35 +01:00
wfjm
1620ee3a84 phase-out boost::function,bind
- use std::function instead of boost
- use c++11 lambda instead of boost::bind in most cases
- use std::bind in few cases where this deems more readable
- use move semantics for passing of function objects
2018-12-16 12:24:07 +01:00
wfjm
11e6c81379 add HasPort/HasVirt(); Port() and Virt() return reference 2018-12-15 14:49:34 +01:00
wfjm
70f0911b37 use std::shared_ptr instead of boost 2018-12-14 18:24:24 +01:00
wfjm
cd97fb0f45 add and use move semantic in RlinkCommandExpect 2018-12-13 20:53:56 +01:00
wfjm
a369c48762 use unique_ptr 2018-12-09 09:16:07 +01:00
wfjm
86556f767f use range loops 2018-11-30 20:21:30 +01:00
wfjm
4e1f91b0a1 use auto; use emplace,make_pair 2018-11-16 18:26:00 +01:00
wfjm
dd3a253dbc Rw11VirtDiskRam: add ram: scheme for ram-only-disk 2018-11-10 12:24:43 +01:00
wfjm
2a50d35e71 some minor c++11 and -Weverything code updates
- use `nullptr` instead of plain '0'
- use `[[noreturn]]` (clang -Wmissing-noreturn)
- drop never reached returns (clang -Wunreachable-code-return)
- drop `throw()` lists, use `noexcept` (clang -Wdeprecated)
- add `R*_Init` prototypes (clang -Wmissing-prototypes)
- Rw11VirtEthTap.cpp: BUGFIX: buffer not null terminated (coverity)
2018-10-28 12:19:19 +01:00
wfjm
102845ccf6 move using after includes (clang warning) 2018-10-07 08:28:39 +02:00
wfjm
1be14ad15f Integrate dmpcnt in all w11 designs and backend
- pdp11_sequencer: add DM_STAT_SE.(cpbusy,idec)
- pdp11_sys70: only preliminary set of signals, cache signals kludged
2018-09-30 09:35:30 +02:00
wfjm
c01fc7c053 coverity: fixed for uninitialized variables 2018-09-22 11:14:45 +02:00
wfjm
c1370bd5d8 RtclRw11Unit: fix for clang: M_virt() now public 2018-09-15 18:26:50 +02:00
wfjm
49777105c2 get disclaimers in line with GPL V3 License.txt 2018-01-02 21:41:07 +01:00
Walter F.J. Mueller
2c7b4715f0 remove Doxygen \version lines 2017-04-28 21:34:40 +02:00
Walter F.J. Mueller
509c3719bd integrate rbus monitor in w11 shell; setup procs idempotent
- RlinkConnect: add rbus monitor probe, add HasRbmon()
- RtclRlinkConnect: M_amap: -testname opt addr check; add hasrbmon get
- RtclRw11Cpu: M_(imap|rmap): -testname optional addr check
- ti_rri: setup rbus monitor if detected
- rw11/shell.tcl: integrate rbmon: add .rme,.rmd,.rmf,.rml
- ibd_ibmon/util.tcl: setup: now idempotent; move out imap_reg2addr
- rbmoni/util.tcl: setup: now idempotent; add procs filter,rme,rmf
- rlink/util.tcl: add amap_reg2addr
- rw11/util.tcl: move in imap_reg2addr; add imap_range2addr
- rw11/shell.tcl: integrate rbmon: add .rme,.rmd,.rmf,.rml
- rw11/dmhbpt.tcl: hb_set: use imap_range2addr, allow regnam and range
- */util.tcl: setup: now idempotent
2017-04-22 15:33:04 +02:00
Walter F.J. Mueller
4cb079d5a0 backend for DEUNA
- Rw11CntlDEUNA: controller and almost all logic
- Rw11UnitDEUNA: unit
2017-04-17 21:15:37 +02:00
Walter F.J. Mueller
d543926043 factor out controller class specifics; add useful M_default output
- RtclRw11Cntl*Base: add classes with Rdma,Disk,Stream.Tape,Term specifics
- RtclRw11Cntl*: add class in ctor; derive from RtclRw11Cntl*Base
2017-04-16 15:29:32 +02:00
Walter F.J. Mueller
d42ab4c798 make list cpus,cntls,units command gettable; make controller class gettable
- RtclRw11: add CpuCommands() and cpus getter
- RtclRw11Cntl: add UnitCommands() and uints and class getter
- RtclRw11Cpu: add ControllerCommands() and cntls getter
2017-04-16 15:20:06 +02:00
Walter F.J. Mueller
3ae2cae6d8 make attach status and attach url gettable for units
- Rw11Cntl,Rw11CntlBase: NUnit() now pure; add UnitBase()
- Rw11Unit: add IsAttached(), AttachUrl()
- Rw11UnitVirt: add VirtBase()
- Rw11Virt: add Url() const getter
- RtclRw11UnitBase: add attached,attachutl getters
2017-04-16 15:16:21 +02:00
Walter F.J. Mueller
0f4350db6d remove double inheritance in RtclRw11Unit* stack
- was more a hack than a design; inheritance stack now cleaner
- RtclRw11Unit: drop fpCpu, use added Cpu()=0 instead
- RtclRw11UnitBase: add TUV,TB; add TUV* ObjUV(); inherit from TB
- RtclRw11Unit(Disk|Stream|Tape|Term): define ObjUV();inherit from RtclRw11Unit
- RtclRw11Unit(dev): inherit from RtclRw11UnitBase
2017-04-08 20:34:02 +02:00
Walter F.J. Mueller
ae070196ce code cosmetics 2017-04-08 20:28:42 +02:00
Walter F.J. Mueller
5c534bb829 more compact dumps, add Dump(..,detail) -- Part 2 2017-04-07 22:17:34 +02:00
Walter F.J. Mueller
d333d6b356 default disk scheme now parametrized via rlw 2017-04-02 20:21:09 +02:00
Walter F.J. Mueller
3de030a0dd code cosmetics 2017-04-02 19:23:02 +02:00
Walter F.J. Mueller
79c565f6f3 more compact dumps, add Dump(..,detail); trace output with cntl name
- RlinkCommand: add CommandInfo()
- RtclCmdBase: add GetArgsDump()
- RlinkCommandList: Dump(): add detail arg
- Rstats: add NameMaxLength(); Print(): add counter name
- Rw11Cntl: use Dump(detail) for PrimClist ect
- Rw11CntlBase,Rw11Rdma*: Dump(): add detail arg
- Rw11Cntl*: Dump(): add detail arg; use cntl name as message prefix
- RtclRw11Cntl: M_dump: use GetArgsDump and Dump detail
2017-04-02 19:06:38 +02:00
Walter F.J. Mueller
5f2301b561 add Rw11VirtDiskOver (simple overlay file container)
- Rw11VirtDiskBuffer: added, disk buffer representation
- Rw11VirtDiskOver: added, a 'keep changes in memory' overlay file container
- Rw11Virt: add fWProt,WProt()
- Rw11VirtDiskFile: adopt WProt handling
- RtclRw11Unit: add fpVirt,DetachCleanup(),AttachDone(),M_virt()
- RtclRw11UnitBase: add AttachDone()
2017-04-02 15:46:03 +02:00
Walter F.J. Mueller
92812d76b7 add and use Rw11Cpu::kCPAH_M_UBM22
- in all practical cases the unibus map enable should be used together with
  the 22bit addressing enable, so it's prudent to add a new constant.
2017-02-27 20:25:19 +01:00
Walter F.J. Mueller
d7aa4966bf use Rtime; handle auxilliary devices; ModLalh()
- use Rtime; drop Rtools::TimeOfDayAsDouble()
- probe/setup auxilliary devices: kw11l,kw11p,iist
- librw11/Rw11Cpu: add ModLalh()
2017-02-26 15:06:09 +01:00
Walter F.J. Mueller
d4aab38e16 update probe handling: add probe data, make it tcl getable
- Rw11Cntl: add ProbeFound(),ProbeDataInt,Rem()
- Rw11Cpu: ProbeCntl: handle probe data
- Rw11Probe: Keep probe data; add DataInt(), DataRem()
- RtclRw11CntlBase: add in fGets: found,pdataint,pdatarem
- RtclRw11Cpu: M_default: add 'probe ena on' output
2017-02-04 17:03:04 +01:00
Walter F.J. Mueller
b2e7c1cdbb rw11::shell.tcl now default environemnt in ti_w11
- tools/bin/ti_w11: use rw11::shell by default; add -ns to suppress it
- tools/oskit/*/*_boot.tcl: remove activation of cpucons and cpumon
- tools/src/librwxxtpp
  - RtclRw11Cpu.cpp: use 'ssr' instead of 'mmr' for MMU register names
- tools/tcl/rw11:
  - defs.tcl: fix typo in regmap_add for SDR's
  - shell.tcl: add '@' command
  - shell_simh.tcl: added, simh command converter
- *: README updates
2016-12-31 11:04:22 +01:00
Walter F.J. Mueller
cfd8802218 re-organize .gitignores 2016-12-17 20:18:29 +01:00
Walter F.J. Mueller
238b6e4276 rename .cvsignore -> .gitignore 2016-12-17 16:28:37 +01:00
Walter F.J. Mueller
e1479d4e5d - Add Arty support (BRAM only)
- Add sysmon/xadc support (for nexys4,basys3,arty designs)
- Add Vivado simulator support (DPI not yet working)
2016-03-19 15:45:59 +00:00
Walter F.J. Mueller
677773d123 - Add CPU debug and monitoring units (dmhbpt,dmscnt,dmcmon) 2015-12-30 20:21:18 +00:00
Walter F.J. Mueller
24fde41c6a - added TM11/TU10 tape support 2015-06-05 12:11:41 +00:00
Walter F.J. Mueller
4a032e9436 - added RH70/RP/RM big disk support
- many cleanups
2015-05-14 17:00:36 +00:00