changeset 241:16748cbd3fd5

Forgot kbvdio
author roug
date Thu, 18 Jul 2002 20:32:26 +0000
parents 7c673ea162ca
children 7f477aec20d1
files level1/modules/kbvdio.asm level1/modules/makefile
diffstat 2 files changed, 1142 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/modules/kbvdio.asm	Thu Jul 18 20:32:26 2002 +0000
@@ -0,0 +1,1137 @@
+********************************************************************
+* progname - program module
+*
+* $Id$
+*
+* Ed.    Comments                                       Who YY/MM/DD
+* ------------------------------------------------------------------
+*  -     Original Dragon Data distribution version
+*
+
+         nam   KBVDIO
+         ttl   os9 device driver    
+
+* Disassembled 02/04/21 22:37:57 by Disasm v1.6 (C) 1988 by RML
+
+         ifp1
+         use   defsfile
+         endc
+tylg     set   Drivr+Objct   
+atrv     set   ReEnt+rev
+rev      set   $01
+         mod   eom,name,tylg,atrv,start,size
+u0000    rmb   2
+u0002    rmb   1
+u0003    rmb   1
+u0004    rmb   1
+u0005    rmb   4
+u0009    rmb   2
+u000B    rmb   1
+u000C    rmb   1
+u000D    rmb   11
+u0018    rmb   1
+u0019    rmb   1
+u001A    rmb   1
+u001B    rmb   1
+u001C    rmb   1
+u001D    rmb   2
+u001F    rmb   2
+u0021    rmb   1
+u0022    rmb   1
+u0023    rmb   1
+u0024    rmb   1
+u0025    rmb   1
+u0026    rmb   2
+u0028    rmb   1
+u0029    rmb   2
+u002B    rmb   1
+u002C    rmb   1
+u002D    rmb   2
+u002F    rmb   1
+u0030    rmb   1
+u0031    rmb   2
+u0033    rmb   1
+u0034    rmb   1
+u0035    rmb   1
+u0036    rmb   1
+u0037    rmb   1
+u0038    rmb   1
+u0039    rmb   1
+u003A    rmb   1
+u003B    rmb   2
+u003D    rmb   1
+u003E    rmb   1
+u003F    rmb   1
+u0040    rmb   1
+u0041    rmb   1
+u0042    rmb   1
+u0043    rmb   1
+u0044    rmb   1
+u0045    rmb   1
+u0046    rmb   1
+u0047    rmb   1
+u0048    rmb   1
+u0049    rmb   1
+u004A    rmb   1
+u004B    rmb   10
+u0055    rmb   26
+u006F    rmb   91
+size     equ   .
+         fcb   $07 
+name     equ   *
+         fcs   /KBVDIO/
+         fcb   $04 
+start    equ   *
+         lbra  L0027
+         lbra  L0286
+         lbra  L0345
+         lbra  L0072
+         lbra  L0098
+         lbra  L009D
+L0027    lbsr  L02BA
+         lbra  L002D
+L002D    pshs  cc
+         orcc  #$10
+         stu   >$006D
+         ldd   >$0032
+         std   >$006B
+         leax  >L00B0,pcr
+         stx   >$0032
+         ldx   #$FF00
+         stx   <u003B,u
+         clra  
+         clrb  
+         std   <u0048,u
+         sta   $01,x
+         sta   ,x
+         sta   $03,x
+         comb  
+         stb   <u003D,u
+         stb   $02,x
+         stb   <u003F,u
+         stb   <u0040,u
+         stb   <u0041,u
+         lda   #$34
+         sta   $01,x
+         lda   #$3F
+         sta   $03,x
+         lda   $02,x
+         puls  pc,cc
+         ldb   #$F5
+         orcc  #$01
+         rts   
+L0072    cmpa  #$01
+         bne   L0082
+         lda   <u0049,u
+         suba  <u0048,u
+         bne   L00AE
+         ldb   #$F6
+         bra   L009A
+L0082    cmpa  #$06
+         beq   L00AE
+         cmpa  #$12
+         lbeq  L04E4
+         cmpa  #$13
+         lbeq  L085F
+         cmpa  #$1C
+         lbeq  L04CD
+L0098    ldb   #$D0
+L009A    orcc  #$01
+         rts   
+L009D    pshs  cc
+         orcc  #$10
+         ldx   >$006B
+         stx   >$0032
+         puls  pc,cc
+L00A9    incb  
+         cmpb  #$7F
+         bls   L00AF
+L00AE    clrb  
+L00AF    rts   
+L00B0    ldu   >$006D
+         ldx   <u003B,u
+         lda   $03,x
+         bmi   L00BE
+         jmp   [>$0038]
+L00BE    lda   $02,x
+         lda   #$FF
+         sta   $02,x
+         lda   ,x
+         coma  
+         anda  #$03
+         bne   L00D4
+         clr   $02,x
+         lda   ,x
+         coma  
+         anda  #$7F
+         bne   L00F1
+L00D4    clra  
+         coma  
+         sta   <u003F,u
+         sta   <u0040,u
+         sta   <u0041,u
+L00DF    lda   >$006F
+         beq   L00ED
+         deca  
+         sta   >$006F
+         bne   L00ED
+         sta   >$FF48
+L00ED    jmp   [>$006B]
+L00F1    bsr   L013F
+         bmi   L00DF
+         sta   <u0047,u
+         cmpa  #$1F
+         bne   L0101
+         com   <u003D,u
+         bra   L00DF
+L0101    ldb   <u0048,u
+         leax  <u004A,u
+         abx   
+         bsr   L00A9
+         cmpb  <u0049,u
+         beq   L0112
+         stb   <u0048,u
+L0112    sta   ,x
+         beq   L0132
+         cmpa  u000D,u
+         bne   L0122
+         ldx   u0009,u
+         beq   L0132
+         sta   $08,x
+         bra   L0132
+L0122    ldb   #$03
+         cmpa  u000B,u
+         beq   L012E
+         ldb   #$02
+         cmpa  u000C,u
+         bne   L0132
+L012E    lda   u0003,u
+         bra   L0136
+L0132    ldb   #$01
+         lda   u0005,u
+L0136    beq   L013B
+         os9   F$Send   
+L013B    clr   u0005,u
+         bra   L00DF
+L013F    clra  
+         sta   <u003E,u
+         sta   <u0045,u
+         sta   <u0046,u
+         coma  
+         sta   <u0042,u
+         sta   <u0043,u
+         sta   <u0044,u
+         deca  
+         sta   $02,x
+L0156    lda   ,x
+         coma  
+         anda  #$7F
+         beq   L0169
+         ldb   #$FF
+L015F    incb  
+         lsra  
+         bcc   L0165
+         bsr   L01AF
+L0165    cmpb  #$06
+         bcs   L015F
+L0169    inc   <u003E,u
+         orcc  #$01
+         rol   $02,x
+         bcs   L0156
+         lbsr  L01F8
+         bmi   L01AE
+         suba  #$1B
+         bcc   L0191
+         adda  #$1B
+         ldb   <u0046,u
+         bne   L0190
+         adda  #$40
+         ldb   <u0045,u
+         eorb  <u003D,u
+         andb  #$01
+         bne   L0190
+         adda  #$20
+L0190    rts   
+L0191    ldb   #$03
+         mul   
+         lda   <u0045,u
+         beq   L019C
+         incb  
+         bra   L01A3
+L019C    lda   <u0046,u
+         beq   L01A3
+         addb  #$02
+L01A3    pshs  x
+         leax  >L023E,pcr
+         clra  
+         lda   d,x
+         puls  x
+L01AE    rts   
+L01AF    pshs  b
+         cmpb  #$06
+         beq   L01BF
+         cmpb  #$01
+         bhi   L01BD
+         addb  #$04
+         bra   L01BF
+L01BD    subb  #$02
+L01BF    lslb  
+         lslb  
+         lslb  
+         addb  <u003E,u
+         cmpb  #$31
+         bne   L01CE
+         inc   <u0046,u
+         puls  pc,b
+L01CE    cmpb  #$37
+         bne   L01D7
+         com   <u0045,u
+         puls  pc,b
+L01D7    pshs  x
+         leax  <u0042,u
+         bsr   L01E2
+         puls  x
+         puls  pc,b
+L01E2    pshs  a
+         lda   ,x
+         bpl   L01EC
+         stb   ,x
+         puls  pc,a
+L01EC    lda   $01,x
+         bpl   L01F4
+         stb   $01,x
+         puls  pc,a
+L01F4    stb   $02,x
+         puls  pc,a
+L01F8    pshs  y,x,b
+         leax  <u003F,u
+         ldb   #$03
+         pshs  b
+L0201    leay  <u0042,u
+         ldb   #$03
+         lda   ,x
+         bmi   L021D
+L020A    cmpa  ,y
+         bne   L0214
+         clr   ,y
+         com   ,y
+         bra   L021D
+L0214    leay  $01,y
+         decb  
+         bne   L020A
+         lda   #$FF
+         sta   ,x
+L021D    leax  $01,x
+         dec   ,s
+         bne   L0201
+         leas  $01,s
+         leax  <u0042,u
+         lda   #$03
+L022A    ldb   ,x+
+         bpl   L0235
+         deca  
+         bne   L022A
+         orcc  #$08
+         puls  pc,y,x,b
+L0235    leax  <u003F,u
+         bsr   L01E2
+         tfr   b,a
+         puls  pc,y,x,b
+L023E    inc   <u001C
+         sync  
+         dec   <u001A
+         nop   
+         lsl   <u0018
+         fcb   $10 
+         rol   <u0019
+         fcb   $11 
+         bra   L026C
+         bra   L027E
+         leax  -$01,x
+         leay  $01,y
+         inc   >$3222
+         neg   <u0033
+         bls   L02D7
+         pshs  y,b
+         neg   <u0035
+         bcs   L025F
+L025F    pshu  y,b,a
+         neg   <u0037
+         beq   L02C3
+         fcb   $38 8
+         bvc   L02C3
+         rts   
+         bvs   L02C8
+         abx   
+L026C    bpl   L026E
+L026E    rti   
+         bmi   L0271
+L0271    bge   L02AF
+         tim   #$2D,>$3D5F
+         bgt   L02B7
+         tst   >$2F3F
+         incb  
+         tst   <u000D
+         tst   <u0000
+         neg   <u0000
+         eim   #$03,<u001B
+L0286    leax  <u004A,u
+         ldb   <u0049,u
+         orcc  #$10
+         cmpb  <u0048,u
+         beq   L029F
+         abx   
+         lda   ,x
+         lbsr  L00A9
+         stb   <u0049,u
+         andcc #$EE
+         rts   
+L029F    lda   u0004,u
+         sta   u0005,u
+         andcc #$EF
+         ldx   #$0000
+         os9   F$Sleep  
+         clr   u0005,u
+         ldx   <u004B
+L02AF    ldb   <$36,x
+         beq   L0286
+         cmpb  #$04
+         bcc   L0286
+         coma  
+         rts   
+L02BA    pshs  y,x
+         clr   <u0025,u
+         clr   <u002C,u
+         pshs  u
+         ldd   #$0300
+         os9   F$SRqMem 
+         tfr   u,d
+         tfr   u,x
+         bita  #$01
+         beq   L02D8
+         leax  >$0100,x
+         bra   L02DC
+L02D8    leau  >$0200,u
+L02DC    ldd   #$0100
+         os9   F$SRtMem 
+         puls  u
+         stx   <u001D,u
+         clra  
+         clrb  
+         bsr   L0303
+         stx   <u0021,u
+         leax  >$0200,x
+         stx   <u001F,u
+         lbsr  L0459
+         lda   #$60
+         sta   <u0023,u
+         sta   <u002B,u
+         clrb  
+         puls  pc,y,x
+L0303    pshs  x,a
+         lda   >$FF22
+         anda  #$07
+         ora   ,s+
+         sta   >$FF22
+         tstb  
+         bne   L0320
+         stb   >$FFC0
+         stb   >$FFC2
+         stb   >$FFC4
+         lda   <u001D,u
+         bra   L032C
+L0320    stb   >$FFC0
+         stb   >$FFC3
+         stb   >$FFC5
+         lda   <u002D,u
+L032C    ldb   #$07
+         ldx   #$FFC6
+         lsra  
+L0332    lsra  
+         bcs   L033B
+         sta   ,x+
+         leax  $01,x
+         bra   L033F
+L033B    leax  $01,x
+         sta   ,x+
+L033F    decb  
+         bne   L0332
+         clrb  
+         puls  pc,x
+L0345    ldb   <u0025,u
+         bne   L0387
+         tsta  
+         bmi   L0371
+         cmpa  #$1F
+         bls   L03BC
+         cmpa  #$7C
+         bne   L0359
+         lda   #$61
+         bra   L0371
+L0359    cmpa  #$7E
+         bne   L0361
+         lda   #$6D
+         bra   L0371
+L0361    cmpa  #$60
+         bcs   L036B
+         suba  #$20
+         ora   #$40
+         bra   L0371
+L036B    cmpa  #$40
+         bcs   L0371
+         suba  #$40
+L0371    ldx   <u0021,u
+         eora  #$40
+         sta   ,x+
+         stx   <u0021,u
+         cmpx  <u001F,u
+         bcs   L0382
+         bsr   L039C
+L0382    lbsr  L0415
+         clrb  
+         rts   
+L0387    cmpb  #$01
+         beq   L0394
+         clr   <u0025,u
+         sta   <u0029,u
+         jmp   [<u0026,u]
+L0394    sta   <u0028,u
+         inc   <u0025,u
+         clrb  
+         rts   
+L039C    ldx   <u001D,u
+         leax  <$20,x
+L03A2    ldd   ,x++
+         std   <-$22,x
+         cmpx  <u001F,u
+         bcs   L03A2
+         leax  <-$20,x
+         stx   <u0021,u
+         lda   #$20
+         ldb   #$60
+L03B6    stb   ,x+
+         deca  
+         bne   L03B6
+L03BB    rts   
+L03BC    cmpa  #$1B
+         bcc   L03BB
+         cmpa  #$10
+         bcs   L03CE
+         ldb   <u002C,u
+         bne   L03CE
+         ldb   #$F6
+         orcc  #$01
+         rts   
+L03CE    leax  <L03D6,pcr
+         lsla  
+         ldd   a,x
+         jmp   d,x
+L03D6    stu   >$C400
+         cmpa  <u0000
+         bita  $00,x
+         subb  <u00FF
+         andb  #$FF
+         andb  #$00
+         eim   #$FF,>$C400
+         asr   $00,x
+         sbcb  $00,x
+         fcb   $4E N
+         stu   >$C400
+         subd  #$0036
+         neg   <u00F2
+         oim   #$4A,<u0002
+         bgt   L03FB
+         rol   <u0002
+L03FB    sex   
+         aim   #$4E,<u0002
+         rolb  
+         aim   #$72,<u0002
+         stu   <u0002
+         orb   <u0002
+         adca  #$02
+         anda  #$03
+         eora  >L682E,pcr
+         fcb   $10 
+         andb  #$E0
+         stb   <u0022,u
+L0415    ldx   <u0021,u
+         lda   ,x
+         sta   <u0023,u
+         lda   #$20
+         sta   ,x
+         andcc #$FE
+         rts   
+         bsr   L0472
+         leax  <$20,x
+         cmpx  <u001F,u
+         bcs   L0438
+         leax  <-$20,x
+         pshs  x
+         lbsr  L039C
+         puls  x
+L0438    stx   <u0021,u
+         bra   L0415
+         bsr   L0472
+         cmpx  <u001D,u
+         bls   L0449
+         leax  -$01,x
+         stx   <u0021,u
+L0449    bra   L0415
+         bsr   L0472
+         leax  $01,x
+         cmpx  <u001F,u
+         bcc   L0457
+         stx   <u0021,u
+L0457    bra   L0415
+L0459    bsr   L0467
+         lda   #$60
+L045D    sta   ,x+
+         cmpx  <u001F,u
+         bcs   L045D
+         lbra  L0415
+L0467    bsr   L0472
+         ldx   <u001D,u
+         stx   <u0021,u
+         lbra  L0415
+L0472    ldx   <u0021,u
+         lda   <u0023,u
+         sta   ,x
+         rts   
+         leax  <L0481,pcr
+         lbra  L064B
+L0481    bsr   L0472
+         ldb   <u0029,u
+         subb  #$20
+         lda   #$20
+         mul   
+         addb  <u0028,u
+         adca  #$00
+         subd  #$0020
+         addd  <u001D,u
+         cmpd  <u001F,u
+         bcc   L04A3
+         std   <u0021,u
+         lbsr  L0415
+         clrb  
+L04A3    lbra  L0415
+         lbsr  L040C
+         ldb   #$20
+         lda   #$60
+         ldx   <u0021,u
+L04B0    sta   ,x+
+         decb  
+         bne   L04B0
+         lbra  L0415
+         bsr   L0472
+         leax  <-$20,x
+         cmpx  <u001D,u
+         bcs   L04C5
+         stx   <u0021,u
+L04C5    lbra  L0415
+         clra  
+         clrb  
+         lbra  L0303
+L04CD    ldx   $06,y
+         ldd   <u001D,u
+         std   $04,x
+         ldd   <u0021,u
+         std   $06,x
+         ldb   <u003D,u
+         stb   $01,x
+         clrb  
+         rts   
+L04E0    neg   <u0055
+         ora   [>$A6C8]
+         bge   L050E
+         eim   #$C6,<u00F6
+         orcc  #$01
+         rts   
+         ldd   <u0034,u
+         lbsr  L0684
+         tfr   a,b
+         andb  ,x
+L04F8    bita  #$01
+         bne   L0507
+         lsra  
+         lsrb  
+         tst   <u0024,u
+         bmi   L04F8
+         lsra  
+         lsrb  
+         bra   L04F8
+L0507    pshs  b
+         ldb   <u003A,u
+         andb  #$FC
+L050E    orb   ,s+
+         ldx   $06,y
+         stb   $01,x
+         ldd   <u0034,u
+         std   $06,x
+         ldd   <u002D,u
+         std   $04,x
+         clrb  
+         rts   
+         leax  <L0526,pcr
+         lbra  L064B
+L0526    ldb   <u002C,u
+         bne   L0566
+         pshs  u
+         ldd   #$1900
+         os9   F$SRqMem 
+         tfr   u,d
+         puls  u
+         bcs   L0585
+         tfr   a,b
+         bita  #$01
+         beq   L0543
+         adda  #$01
+         bra   L0545
+L0543    addb  #$18
+L0545    pshs  u,a
+         tfr   b,a
+         clrb  
+         tfr   d,u
+         ldd   #$0100
+         os9   F$SRtMem 
+         puls  u,a
+         bcs   L0585
+         clrb  
+         std   <u002D,u
+         addd  #$1800
+         std   <u002F,u
+         inc   <u002C,u
+         lbsr  L0624
+L0566    lda   <u0029,u
+         sta   <u003A,u
+         anda  #$03
+         leax  >L04E0,pcr
+         lda   a,x
+         sta   <u0036,u
+         sta   <u0037,u
+         lda   <u0028,u
+         cmpa  #$01
+         bls   L0586
+         ldb   #$CB
+         orcc  #$01
+L0585    rts   
+L0586    tsta  
+         beq   L05A6
+         ldd   #$C003
+         std   <u0038,u
+         lda   #$01
+         sta   <u0024,u
+         lda   #$E0
+         ldb   <u0029,u
+         andb  #$08
+         beq   L059F
+         lda   #$F0
+L059F    ldb   #$03
+         leax  <L05D3,pcr
+         bra   L05BE
+L05A6    ldd   #$8001
+         std   <u0038,u
+         lda   #$FF
+         sta   <u0036,u
+         sta   <u0037,u
+         sta   <u0024,u
+         lda   #$F0
+         ldb   #$07
+         leax  <L05D7,pcr
+L05BE    stb   <u0033,u
+         stx   <u0031,u
+         ldb   <u0029,u
+         andb  #$04
+         lslb  
+         pshs  b
+         ora   ,s+
+         ldb   #$01
+         lbra  L0303
+L05D3    subb  #$30
+         inc   <u0003
+L05D7    suba  #$40
+         bra   L05EB
+         lsl   <u0004
+         aim   #$01,<u0030
+         cmpx  #$0316
+         oim   #$9C,<u006F
+         eorb  #$28
+         lda   <u0024,u
+L05EB    bmi   L05F0
+         inc   <u0028,u
+L05F0    lbra  L0566
+         pshs  u
+         ldu   <u002D,u
+         ldd   #$1800
+         os9   F$SRtMem 
+         puls  u
+         clr   <u002C,u
+         rts   
+         leax  <L060A,pcr
+         lbra  L0781
+L060A    lda   <u0029,u
+         tst   <u0024,u
+         bpl   L061A
+         ldb   #$FF
+         anda  #$01
+         beq   L0624
+         bra   L0625
+L061A    anda  #$03
+         leax  >L04E0,pcr
+         ldb   a,x
+         bra   L0625
+L0624    clrb  
+L0625    ldx   <u002D,u
+L0628    stb   ,x+
+         cmpx  <u002F,u
+         bcs   L0628
+         clra  
+         clrb  
+         std   <u0034,u
+         rts   
+L0635    ldd   <u0028,u
+         cmpb  #$C0
+         bcs   L063E
+         ldb   #$BF
+L063E    tst   <u0024,u
+         bmi   L0644
+         lsra  
+L0644    std   <u0028,u
+         rts   
+         leax  <L0653,pcr
+L064B    stx   <u0026,u
+         inc   <u0025,u
+         clrb  
+         rts   
+L0653    bsr   L0635
+         std   <u0034,u
+         clrb  
+         rts   
+         clr   <u0036,u
+         bra   L065F
+L065F    leax  <L0664,pcr
+         bra   L064B
+L0664    bsr   L0635
+         std   <u0034,u
+         bsr   L0673
+         lda   <u0037,u
+         sta   <u0036,u
+         clrb  
+         rts   
+L0673    bsr   L0684
+         tfr   a,b
+         comb  
+         andb  ,x
+         stb   ,x
+         anda  <u0036,u
+         ora   ,x
+         sta   ,x
+         rts   
+L0684    pshs  y,b,a
+         ldb   <u0024,u
+         bpl   L068C
+         lsra  
+L068C    lsra  
+         lsra  
+         pshs  a
+         ldb   #$BF
+         subb  $02,s
+         lda   #$20
+         mul   
+         addb  ,s+
+         adca  #$00
+         ldy   <u002D,u
+         leay  d,y
+         lda   ,s
+         sty   ,s
+         anda  <u0033,u
+         ldx   <u0031,u
+         lda   a,x
+         puls  pc,y,x
+         clr   <u0036,u
+         bra   L06B5
+L06B5    leax  <L06BA,pcr
+         bra   L064B
+L06BA    lbsr  L0635
+         leas  -$0E,s
+         std   $0C,s
+         bsr   L0684
+         stx   $02,s
+         sta   $01,s
+         ldd   <u0034,u
+         bsr   L0684
+         sta   ,s
+         clra  
+         clrb  
+         std   $04,s
+         lda   #$BF
+         suba  <u0035,u
+         sta   <u0035,u
+         lda   #$BF
+         suba  <u0029,u
+         sta   <u0029,u
+         lda   #$FF
+         sta   $06,s
+         clra  
+         ldb   <u0034,u
+         subb  <u0028,u
+         sbca  #$00
+         bpl   L06F7
+         nega  
+         negb  
+         sbca  #$00
+         neg   $06,s
+L06F7    std   $08,s
+         bne   L0700
+         ldd   #$FFFF
+         std   $04,s
+L0700    lda   #$E0
+         sta   $07,s
+         clra  
+         ldb   <u0035,u
+         subb  <u0029,u
+         sbca  #$00
+         bpl   L0715
+         nega  
+         negb  
+         sbca  #$00
+         neg   $07,s
+L0715    std   $0A,s
+         bra   L0721
+L0719    sta   ,s
+         ldd   $04,s
+         subd  $0A,s
+         std   $04,s
+L0721    lda   ,s
+         tfr   a,b
+         anda  <u0036,u
+         comb  
+         andb  ,x
+         pshs  b
+         ora   ,s+
+         sta   ,x
+         cmpx  $02,s
+         bne   L073B
+         lda   ,s
+         cmpa  $01,s
+         beq   L076F
+L073B    ldd   $04,s
+         bpl   L0749
+         addd  $08,s
+         std   $04,s
+         lda   $07,s
+         leax  a,x
+         bra   L0721
+L0749    lda   ,s
+         ldb   $06,s
+         bpl   L075F
+         lsla  
+         ldb   <u0024,u
+         bmi   L0756
+         lsla  
+L0756    bcc   L0719
+         lda   <u0039,u
+         leax  -$01,x
+         bra   L0719
+L075F    lsra  
+         ldb   <u0024,u
+         bmi   L0766
+         lsra  
+L0766    bcc   L0719
+         lda   <u0038,u
+         leax  $01,x
+         bra   L0719
+L076F    ldd   $0C,s
+         std   <u0034,u
+         leas  $0E,s
+         lda   <u0037,u
+         sta   <u0036,u
+         clrb  
+         rts   
+         leax  <L0789,pcr
+L0781    stx   <u0026,u
+         com   <u0025,u
+         clrb  
+         rts   
+L0789    leas  -$04,s
+         ldb   <u0029,u
+         stb   $01,s
+         clra  
+         sta   ,s
+         addb  $01,s
+         adca  #$00
+         nega  
+         negb  
+         sbca  #$00
+         addd  #$0003
+         std   $02,s
+L07A0    lda   ,s
+         cmpa  $01,s
+         bcc   L07D2
+         ldb   $01,s
+         bsr   L07E0
+         clra  
+         ldb   $02,s
+         bpl   L07BA
+         ldb   ,s
+         lslb  
+         rola  
+         lslb  
+         rola  
+         addd  #$0006
+         bra   L07CA
+L07BA    dec   $01,s
+         clra  
+         ldb   ,s
+         subb  $01,s
+         sbca  #$00
+         lslb  
+         rola  
+         lslb  
+         rola  
+         addd  #$000A
+L07CA    addd  $02,s
+         std   $02,s
+         inc   ,s
+         bra   L07A0
+L07D2    lda   ,s
+         cmpa  $01,s
+         bne   L07DC
+         ldb   $01,s
+         bsr   L07E0
+L07DC    leas  $04,s
+         clrb  
+         rts   
+L07E0    leas  -$08,s
+         sta   ,s
+         clra  
+         std   $02,s
+         nega  
+         negb  
+         sbca  #$00
+         std   $06,s
+         ldb   ,s
+         clra  
+         std   ,s
+         nega  
+         negb  
+         sbca  #$00
+         std   $04,s
+         ldx   $06,s
+         bsr   L0829
+         ldd   $04,s
+         ldx   $02,s
+         bsr   L0829
+         ldd   ,s
+         ldx   $02,s
+         bsr   L0829
+         ldd   ,s
+         ldx   $06,s
+         bsr   L0829
+         ldd   $02,s
+         ldx   ,s
+         bsr   L0829
+         ldd   $02,s
+         ldx   $04,s
+         bsr   L0829
+         ldd   $06,s
+         ldx   $04,s
+         bsr   L0829
+         ldd   $06,s
+         ldx   ,s
+         bsr   L0829
+         leas  $08,s
+         rts   
+L0829    pshs  b,a
+         ldb   <u0035,u
+         clra  
+         leax  d,x
+         cmpx  #$0000
+         bmi   L083B
+         cmpx  #$00BF
+         ble   L083D
+L083B    puls  pc,b,a
+L083D    ldb   <u0034,u
+         clra  
+         tst   <u0024,u
+         bmi   L0848
+         lslb  
+         rola  
+L0848    addd  ,s++
+         tsta  
+         beq   L084E
+         rts   
+L084E    pshs  b
+         tfr   x,d
+         puls  a
+         tst   <u0024,u
+         lbmi  L0673
+         lsra  
+         lbra  L0673
+L085F    ldx   $06,y
+         pshs  y,cc
+         orcc  #$10
+         lda   #$FF
+         clr   >$FF02
+         ldb   >$FF00
+         ldy   $04,x
+         bne   L0878
+         andb  #$01
+         bne   L087C
+         bra   L087D
+L0878    andb  #$02
+         beq   L087D
+L087C    clra  
+L087D    sta   $01,x
+         lda   >$FF03
+         ora   #$08
+         ldy   $04,x
+         bne   L088B
+         anda  #$F7
+L088B    sta   >$FF03
+         lda   >$FF01
+         anda  #$F7
+         bsr   L08AA
+         std   $04,x
+         lda   >$FF01
+         ora   #$08
+         bsr   L08AA
+         pshs  b,a
+         ldd   #$003F
+         subd  ,s++
+         std   $06,x
+         clrb  
+         puls  pc,y,cc
+L08AA    sta   >$FF01
+         clrb  
+         bsr   L08BA
+         bsr   L08BA
+         bsr   L08BA
+         bsr   L08BA
+         lsrb  
+         lsrb  
+         clra  
+         rts   
+L08BA    pshs  b
+         lda   #$7F
+         tfr   a,b
+L08C0    lsrb  
+         cmpb  #$03
+         bhi   L08CC
+         lsra  
+         lsra  
+         tfr   a,b
+         addb  ,s+
+         rts   
+L08CC    addb  #$02
+         andb  #$FC
+         pshs  b
+         anda  #$FC
+         sta   >$FF20
+         tst   >$FF00
+         bpl   L08E0
+         adda  ,s+
+         bra   L08C0
+L08E0    suba  ,s+
+         bra   L08C0
+         emod
+eom      equ   *
--- a/level1/modules/makefile	Thu Jul 18 20:25:06 2002 +0000
+++ b/level1/modules/makefile	Thu Jul 18 20:32:26 2002 +0000
@@ -6,16 +6,18 @@
 BOOTERS		= oscode oscode_d64 boot_1773 boot_d64 $(TPB)/boot_rom_l1 rom_vectors
 KERNELS		= os9 os9p2
 SYSMODS		= rominfo ioman init
