1
0
mirror of https://github.com/wfjm/w11.git synced 2026-01-26 04:21:05 +00:00

mcode: use call/return; fix (lp11|pc11)write; add scmd

- tools/mcode
  - *.mac: use call/return
  - (lp11|pc11)write: check line count after last char is accepted
  - pc11copy: kw11-p: use 100 kHz/13.; ensure last puncher interrupt
  - *.scmd: add SimH startup files when reasonable
- tools/simh/setup_w11a_(max|min).scmd: enable pclk
This commit is contained in:
wfjm
2022-08-13 07:45:28 +02:00
parent bc0a9907df
commit 13a72d1b4b
19 changed files with 370 additions and 168 deletions

View File

@@ -1,9 +1,11 @@
; $Id: pc11write.mac 1174 2019-06-29 18:00:47Z mueller $
; $Id: pc11write.mac 1276 2022-08-12 10:25:13Z mueller $
; SPDX-License-Identifier: GPL-3.0-or-later
; Copyright 2019- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
; Copyright 2019-2022 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
;
; Revision History:
; Date Rev Version Comment
; 2022-08-10 1276 1.0.2 check line count after last char is accepted
; 2022-08-09 1275 1.0.1 use call/return
; 2019-04-21 1134 1.0 Initial version
;
; write test tape
@@ -65,17 +67,18 @@ start1: mov #stack,sp ; setup stack
br 3$
;
; puncher interrupt handler -----------------------
; the line count stop is checked after the last char is accepted by PC11
;
vh.ptp: tst @#pp.csr ; punch error
bmi perr ; if mi yes, error halt
cmp r0,#lcnt ; enough lines send ?
beq 200$
movb (r1)+,@#pp.buf ; send byte
cmp r1,#bend ; end of buffer ?
blo 100$
mov #bnum+3,r1 ; if yes, increment number
jsr pc,incnum
call incnum
inc r0 ; inc line counter
cmp r0,#lcnt ; enough lines send ?
beq 200$
mov #bnum,r1 ; ready for next line
100$: rti
@@ -93,7 +96,7 @@ incnum: mov #4,r5 ; max 4 digits
movb #'0,(r1) ; if yes, restore 0
dec r1 ; and go for next digit
sob r5,1$
100$: rts pc
100$: return
;
; data area ------------------------------------------------
;