annotate 3rdparty/packages/sierra/objs_lsl/sierra.asm @ 3199:dd553bb32ebb

3rdparty: Changed the names of many disks for easier reading
author Bill Pierce <merlinious999@gmail.com>
date Tue, 06 Jun 2017 23:59:39 +0200
parents 67f9b769969f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1079
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1 ********************************************************************
2523
b8dc2c8bfa03 Slight mods to comments
boisy
parents: 2140
diff changeset
2 * sierra - Sierra setup module
1079
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
3 *
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
4 * $Id$
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
5 *
2523
b8dc2c8bfa03 Slight mods to comments
boisy
parents: 2140
diff changeset
6 * Notes: This module is for the 2.072 version of the interpreter.
b8dc2c8bfa03 Slight mods to comments
boisy
parents: 2140
diff changeset
7 *
1357
0de024ea86cd Added new style comments
boisy
parents: 1081
diff changeset
8 * Edt/Rev YYYY/MM/DD Modified by
0de024ea86cd Added new style comments
boisy
parents: 1081
diff changeset
9 * Comment
1079
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
10 * ------------------------------------------------------------------
1357
0de024ea86cd Added new style comments
boisy
parents: 1081
diff changeset
11 * 0 2003/01/31 Paul W. Zibaila
0de024ea86cd Added new style comments
boisy
parents: 1081
diff changeset
12 * Disassembly of original distribution and merged in comments from
0de024ea86cd Added new style comments
boisy
parents: 1081
diff changeset
13 * an earlier disasm dated 1992.
0de024ea86cd Added new style comments
boisy
parents: 1081
diff changeset
14 *
0de024ea86cd Added new style comments
boisy
parents: 1081
diff changeset
15 * 1 2003/03/10 Boisy G. Pitre
0de024ea86cd Added new style comments
boisy
parents: 1081
diff changeset
16 * Monitor type bug now fixed.
2599
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
17 * 2 2012/01/05 Robert Gault
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
18 * Converted raw reads of $FFA0-$FFAF to a routine that gets images
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
19 * from the system. Now works with 2 or 8Meg systems. Unfortunately
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
20 * it was necessary to make buffers within the code rather than data
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
21 * area because it was safer given data was shared with other modules.
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
22 *
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
23 * Simplified some other routines.
777
3a8f068cc438 Import of sources
boisy
parents:
diff changeset
24
1079
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
25 *Monitor defs
2140
1712fac2daac Updated
boisy
parents: 1357
diff changeset
26 #COMP equ 0
1712fac2daac Updated
boisy
parents: 1357
diff changeset
27 #RGB equ 1
1712fac2daac Updated
boisy
parents: 1357
diff changeset
28 #MONO equ 2
1079
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
29
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
30
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
31 * I/O path definitions
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
32 StdIn equ 0
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
33 StdOut equ 1
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
34 StdErr equ 2
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
35
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
36 nam sierra
2523
b8dc2c8bfa03 Slight mods to comments
boisy
parents: 2140
diff changeset
37 ttl Sierra setup module
1079
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
38
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
39 ifp1
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
40 use defsfile
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
41 endc
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
42
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
43 tylg set Prgrm+Objct
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
44 atrv set ReEnt+rev
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
45 rev set $01
1080
3d0b20100199 Monitor type bug fixed, edition now 1
boisy
parents: 1079
diff changeset
46 edition set 1
1079
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
47
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
48 mod eom,name,tylg,atrv,start,size
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
49
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
50 org 0
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
51 u0000 rmb 2 holds size of data area
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
52 u0002 rmb 1 MMU block # mapped into block #2 -org
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
53 u0003 rmb 1 MMU block # mapped into block #3 -org
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
54 u0004 rmb 2 Hi res screen start address
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
55 u0006 rmb 2 Hi res screen end address ?????
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
56 u0008 rmb 1 disasm as u0008 rmb 2
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
57 u0009 rmb 1 MMU Block # SIERRA is in -org
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
58 u000A rmb 1 double byte MMU Task 1 block 1
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
59 u000B rmb 1 value actually resides here
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
60 u000C rmb 1
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
61 u000D rmb 1
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
62 u000E rmb 1
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
63 u000F rmb 1
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
64 u0010 rmb 1
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
65 u0011 rmb 3
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
66 u0014 rmb 2 Hi res screen start address
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
67 u0016 rmb 2 Hi res screen end address ???
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
68 u0017 rmb 4
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
69 u001C rmb 2
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
70 u001E rmb 4
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
71 u0022 rmb 1
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
72 u0023 rmb 1
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
73 u0024 rmb 2 mnln remap value holder
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
74 u0026 rmb 2 scrn remap value holder
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
75 u0028 rmb 2 shdw remap value holder
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
76 u002A rmb 2 saves stack pointer of caller to sub659
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
77 u002C rmb 2
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
78 u002E rmb 16
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
79 u003E rmb 1
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
80 u003F rmb 2
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
81 u0041 rmb 1
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
82 u0042 rmb 1 MMU Block # of SIERRA's dsc.
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
83 u0043 rmb 2
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
84 u0045 rmb 1 flag after color table sets
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
85 u0046 rmb 2
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
86 u0048 rmb 2
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
87 u004A rmb 5
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
88 u004F rmb 4
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
89 u0053 rmb 2
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
90 u0055 rmb 10
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
91 u005F rmb 163
1081
4e78dd135898 Slight source cleanup
boisy
parents: 1080
diff changeset
92 u0102 rmb 112
1079
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
93 mtf173 rmb 1 multitasking flag
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
94 scr174 rmb 1 screen number?
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
95 x01076 rmb 212
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
96 u0249 rmb 1
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
97 u024A rmb 1
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
98 u024B rmb 1
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
99 u024C rmb 497
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
100 u043D rmb 245
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
101 u0532 rmb 16 vol_handle_table (pointer to file structures)
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
102 u0542 rmb 15
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
103 u0551 rmb 2 given_pic_data (pointer)
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
104 u0553 rmb 1 monitor type V26_MONITORTYPE
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
105 u0554 rmb 154
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
106 rmb 169
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
107 int5EE rmb 1 Signal Intercept routine from 452 - 4BD
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
108 rmb 106
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
109 sub659 rmb 1 Slot to hold subroutine for others uses at 4DA - 54F
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
110 rmb 116
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
111 u0xxx rmb 6281
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
112 size equ .
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
113
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
114 name fcs /sierra/
1080
3d0b20100199 Monitor type bug fixed, edition now 1
boisy
parents: 1079
diff changeset
115 fcb edition
1079
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
116
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
117 start equ *
2599
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
118 L0014 lbra L007D branch to entry process params
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
119 L0017 lbra L00DB agi_exit() branch to clean up routines
1079
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
120
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
121
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
122 * Multi-tasking flag (0=No multitask, 1=multitask)
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
123 L001A fcb $00 we store a value here
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
124 * the "old self modifying code" trick
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
125
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
126
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
127 * Text strings think this was probably an Info thing
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
128 L001B fcc 'AGI (c) copyright 1988 SIERRA On-Line'
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
129 fcc 'CoCo3 version by Chris Iden'
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
130 fcb $00
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
131 Infosz equ *-L001B
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
132
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
133
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
134 * Useage text string
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
135 L005C fcc 'Usage: Sierra -Rgb -Multitasking'
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
136 fcb C$CR
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
137 Usgsz equ *-L005C
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
138
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
139
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
140 L007D tfr s,d save stack ptr / start of param ptr into d
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
141 *
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
142 subd #$04FF start of stack/end of data mem ptr
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
143 std <u0000 store this value in user var
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
144 bsr L009C branch to input processer routine
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
145
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
146 L0086 lbsr L011A relay call to L0140
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
147
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
148 L0089 ldd <u0000 load the data pointer
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
149 beq L00DF if it is zero we have a problem
2599
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
150 * ldd >$FFA9 MMU task 1, blocks 1&2 (0-7)
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
151 lbsr mmuini2 get MMU values $FFA8-$FFAF
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
152 ldd mmubuf+9,pcr
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
153 std <u000A save the task 1, blocks 1&2
1079
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
154 lda #$00 clear a to zero
2599
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
155 * clra
1079
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
156 sta <u0011 save that value
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
157 ldx <u0024 set up to jump to mnln and go for it
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
158 jsr sub659 code at L04DA plays with mmu blocks
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
159 rts
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
160
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
161 * Process any command line args
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
162 * See F$Fork description 8-15 for entry conditions
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
163
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
164 L009C lda ,x+ get next char after name string
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
165 cmpa #C$CR is it a CR?
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
166 beq L00DA yes exit from routine
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
167 cmpa #$2D is it a dash '-
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
168 bne L009C not a dash go look again
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
169
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
170 lda ,x+ was as dash get the next char
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
171 ora #$20 apply mask to lower case
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
172 cmpa #$72 is it a 'r ?
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
173 beq L00C2 yep go set up for RGB monitor
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
174 cmpa #$6D is it an 'm ?
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
175 beq L00D2 if so go store a flag and continue
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
176
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
177 * We've found something other than Mm or Rr after a dash
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
178 * write usage message and Exit program
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
179
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
180 lda #StdOut load path std out
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
181 leax >L005C,pcr load address of message
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
182 ldy #Usgsz $0021 load the size of the message
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
183 os9 I$WritLn write it
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
184 clrb clear the error code (unneeded branch to L00DE)
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
185 bra L00DF and branch to exit!
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
186
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
187 * found a "-r"
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
188 L00C2 pshs x save x-reg since set stat call uses it
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
189 lda #StdOut $01 set the path number
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
190 ldb #SS.Montr code #$92 sets the monitor type
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
191 ldx #RGB monitor type code $0001
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
192 os9 I$SetStt set it up
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
193 puls x fetch our x back assumes call doesn't fail
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
194 bra L009C go process the rest of the parms
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
195
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
196 * found an "-m"
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
197 L00D2 lda #$01 we have found a -m and load a flag
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
198 sta >L001A,pcr and stow it in our code area (SELF MODIFYING)
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
199 bra L009C check for next param
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
200
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
201 L00DA rts return
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
202
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
203
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
204 * This is just a relay call to L0336
2523
b8dc2c8bfa03 Slight mods to comments
boisy
parents: 2140
diff changeset
205 agi_exit
1079
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
206 L00DB lbsr L0133
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
207
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
208 L00DE clrb NOBODY USES ME ?
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
209 L00DF os9 F$Exit time to check out
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
210
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
211 * disassembler had a little problem here
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
212 L00E2 fdb $000C another prog internal var
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
213
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
214 * Are these all data bytes of some kind ???
2599
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
215 * quirky assemblage of bytes. Palette colors?
1079
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
216 L00E4 fcb $02,$2E,$06,$09,$04,$20,$10,$1B
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
217 fcb $11,$3D,$17,$29,$33,$3F,$00,$08
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
218 fcb $14,$18,$20,$28,$22,$38,$07,$0B
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
219 fcb $16,$1F,$27,$2D,$37,$3F
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
220
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
221 * The disassembly gets confused here with text and the nulls
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
222 * according to the partial disassembly I recieved these hold
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
223 * Original MMU block image of second and third blocks of SIERRA
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
224 * MORE SELF MODIFYING CODE
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
225
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
226 L0102 fdb $0000 Orig MMU block image of 2nd blk of sierra
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
227 L0104 fdb $0000 Orig MMU block image of 3nd blk of sierra
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
228
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
229 * Name strings of other modules to load.
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
230
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
231 L0106 fcc 'Shdw'
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
232 fcb C$CR
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
233
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
234 L010B fcc 'Scrn'
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
235 fcb C$CR
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
236
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
237 L0110 fcc 'MnLn'
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
238 fcb C$CR
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
239
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
240
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
241 * Internal variables for self modifying code
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
242 L0115 fcb $00 Echo
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
243 L0116 fcb $00 EOF
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
244 L0117 fcb $00 INTerupt
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
245 L0118 fcb $00 Quit
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
246 L0119 fcb $00 Monitor type Coco set to when Sierra ran
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
247
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
248
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
249 * L011A called by L0086
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
250 L011A lbsr L0140 Clears data area, sets up vars and saves montype
2599
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
251 lbsr mmuini1 get MMU values $FFA0-$FFA7
1079
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
252 lbsr L01AF Change our process image to dupe block 0 to 1-2
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
253 L0120 lbsr L01FA copies two subs to data area so others can use them
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
254
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
255 lbsr L0419 load intercept routine and open /VI and allocate Ram
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
256 bcs L0139 if errors occured close VIRQ device
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
257
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
258 lbsr L0229 NMLoads the three other modules and sets up vals
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
259 bcs L0136 problems then unload them
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
260
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
261 lbsr L026B go set up screens
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
262 bcs L0133 problems deallocate them
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
263 rts
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
264
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
265 * clean up and shut down
2523
b8dc2c8bfa03 Slight mods to comments
boisy
parents: 2140
diff changeset
266 agi_shutdown
1079
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
267 L0133 lbsr L0336 go deallocate hi res screens
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
268 L0136 lbsr L0370 unloads the three other modules
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
269 L0139 lbsr L04BD Close VIRQ device
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
270 lbsr L0388 restore the MMU blocks
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
271 rts
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
272
2599
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
273 * at this point u0000 contains the value of some entry minus $04FF
1079
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
274 * which should be the size of our initialized data
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
275 * so we don't over write it but clear the rest of the data area
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
276
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
277 L0140 ldx #$0002 Init data area from 2-end with 0's
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
278 ldd #$0000
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
279 L0146 std ,x++
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
280 cmpx <u0000 should have the value $04FF
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
281 bcs L0146 appears this zeros out memory somewhere
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
282
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
283 * initialize some variables
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
284 lda >L001A,pcr multitasking flag from startup parms
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
285 sta mtf173 >$0173 store it
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
286
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
287 ldd #$0776 why twice
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
288 std <u0053
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
289 std <u0055
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
290
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
291 lda #$5C
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
292 sta >$0101
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
293
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
294 lda #$17
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
295 sta >$01D7
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
296
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
297 lda #$0F
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
298 sta >$023E
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
299
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
300 ldd #$0000
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
301 std <u004F
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
302
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
303 * get current montype
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
304 * GetStat Function Code $92
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
305 * Allocates and maps high res screen
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
306 * into application address space
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
307 * entry:
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
308 * a -> path number
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
309 * b -> function code $92 (SS.Montr)
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
310 *
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
311 * exit:
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
312 * x -> monitor type
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
313 *
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
314 * error:
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
315 * CC -> Carry set on error
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
316 * b -> error code (if any)
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
317 *
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
318 lda #StdOut $01 path number
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
319 ldb #SS.Montr monitor type code (not listed for getstat $92
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
320 os9 I$GetStt make the call
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
321 tfr x,d save in d appears he expects montype returned
1080
3d0b20100199 Monitor type bug fixed, edition now 1
boisy
parents: 1079
diff changeset
322 stb >L0119,pcr trim it to a byte and save it
3d0b20100199 Monitor type bug fixed, edition now 1
boisy
parents: 1079
diff changeset
323 andb #$01 mask out mono type only RGB or COMP
2523
b8dc2c8bfa03 Slight mods to comments
boisy
parents: 2140
diff changeset
324 stb >$0553 save that value off as display_type
1079
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
325
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
326 * set current montype
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
327 * SetStat Function Code $92
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
328 * Allocates and maps high res screen
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
329 * into application address space
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
330 * entry:
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
331 * a -> path number
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
332 * b -> function code $92 (SS.Montr)
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
333 * x -> momitor type
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
334 * 0 = color composite
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
335 * 1 = analog RGB
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
336 * 2 = monochrome composite
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
337 *
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
338 * error:
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
339 * CC -> Carry set on error
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
340 * b -> error code (if any)
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
341 *
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
342 ldx #RGB $0001 set type to RGB again as in L00C2
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
343 lda #StdOut $01 set the path
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
344 ldb #SS.Montr Monitor type code $92
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
345 os9 I$SetStt make the call
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
346
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
347 * initialize more variables
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
348
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
349 lda #$32
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
350 sta >$0245
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
351
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
352 ldd #$6000 This is the start of high res screen memory
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
353 std <u0046
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
354
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
355 lda #$15
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
356 sta >$0247
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
357
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
358 lda #$FF Init 15 bytes at u0532 to $FF
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
359 sta $05EE
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
360 ldb #$10
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
361 ldx #$0531
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
362
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
363 * Fill routine-one byte pattern
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
364 * Entry: A=Byte to fill with
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
365 * B=# bytes to fill
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
366 * X=Start address of fill
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
367
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
368 L01A3 sta ,x+
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
369 decb
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
370 bne L01A3
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
371 rts
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
372
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
373
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
374 **********************************************************
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
375 * COMMENTS FROM CODE RECIEVED
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
376 * Change our process map:
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
377 * Blocks 1-2 become duplicates of block 0 (data area...
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
378 * changes actual MMU regs themselves &
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
379 * changes them in our process descriptor
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
380 *
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
381 * NOTE: SHOULD CHANGE SO IT MAPS IN BLOCK 0 IN AN UNUSED BLOCK 1ST
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
382 * TO GET PROCESS DESCRIPTOR DAT IMAGE FOR SIERRA.
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
383 * THEN, CAN BUMP BLOCKS AROUND WITH THE ACTUAL BLOCK #
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
384 * IN FULL 2 MB RANGE, INSTEAD OF JUST GIME 512K RANGE.
2599
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
385 * R.Gault: A better way is to use F$GPrDsc and that is done with
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
386 * new routines at the end of the program.
1079
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
387 L01AF orcc #IntMasks Shut interrupts off
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
388 ldx #$0002 ???
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
389 stx <u0022
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
390
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
391 * As per above NOTE, should postpone this until we have DAT image
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
392 * available for Sierra process
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
393
2599
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
394 * lda >$FFAF Get MMU block # SIERRA is in
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
395 lda mmubuf+$0F,pcr
1079
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
396 sta <u0008 Save it
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
397 clr >$FFA9 Map system block 0 into $2000-$3FFF
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
398 ldd >D.Proc+$2000 Get SIERRA's process dsc. ptr
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
399 anda #$1F Keep non-MMU dependent address
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
400
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
401 * NOTE: OFFSET IS STUPID, SHOULD USE EVEN BYTE SO LDD'S BELOW
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
402 * CAN USE FASTER LDD ,X INSTEAD OF OFFSET,X
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
403
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
404 addd #$2000+P$DATImg+3 Set up ptr for what we want out of it
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
405 std <u0043 Save it
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
406 ldb >D.Proc+$2000 Get MSB of SIERRA's process dsc. ptr
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
407 andb #$E0 Calculate which 8K block within
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
408 * system task it's in
2599
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
409 * I don't like the original and made it simpler. RG
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
410 * lsrb
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
411 * lsrb
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
412 * lsrb
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
413 * lsrb
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
414 * lsrb
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
415 lda #8
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
416 mul
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
417 * ldx #$FFA0 Point to base of System task DAT register set block 0 task 0
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
418 leax mmubuf,pcr
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
419 * lda b,x Get block # that has process desc. for SIERRA
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
420 lda a,x Get MMU value of block
1079
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
421 sta <u0042 Save it
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
422 sta >$FFA9 Map in block with process dsc. to $2000-$3FFF
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
423 ldx <u0043 Get offset to 2nd 8K block in DAT map for SIERRA
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
424 ldd -1,x Get MMU block # of current 2nd 8k block in SIERRA
2599
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
425 std >L0102,pcr Save it
1079
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
426 ldd 1,x Get MMU block # of current 3rd 8k block in SIERRA
2599
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
427 std >L0104,pcr Save it
1079
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
428 ldd -3,x Get data area block 3 from sierra (1st block)
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
429 std -1,x Move 8k data area to 2nd block
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
430 std 1,x And to 3rd block
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
431 tfr b,a D=Raw MMU block # for both
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
432
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
433 std >$FFA9 Map data area block into both blocks 2&3
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
434 std <u0002 Save both block #'s
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
435 andcc #^IntMasks Turn interrupts back on
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
436 rts
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
437
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
438
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
439 * NOTE: 6809/6309 MOD: STUPID. DO LEAX, AND THEN PSHS X
2599
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
440 * Right so I'll change it! RG
1079
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
441 * load first routine
2599
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
442 *L01FA leas -2,s Make 2 word buffer on stack
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
443 * leax >L054F,pcr Point to end of routine
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
444 * stx ,s Save ptr
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
445 L01FA leax L054F,pcr
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
446 pshs x
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
447 leax L04DA,pcr Point to routine
1079
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
448 * ldu #$0659 Point to place in data area to copy it
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
449 ldu #sub659
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
450 L0209 lda ,x+ Copy routine
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
451 sta ,u+
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
452 cmpx ,s Done whole routine yet?
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
453 blo L0209 No, keep going
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
454
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
455 * get next routine interrupt intecept routine
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
456 leax >L04BD,pcr point to end of routine
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
457 stx ,s save pointer
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
458 leax >L0452,pcr point to routine
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
459 ldu #int5EE point to place in data area to copy it
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
460 L021E lda ,x+ copy routine
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
461 sta ,u+
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
462 cmpx ,s Done whole routine yet?
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
463 blo L021E No, keep going
2599
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
464 * leas $02,s clean up stack
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
465 * rts return
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
466 puls x,pc
1079
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
467
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
468 * Called from dispatch table at L0120
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
469 * The last op in the subroutine before this one
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
470 * was a puls a,b after a puhs x and a setsatt call for process+path to VIRQ
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
471
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
472 L0229 tfr b,a don't see what's going on here
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
473 incb
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
474 std <u001C but we save off a bunch of values
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
475
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
476 addd #$0202
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
477 std <u001E
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
478
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
479 addd #$0202
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
480 sta <u005F
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
481 std <u000C
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
482 std <u000E
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
483
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
484 ldu #$001A
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
485 stu <u0028
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
486 leax >L0106,pcr shdw
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
487 lbsr L03D0 NMLoads named module
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
488 bcs L026A return on error
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
489
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
490 ldu #$0012
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
491 stu <u0026
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
492 leax >L010B,pcr scrn
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
493 lbsr L03D0 NMLoads named module
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
494 bcs L026A return on error
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
495
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
496 ldu #$000A
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
497 stu <u0024
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
498 leax >L0110,pcr mnln
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
499 lbsr L03D0 NMLoads named module
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
500
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
501 leau >$2000,u
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
502 stu <u002E
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
503 L026A rts
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
504
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
505 *****************************************************
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
506 *
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
507 * Set up screens
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
508 * SetStat Function Code $8B
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
509 * Allocates and maps high res screen
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
510 * into application address space
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
511 * entry:
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
512 * a -> path number
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
513 * b -> function code $8B (SS.AScrn)
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
514 * x -> screen type
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
515 * 0 = 640 x 192 x 2 colors (16K)
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
516 * 1 = 320 x 192 x 4 colors (16K)
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
517 * 2 = 160 x 192 x 16 colors (16K)
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
518 * 3 = 640 x 192 x 4 colors (32K)
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
519 * 4 = 320 x 192 x 16 colors (32K)
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
520 *
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
521 * exit:
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
522 * x -> application address space of screen
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
523 * y -> screen number (1-3)
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
524 *
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
525 * error:
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
526 * CC -> Carry set on error
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
527 * b -> error code (if any)
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
528 *
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
529 * Call use VDGINT allocates high res graphics for use with screens
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
530 * updated by the process, does not clear the screens only allocates
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
531 * See OS-9 Technical Reference 8-142 for more details
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
532 *
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
533
2599
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
534 L026B leas -$04,s make room on stack 2 words
1079
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
535 lda #$01 Std out
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
536 ldb #SS.AScrn Allocate & map in hi-res screen (VDGINT)
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
537 ldx #$0004 320x192x16 screen
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
538 os9 I$SetStt Map it in
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
539 bcs L02E6 Error, Restore stack & exit
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
540 tfr y,d Move screen # returned to D
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
541 * stb >$0174 Save screen #
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
542 stb scr174 Save screen #
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
543
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
544 * call with application address of screen in x
2599
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
545 * returns with MMU values in u
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
546 lbsr mmuini2 get current MMU values
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
547 lbsr L03B6 convert addresses into MMU values
1079
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
548 stu <u0004 stow it two places
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
549 stu <u0014
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
550
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
551 leax >$4000,x end address ???
2599
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
552 lbsr L03B6 convert addresses into MMU values
1079
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
553 stu <u0006 stow it in two places
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
554 stu <u0016
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
555
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
556 * TFM for 6309
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
557 ldu #$D800 Clear hi-res screen to color 0
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
558 ldx #$7800 Screen is from $6000 to $D800
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
559 ldd #$0000 (U will end up pointing to beginning of screen)
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
560 L0299 std ,--u writes 0000 to screen address and decrements
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
561 leax -2,x decrement x loop counter
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
562 bne L0299 keep going till all of screen is cleared
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
563
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
564 * Display a screen allocated by SS.AScrn
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
565 * SetStat Function Code $8C
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
566 *
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
567 * entry:
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
568 * a -> path number
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
569 * b -> function code $8C (SS.DScrn)
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
570 * y -> screen numbe
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
571 * 0 = text screen (32 x 16)
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
572 * 1-3 = high resolution screen
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
573 *
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
574 * error:
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
575 * CC -> Carry set on error
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
576 * b -> error code (if any)
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
577
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
578 clra Get screen # to display
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
579 ldb scr174
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
580 tfr d,y Y=screen # to display
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
581 lda #StdOut $01 Std out path
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
582 ldb #SS.DScrn Display 320x192x16 screen
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
583 os9 I$SetStt make the call
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
584 bcs L02E6
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
585
2599
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
586 leax >L00E2,pcr values initialized to is $000C
1079
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
587 ldb >$0553 monitor type
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
588 lda #$10
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
589 mul
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
590 abx add b to x and stow at x
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
591
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
592
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
593 * This loads up the control sequence to set the pallete 1B 31 PRN CTN
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
594 * PRN palette register 0 - 15, CTN color table 0 - 63
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
595 lda #$1B Escape code
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
596 sta ,s push on stack
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
597 lda #$31 Palette code
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
598 sta $01,s push on stack
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
599 clra make a zero palette reg value
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
600 sta $02,s push it `
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
601 ldy #$0004 sets up # of bytes to write
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
602 L02C8 ldb ,x+ get value computed above for color table and bump it
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
603 stb $03,s push it
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
604 pshs x save it
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
605 lda #StdOut $01 Std Out path
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
606 leax $02,s start of data to write
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
607 os9 I$Write write it
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
608 bcs L02E6 error during write clean up stack and leave
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
609 puls x retrieve our x
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
610 inc $02,s this is our palette register value
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
611 lda $02,s we bumped it by one
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
612 cmpa #$10 we loop 15 times to set them all
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
613 bcs L02C8 loop
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
614
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
615 clr <u0045 clear a flag in memory
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
616 lbsr L02E9 go disable keyboard interrupts
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
617 L02E6 leas $04,s clean up stack
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
618 rts return
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
619
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
620
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
621
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
622 * Kills the echo, eof, int and quit signals
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
623 * get current options packet
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
624 * GetStat Function Code $00
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
625 * Reads the options section of the path descriptor and
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
626 * copies it into the 32 byte area pointed to by reg X`
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
627 * entry:
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
628 * a -> path number
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
629 * b -> function code $00 (SS.OPT)
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
630 * x -> address to recieve status packet
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
631 *
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
632 * error:
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
633 * CC -> Carry set on error
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
634 * b -> error code (if any)
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
635 *
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
636
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
637 L02E9 leas <-$20,s Make temp buffer to hold PD.OPT data
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
638 lda #StdIn $00 Get 32 byte PD.OPT from Std In
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
639 ldb #SS.OPT $00
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
640 leax ,s point to our temp buffer
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
641 os9 I$GetStt make the call
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
642 bcs L0332 error goto exit sub
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
643
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
644 * NOTE: make sure following lines assemble into 5 bit, not 8 bit
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
645 * These appear to be loading the echo EOF, INT and QUIT with
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
646 * null values and saving the original ones back to vars
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
647 * since L0115 - L0118 were initialized with $00
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
648
2599
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
649 lda >L0115,pcr
1079
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
650 ldb PD.EKO-PD.OPT,x Get echo option
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
651 sta PD.EKO-PD.OPT,x change echo option no echo
2599
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
652 stb >L0115,pcr Save original echo option
1079
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
653
2599
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
654 lda >L0116,pcr
1079
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
655 ldb PD.EOF-PD.OPT,x Change EOF char
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
656 sta PD.EOF-PD.OPT,x
2599
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
657 stb >L0116,pcr
1079
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
658
2599
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
659 lda >L0117,pcr
1079
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
660 ldb <PD.INT-PD.OPT,x Change INTerrupt char (normally CTRL-C)
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
661 sta <PD.INT-PD.OPT,x
2599
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
662 stb >L0117,pcr
1079
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
663
2599
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
664 lda >L0118,pcr
1079
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
665 ldb <PD.QUT-PD.OPT,x Change QUIT char (normally CTRL-E)
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
666 sta <PD.QUT-PD.OPT,x
2599
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
667 stb >L0118,pcr
1079
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
668
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
669 * set current options packet
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
670 * SetStat Function Code $00
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
671 * Writes the options section of the path descriptor
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
672 * from the 32 byte area pointed to by reg X`
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
673 * entry:
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
674 * a -> path number
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
675 * b -> function code $00 (SS.OPT)
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
676 * x -> address holding the status packet
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
677 *
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
678 * error:
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
679 * CC -> Carry set on error
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
680 * b -> error code (if any)
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
681 *
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
682
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
683 * x is still pointing to our temp buff
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
684 lda #StdIn $00 Set VDG screen to new options
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
685 ldb #SS.OPT $00
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
686 os9 I$SetStt set them to be our new values
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
687
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
688 L0332 leas <$20,s Eat temp stack & return
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
689 rts
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
690
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
691
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
692
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
693 * Return the screen to default text sreen and its values
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
694 * deallocate and free memory of high res screen created
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
695
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
696 L0336 leas -2,s Make temp buffer to hold write data
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
697 * tst >$0174 Any hi-res screen # allocated?
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
698 tst scr174 Any hi-res screen # allocated?
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
699 beq L036D No, restore stack & return
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
700 lbsr L02E9 go change the echo,eof,int and quit settings
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
701 bcs L036D had an error restore stack and return
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
702 lda #$1B Setup DefColr sequence in temp buffer
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
703 sta ,s
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
704 lda #$30 Sets palettes back to default color
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
705 sta 1,s
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
706 ldy #$0002 number of bytes to write
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
707 lda #StdOut path to write to $01
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
708 leax ,s point x a buffer
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
709 os9 I$Write write
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
710 bcs L036D we have an error clean stack and leave
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
711
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
712 * Display a screen allocated by SS.AScrn
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
713 * SetStat Function Code $8C
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
714 *
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
715 * entry:
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
716 * a -> path number
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
717 * b -> function code $8C (SS.DScrn)
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
718 * y -> screen numbe
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
719 * 0 = text screen (32 x 16)
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
720 * 1-3 = high resolution screen
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
721 *
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
722 * error:
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
723 * CC -> Carry set on error
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
724 * b -> error code (if any)
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
725
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
726 * a is still set to stdout from above
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
727 ldb #SS.DScrn Display screen function code
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
728 ldy #$0000 Display screen #0 (lo-res or 32x16 text)
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
729 os9 I$SetStt make the call
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
730
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
731 * Frees the memory of a screen allocated by SS.AScrn
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
732 * SetStat Function Code $8C
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
733 *
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
734 * entry:
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
735 * a -> path number
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
736 * b -> function code $8D (SS.FScrn)
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
737 * y -> screen number 1-3 = high resolution screen
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
738 *
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
739 * error:
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
740 * CC -> Carry set on error
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
741 * b -> error code (if any)
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
742
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
743 clra clear high byte
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
744 ldb scr174 Get hi-res screen # again
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
745 tfr d,y move it to Y=screen #
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
746 lda #StdOut set the path $01
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
747 ldb #SS.FSCrn Return screen memory to system
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
748 os9 I$SetStt amke the call
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
749
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
750 L036D leas 2,s Eat stack & return
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
751 rts
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
752
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
753
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
754
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
755 * Unload the other modules
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
756 L0370 leax >L0106,pcr shdw name string
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
757 lda #Prgrm+Objct #$11 module type
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
758 lbsr L040B unload it
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
759 leax >L010B,pcr scrn name string
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
760 lbsr L040B unload it
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
761 leax >L0110,pcr mnln name string
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
762 lbsr L040B unload it
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
763 rts
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
764
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
765
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
766
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
767 * Restore original MMU block numbers
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
768 L0388 orcc #IntMasks Shut off interrupts
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
769 lda <u0042 get MMU Block #
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
770 sta >$FFA9 Restore original block 0 onto MMU
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
771 ldx <u0043
2599
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
772 ldd >L0104,pcr Original 3rd block of MMU
1079
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
773 std 1,x
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
774 stb >$FFAA Restore original block 1 onto MMU
2599
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
775 ldd >L0102,pcr Original 2nd block of MMU
1079
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
776 std -1,x
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
777 stb >$FFA9 Restore block 0 again
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
778 andcc #^IntMasks Turn interrupts back on
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
779
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
780 * return monitor type to original value
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
781 clra
2599
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
782 ldb >L0119,pcr Get original monitor type
1079
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
783 andb #$03 Force to only legit values
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
784 tfr d,x Move to proper register
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
785 lda #StdOut set path $01
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
786 ldb #SS.Montr Restore original monitor type
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
787 os9 I$SetStt make the call
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
788 rts
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
789
2599
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
790
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
791 * Converts address into MMU values
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
792 * called with value to be converted in X
1079
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
793 * returns block # in a
2599
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
794
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
795 L03B6 tfr x,d Move address to D
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
796 * I decided to simplify this code. RG
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
797 * exg a,b Swap MSB/LSB should be tfr a,b
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
798 * lsrb Divide MSB by 32 (calculate 8k block # in proc map)
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
799 * lsrb
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
800 * lsrb
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
801 * lsrb
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
802 * lsrb
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
803 * pshs b Save block # in process map
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
804 * ldu #$FFA8 Point to start of user DAT image
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
805 * lda b,u
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
806 ldb #8
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
807 mul slow but much less code
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
808 pshs a
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
809 leau mmubuf+8,pcr
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
810 lda a,u get MMU value
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
811 ldb ,s recover block value
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
812 incb block +1
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
813 * This next seems inadequate protection.
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
814 andb #$07 must fall within Task1
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
815 ldb b,u get current value
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
816 tfr d,u save two adjacent MMU values
1079
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
817 puls a
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
818 rts
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
819
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
820
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
821
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
822 *************************************************************
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
823 * Called from within sub at L0229
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
824 * entry:
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
825 * x -> is loaded with the address of the name string to load
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
826 * u -> contains some arbitrary value
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
827 *
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
828
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
829 L03D0 leas -$08,s Make a little scratch on the stack
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
830 stu ,s pointer to our buffer
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
831
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
832 * Loads one or more modules from a file but does not map the module
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
833 * into user's address space F$NMLoad
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
834 * entry:
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
835 * a -> type/language byte
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
836 * x -> address of the path list
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
837 * with out path list default path is current execution dir
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
838 *
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
839 * exit:
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
840 * a -> type/language
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
841 * b -> module revision
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
842 * x -> address of the last byte in the pathlist + 1
2599
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
843 * y -> storage requirements of the module
1079
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
844 *
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
845 * error:
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
846 * b -> error code if any
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
847 * cc -> carry set on error
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
848
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
849 stx $02,s pointer module name
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
850 lda #Prgrm+Objct $11 module type
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
851 os9 F$NMLoad Load it but don't map it in
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
852 bcs L0408 exit on error
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
853
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
854 * Links to a memory module that has the specified name, language and type
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
855 * entry:
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
856 * a -> type/language byte
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
857 * x -> address of the module name
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
858 *
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
859 * exit:
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
860 * a -> type/language
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
861 * b -> attributes/module revision
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
862 * x -> address of the last byte in the modulename + 1
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
863 * y -> module entry point absolute address
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
864 * u -> module header abosolute address
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
865 *
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
866 * error:
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
867 * cc -> set on error
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
868
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
869 ldx $02,s get our name string again
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
870 os9 F$Link link it
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
871 bcs L0408 exit on error
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
872 stu $06,s store module header address
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
873 tfr u,x
2599
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
874 lbsr mmuini2 get current MMU values
1079
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
875 L03E8 stx $04,s
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
876 lbsr L03B6 Go twiddle with address`
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
877 ldx ,s
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
878 leax a,x
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
879 exg d,u
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
880 sta ,x
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
881 exg d,u
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
882 cmpa #$06
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
883 beq L0403
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
884 ldx $04,s
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
885 leax >$2000,x
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
886 bra L03E8
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
887
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
888 L0403 ldu $06,s
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
889 os9 F$UnLink
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
890 L0408 leas $08,s
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
891 rts
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
892
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
893 L040B os9 F$UnLoad Unlink a module by name
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
894 bcc L040B
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
895 clrb
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
896 rts
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
897
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
898 L0412 fcc '/VI'
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
899 L0415 fcb C$CR
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
900 L0416 fdb $0000 address of the device table entry
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
901 L0418 fcb $00 path number to device
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
902
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
903 **************************************************************
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
904 *
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
905 * subroutine entry is L0419
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
906 * sets up Sig Intercept
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
907 * verifies /VI device is loaded links to it
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
908 * and allocates ram for it
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
909 * called from dispatch table around L0120
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
910
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
911
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
912 * Set signal intercept trap
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
913 * entry:
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
914 * x -> address of intercept routine
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
915 * u -> starting adress of routines memory area
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
916 * exit:
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
917 * Signals sent to the process cause the intercept to be
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
918 * called instead of the process being killed
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
919
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
920 L0419 ldu #$0000 start of Sierra memory area
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
921 ldx #int5EE Intercept rourtine copied to mem area
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
922 os9 F$Icpt install the trap
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
923
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
924 * Attach to the vrt memory descriptor
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
925 * Attaches and verifies loaded the VI descriptor
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
926 * entry:
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
927 * a -> access mode
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
928 * 0 = use any special device capabilities
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
929 * 1 = read only
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
930 * 2 = write only
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
931 * 3 = update (read and write)
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
932 * x -> address of device name string
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
933 *
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
934 * exit:
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
935 * x -> updated past device name
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
936 * u -> address of device table entry
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
937 *
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
938 * error:
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
939 * b -> error code (if any)
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
940 * cc -> carry set on error
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
941
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
942 lda #$01 attach for read
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
943 leax >L0412+1,pcr skip the slash Load VI only
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
944 os9 I$Attach make the call
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
945 bcs L0451 didn't work exit
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
946 stu >L0416,pcr did work save address
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
947
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
948 * Open a path to the device /VI
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
949 * entry:
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
950 * a -> access mode (D S PE PW PR E W R)
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
951 * x -> address of the path list
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
952 *
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
953 * exit:
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
954 * a -> path number
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
955 * x -> address of the last byte if the pathlist + 1
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
956 *
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
957 * error:
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
958 * b -> error code(if any)
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
959 * cc -> carry set on error
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
960 *
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
961 * a still contains $01 read
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
962 leax >L0412,pcr load with device name including /
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
963 os9 I$Open make the call
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
964 bcs L0451 didn't work exit
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
965 sta >L0418,pcr did work save path #
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
966
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
967 * Allocate process+path RAM blocks
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
968
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
969 ldb #SS.ARAM $CA function code for VIRQ
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
970 ldx #$000D
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
971 os9 I$SetStt make the call
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
972 bcs L0451
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
973 pshs x
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
974
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
975 * Set process+path VIRQ KQ3
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
976 ldb #SS.KSet $C8 function code for VIRQ
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
977 os9 I$SetStt
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
978 puls b,a
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
979 L0451 rts
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
980
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
981 * Signal Intercept processing gets copied to int5EE mem slot
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
982 L0452 cmpb #$80 b gets the signal code if not $80 ignore
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
983 bne L0464 $80 is user defined
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
984 tfr u,d
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
985 tfr a,dp
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
986 dec <u004A
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
987 bne L0464
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
988 bsr L0465
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
989 lda #$03
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
990 sta <u004A
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
991 L0464 rti
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
992
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
993 L0465 inc >u024C,u
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
994 bne L047B
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
995 inc >u024B,u
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
996 bne L047B
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
997 inc >u024A,u
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
998 bne L047B
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
999 inc >u0249,u
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1000 L047B tst >u0102,u
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1001 bne L04BC
2599
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
1002
1079
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1003 inc <u003F
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1004 bne L0487
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1005 inc <u003E
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1006 L0487 ldd <u0048
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1007 addd #$0001
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1008 std <u0048
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1009 cmpd #$0014
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1010 bcs L04BC
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1011 subd #$0014
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1012 std <u0048
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1013 ldd #$003C
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1014 leax >u043D,u
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1015 inc ,x
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1016 cmpb ,x
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1017 bhi L04BC
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1018 sta ,x+
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1019 inc ,x
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1020 cmpb ,x
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1021 bhi L04BC
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1022 sta ,x+
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1023 inc ,x
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1024 ldb #$18
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1025 cmpb ,x
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1026 bhi L04BC
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1027 sta ,x+
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1028 inc ,x
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1029 L04BC rts
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1030
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1031 * deallocates the VIRQ device
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1032 L04BD lda >L0418,pcr load path number to /VI device
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1033 beq L04D0 no path open check for device table addr
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1034 ldb #SS.KClr $C9 Clear KQ3 VIRQ
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1035 os9 I$SetStt make the call
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1036 ldb #SS.DRAM $CB deallocate the ram
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1037 os9 I$SetStt make the call
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1038 os9 I$Close close the path to /VI
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1039 L04D0 ldu >L0416,pcr load device table address for VI
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1040 beq L04D9 don't have one leave now
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1041 os9 I$Detach else detach it
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1042 L04D9 rts
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1043
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1044 * Twiddles with MMU blocks for us
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1045 * This sub gets copied into $0659 and executed there from this and
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1046 * the other modules this one loads (sub659)
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1047 *
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1048 * s and x loaded by calling routine
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1049
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1050 L04DA ldd ,s++ load d with current stack pointer and bump it
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1051 * from mnln we come in with $4040
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1052 std <u002A save the calling stack pointer in u002A
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1053 orcc #IntMasks mask the interrupts
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1054 lda <u0042
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1055 sta ,x x is loaded with value from u0028 in mnln
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1056 sta >$FFA9 task 1 block 2 x2000 - x3FFF
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1057 ldu <u0043
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1058 lda $06,x
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1059 sta u000C,u
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1060 sta >$FFAF task 1 block 8 xE000 - xFFFF
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1061 lda $05,x
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1062 sta u000A,u
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1063 sta >$FFAE task 1 block 7 xC000 - xDFFF
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1064 lda $04,x
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1065 sta u0008,u
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1066 sta >$FFAD task 1 block 6 xA000 - xBFFF
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1067 lda $03,x
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1068 sta u0006,u
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1069 sta >$FFAC task 1 block 5 x8000 - x9FFF
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1070 lda $02,x
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1071 sta u0004,u
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1072 sta >$FFAB task 1 block 4 x6000 - x7FFF
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1073 andcc #^IntMasks unmask interrupts
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1074
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1075 lda $07,x
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1076 ldu <u002E
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1077 adda u000A,u
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1078 jsr a,u
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1079
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1080 orcc #IntMasks
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1081 lda <u0042
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1082 sta >$FFA9
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1083 ldu <u0043
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1084 lda <u0010
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1085 sta u000C,u
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1086 sta >$FFAF
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1087 lda <u000F
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1088 sta u000A,u
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1089 sta >$FFAE
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1090 lda <u000E
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1091 sta u0008,u
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1092 sta >$FFAD
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1093 lda <u000D
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1094 sta u0006,u
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1095 sta >$FFAC
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1096 lda <u000B
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1097 sta u0002,u
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1098 sta >$FFAA
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1099 lda <u000A
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1100 sta ,u
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1101 sta >$FFA9
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1102 andcc #^IntMasks
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1103
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1104 jmp [>$002A]
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1105
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1106 L054F fcb $00,$00,$00,$00,$00,$00,$00,$00 ........
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1107 L0557 fcb $73,$69,$65,$72,$72,$61,$00 sierra.
1081
4e78dd135898 Slight source cleanup
boisy
parents: 1080
diff changeset
1108
2599
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
1109 * New routines so we don't have raw reads of the MMU bytes. RG
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
1110 mmubuf fcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
1111 gprbuf fzb 512
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
1112 * Get $FFA0-$FFA7
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
1113 mmuini1 pshs cc,x,y
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
1114 orcc #$50
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
1115 lda #1 system ID#
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
1116 leax gprbuf,pcr
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
1117 os9 F$GPrDsc get system process descriptor
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
1118 leay $41,x point to its mmu block values
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
1119 leax mmubuf,pcr
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
1120 ldb #8
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
1121 m2lup lda ,y++ get MMU value and skip over usage
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
1122 sta ,x+
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
1123 decb
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
1124 bne m2lup
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
1125 puls cc,x,y,pc
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
1126 * Get $FFA8-$FFAF
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
1127 mmuini2 pshs cc,x,y
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
1128 orcc #$50
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
1129 os9 F$ID get our ID#
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
1130 leax gprbuf,pcr
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
1131 os9 F$GPrDsc get our process descriptor
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
1132 leay $41,x point to our mmu block values
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
1133 leax mmubuf+8,pcr
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
1134 ldb #8
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
1135 mloop lda ,y++
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
1136 sta ,x+
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
1137 decb
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
1138 bne mloop
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
1139 puls cc,x,y,pc
67f9b769969f Added two routines to get MMU images instead of trying raw reads of
robertgault
parents: 2523
diff changeset
1140
1079
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1141 emod
9b0571f2c817 Took source from KQ3 and made changes to assemble to LSL's sierra
boisy
parents: 777
diff changeset
1142 eom equ *
1081
4e78dd135898 Slight source cleanup
boisy
parents: 1080
diff changeset
1143 end
4e78dd135898 Slight source cleanup
boisy
parents: 1080
diff changeset
1144