-CLOCKS		= clock.60hz clock.50hz
+CLOCKS		= clock.60hz clock.50hz clock_d64
 FMGRS		= scf.mn rbf.mn pipeman.mn
 DRIVERS		= aciapak.dr cchdisk.dr ccdisk.dr modpak.dr nildrv.dr \
-		piper.dr printer.dr rs232.dr sscpak.dr ccio.dr ddisk.dr
+		piper.dr printer.dr rs232.dr sscpak.dr ccio.dr \
+		ddisk.dr kbvdio.dr
 IOSUBS		= co32.io co80.io grfo.io
 DESCS		= dd.dd d0.dd d1.dd d2.dd d3.dd h0_15.dd h1_15.dd h0_35.dd \
 		h1_35.dd m1.dd m2.dd nil.dd p.dd pipe.dd ssc.dd t1.dd \
 		t2.dd t3.dd term32.dd term80.dd \
+		p1_d64.dd term_d64.dd t1_d64.dd \
 		dd_d64.dd d0_d64.dd d1_d64.dd d2_d64.dd d3_d64.dd
-SYSGOS		= sysgo sysgo_rom
+SYSGOS		= sysgo sysgo_rom sysgo_d64
 HELP		= co32.hp co80.hp dd.hp d0.hp d1.hp d2.hp d3.hp grfo.hp h0_15.hp \
 		h0_35.hp h1_15.hp h1_35.hp m1.hp m2.hp nil.hp p.hp pipe.hp \
 		ssc.hp t1.hp t2.hp t3.hp term32.hp term80.hp config.hp