;**** some possible debugging options ;set debug debug.log ;set debug stdout ;**** debugging of FDC ;**** read/write operations, attach&detach, FDC service, IMD handling, DMA/verbose, FDC cmds ;set fdc debug=read ;set fdc debug=write ;set fdc debug=verbose ;set fdc debug=svc ;set fdc debug=imd ;set fdc debug=dma ;set fdc debug=dmavb ;set fdc debug=cmd ;**** debugging of CPU: exceptions, tracing, memory read/write ;**** opcode fetch, stack push/pull, concurrency ;set cpu exc ;set cpu debug=int ;set cpu debug=trace ;set cpu debug=write ;set cpu debug=read ;set cpu debug=fetch ;set cpu debug=stack ;set cpu debug=conc ;**** debugging of console: read/write to registers ;set con debug=read ;set con debug=write ;**** debugging of timer: read/write, service ;set tim debug=read ;set tim debug=write ;set tim debug=svc ;**** you should attach a telnet terminal emulator to PDQ-3 console ;**** to avoid mess with SIMH's control panel set console telnet=8000 ;**** you might remote control SIMH's control panel ;set remote telnet=7000,telnet=buffered ;**** you need a boot disk att fdc0 master.imd ;**** make this write protected currently while emulator is still being debugged set fdc0 wrtlck ;**** disable the second FDC set fdc1 disable ;************************************************************************ ;**** The following is pure f***ing magic - you must have the source code ;**** and a commented object dump of boot loader, SYSTEM.PASCAL, SYSTEM.DRIVERS etc. ; otherwise you won't understand where I had checkpoints for debugging. ; HDT boot ;break f418:368 ;break f418:36a ;break f418:218 ; HDT:bootfd ;break f418:e0 ; HDT CHK instruction: will fail if CPU serial is > 0x7fff ;break 2018:067d ;break 2018:070f ; entering PASCALSY ;break eb1e:10 ; problem main loop in syscode1 ;break dc26:1d0a ;break d488:b1b ;break d488:b55 ; bug in SPR(4), does not save SP in TIB? ;break d488:bb8 ;break d488:bc7 ; problem with wait? ;break d488:0917 ; interrupt debugging ;break d078:4f ;break d488:919 ;break d488:ebe ;break dc26:ec3 ;break d1bd:79 ;break b80d:715 ;break dc26:1d35 ;break d488:806 ;break d488:915 ;break dc26:1d36 ; SHELL handling ;break badf:98 ;break badf:51 ;break bbd2:1ba ;break bbd2:1be ;break bbd2:32a ; Ser_RawEmit ;break c964:5f2 ;break d488:d80 ;break c964:6be ; ticker interrrupts ;break d078:4f ;break d1bd:6e ; Start/Stop Process ;break d488:7f0 ;break d488:92e ;break d488:934 ;break d488:958 ;break d488:0dd9 ;break c964:756 ;break c964:a6 ;break c964:cf4 ; waiting for DSR sem ;break c964:624 ; Ser_Read ;break c964:466 ;break c964:4f9 ;break c964:4fa ;break c964:327 ;break c964:59e ;break c964:323 ;break d078:4c ;break d078:4f ;break d1bd:6a ;break d1bd:6d ;break d488:ed0 ;**** ;**** end of PFM section ;************************************************************************ ;**** load the boot PROM code for HD support load hdt/CPU_C5.BIN ; ;**** set the INIT bit of SSR dep _ssr 80 dep _ses 80 ;**** load some symbolic names for debuging (not needed in production) do names.sim ;**** run boot cpu ;**** reset debug mode to normal when boot fails. set debug stdout