Mercurial > hg > Members > kono > nitros9-code
annotate level1/cmds/go51.asm @ 1020:c1a5613ffe7b
changes
author | boisy |
---|---|
date | Thu, 06 Mar 2003 01:41:03 +0000 |
parents | c155aac72190 |
children | 04b3b0436d6b |
rev | line source |
---|---|
118 | 1 ******************************************************************** |
2 * go51 - The 51 column by 24 line video display | |
3 * | |
4 * $Id$ | |
5 * | |
6 * Ed. Comments Who YY/MM/DD | |
7 * ------------------------------------------------------------------ | |
200
e9ce43cc215e
Made major changes to headers for consistency and identification
boisy
parents:
120
diff
changeset
|
8 * 1 From Dragon OS-9 Level One VR 01.02.00 |
118 | 9 |
10 nam go51 | |
11 ttl The 51 column by 24 line video display | |
12 | |
13 * Disassembled 02/07/06 21:10:42 by Disasm v1.6 (C) 1988 by RML | |
14 | |
15 ifp1 | |
16 use defsfile | |
17 endc | |
200
e9ce43cc215e
Made major changes to headers for consistency and identification
boisy
parents:
120
diff
changeset
|
18 |
118 | 19 tylg set Prgrm+Objct |
20 atrv set ReEnt+rev | |
21 rev set $01 | |
200
e9ce43cc215e
Made major changes to headers for consistency and identification
boisy
parents:
120
diff
changeset
|
22 edition set 1 |
e9ce43cc215e
Made major changes to headers for consistency and identification
boisy
parents:
120
diff
changeset
|
23 |
118 | 24 mod eom,name,tylg,atrv,start,size |
200
e9ce43cc215e
Made major changes to headers for consistency and identification
boisy
parents:
120
diff
changeset
|
25 |
924 | 26 org 0 |
880 | 27 ioptr rmb 2 |
28 drvrptr rmb 2 | |
29 drvrsiz rmb 2 | |
924 | 30 optbuf rmb 32 |
118 | 31 size equ . |
200
e9ce43cc215e
Made major changes to headers for consistency and identification
boisy
parents:
120
diff
changeset
|
32 |
e9ce43cc215e
Made major changes to headers for consistency and identification
boisy
parents:
120
diff
changeset
|
33 name fcs /go51/ |
e9ce43cc215e
Made major changes to headers for consistency and identification
boisy
parents:
120
diff
changeset
|
34 fcb edition |
e9ce43cc215e
Made major changes to headers for consistency and identification
boisy
parents:
120
diff
changeset
|
35 |
204 | 36 IOMod fcs /KBVDIO/ |
880 | 37 IOModL equ *-IOMod |
204 | 38 Driver fcs /drvr51/ |
39 Desc fcs /term/ | |
40 | |
880 | 41 start leax >IOMod,pcr point to I/O module |
42 lbsr DoLink link to it | |
43 lbcs Bye branch if error | |
44 stx ioptr,u save ptr to module | |
45 lbsr DoUnlink unlink it | |
46 leax >Driver,pcr point to driver | |
47 lbsr DoLink link to it | |
48 lbcs Bye branch if error | |
49 stx drvrptr,u save ptr to driver | |
50 ldd M$Size,x get module size | |
51 std drvrsiz,u save driver size | |
118 | 52 pshs u,cc |
880 | 53 orcc #IntMasks mask interrupts |
204 | 54 ldx >D.AltIRQ |
880 | 55 stx >D.IRQ swap irq vector |
56 ldy ioptr,u | |
57 ldx drvrsiz,u get driver size | |
58 ldu drvrptr,u get driver pointer | |
118 | 59 L0054 lda ,u+ |
60 sta ,y+ | |
61 leax -$01,x | |
62 bne L0054 | |
63 ldx #$FF00 | |
64 lda $01,x | |
65 ora #$30 | |
66 anda #$F7 | |
67 sta $01,x | |
68 lda $03,x | |
69 anda #$F6 | |
70 ora #$30 | |
71 sta $03,x | |
72 ldx #$FF20 | |
73 lda $03,x | |
74 ora #$38 | |
75 sta $03,x | |
76 puls u,cc | |
880 | 77 ldx drvrptr,u get pointer to driver module |
78 lbsr DoUnlink unlink it | |
79 ldx ioptr,u get io mod pointer | |
80 ldd M$Name,x get offset to I/O module name | |
81 leax d,x point X to name | |
204 | 82 leay >IOMod,pcr |
880 | 83 ldb #IOModL |
118 | 84 L008B lda ,y+ |
85 sta ,x+ | |
86 decb | |
87 bne L008B | |
880 | 88 lda #$01 standard output |
89 ldb #SS.Opt option getstat | |
924 | 90 leax optbuf,u point to buffer |
880 | 91 os9 I$GetStt get status |
92 bcs Bye branch if error | |
268 | 93 clr (PD.UPC-PD.OPT),x |
94 lda #24 | |
95 sta (PD.PAG-PD.OPT),x | |
118 | 96 lda #$01 |
204 | 97 ldb #SS.Opt |
118 | 98 os9 I$SetStt |
268 | 99 bcs Bye |
204 | 100 leax >Desc,pcr |
101 lda #Devic+Objct | |
118 | 102 pshs u |
103 os9 F$Link | |
104 tfr u,x | |
105 puls u | |
268 | 106 bcs Bye |
880 | 107 clr <IT.UPC,x clear uppercase flag |
108 lda #24 new screen has 24 lines | |
109 sta <IT.PAG,x save it | |
268 | 110 bsr DoUnlink |
118 | 111 clrb |
268 | 112 Bye os9 F$Exit |
113 | |
114 DoLink pshs u | |
204 | 115 lda #Drivr+Objct |
118 | 116 os9 F$Link |
117 tfr u,x | |
118 puls pc,u | |
268 | 119 |
120 DoUnlink pshs u | |
118 | 121 tfr x,u |
122 os9 F$UnLink | |
123 puls pc,u | |
204 | 124 |
118 | 125 emod |
126 eom equ * | |
204 | 127 end |