| ;**** 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 |