BS-Rom 118

Zdrojový kód

3      5b00            *s
4      5b00            ;==============================================================;
5      5b00            ;== Verzia ** == Busy soft ROM ==  13.03.1994 Busy software ==;
6      5b00            ;==============================================================;
7      5b00             
8      5b00            ver0   =    '1'                 Postup: save: ald,run s
9      5b00            ver1   =    '1'                         make: ald:run p
10     5b00            ver2   =    '8'                 <- cislo verzie
11     5b00            nula   =    #00
12     5b00            iy     =    #5c3a
13     5b00            kcur   =    #5c5b
14     5b00            chadd  =    #5c5d
15     5b00            scann  =    #24fb
16     5b00            chesyn =    #2530
17     5b00            syntx  =    #1bee
18     5b00            prog   =    23635
19     5b00            vars   =    23627
20     5b00            eline  =    23641
21     5b00            worksp =    23649
22     5b00            stkbot =    23651
23     5b00            stkend =    23653
24     5b00             
25     5b00                   org  23755
26     5ccb 00001907   z      dw   #00,l-4
27     5ccf f5c0380e          db   #f5,#c0,#38,#0e
28     5cd3 0000d95c          dw   #00,rst,#0d00
            000d        
29     5cd9            p
30     5cd9 f3         rst    di
31     5cda 21ff3f            ld   hl,#3fff            Kontrola
32     5cdd 3e0c              ld   a,#0c               ram
33     5cdf d317              out  (23),a
34     5ce1 7e                ld   a,(hl)
35     5ce2 34                inc  (hl)
36     5ce3 be                cp   (hl)
37     5ce4 28f3              jr   z,rst
38     5ce6 44                ld   b,h
39     5ce7 0b         wait   dec  bc
40     5ce8 78                ld   a,b
41     5ce9 b1                or   c
42     5cea 20fb              jr   nz,wait
43     5cec af         oo11   xor  a                   Presun
44     5ced d317              out  (23),a              rom
45     5cef 46                ld   b,(hl)
46     5cf0 3e0c              ld   a,#0c
47     5cf2 d317              out  (23),a
48     5cf4 70                ld   (hl),b
49     5cf5 7c                ld   a,h
50     5cf6 b5                or   l
51     5cf7 2b                dec  hl
52     5cf8 20f2              jr   nz,oo11
53     5cfa             
54     5cfa 216e38            ld   hl,#386e            Zmazanie
55     5cfd 116f38            ld   de,#386f            volnej
56     5d00 019104            ld   bc,#3d01-#3870      oblasti
57     5d03 36ff              ld   (hl),#ff
58     5d05 edb0              ldir
59     5d07             
60     5d07 21bf02            ld   hl,#02bf            Zmena rom +2 na ZX rom
61     5d0a 224b00            ld   (#4b),hl
62     5d0d 21d6a5            ld   hl,#a5d6
63     5d10 22520b            ld   (#0b52),hl
64     5d13 213009            ld   hl,#0930
65     5d16 22540b            ld   (#0b54),hl
66     5d19 3edf              ld   a,#df
67     5d1b 32f41b            ld   (#1bf4),a
68     5d1e 21fe0d            ld   hl,#0dfe
69     5d21 22f51b            ld   (#1bf5),hl
70     5d24 21af11            ld   hl,#11af
71     5d27 224913            ld   (#1349),hl
72     5d2a 213615            ld   hl,#1536
73     5d2d 224b13            ld   (#134b),hl
74     5d30 21fdcb            ld   hl,#cbfd
75     5d33 227d1b            ld   (#1b7d),hl
76     5d36 210a7e            ld   hl,#7e0a
77     5d39 227f1b            ld   (#1b7f),hl
78     5d3c 3ecd              ld   a,#cd
79     5d3e 324626            ld   (#2646),a
80     5d41 218e02            ld   hl,#028e
81     5d44 224726            ld   (#2647),hl
82     5d47             
83     5d47 219d5f     ldir   ld   hl,ee               ** Modifikacie **
84     5d4a 116e38            ld   de,zz               hlavna
85     5d4d 014b04            ld   bc,ll               cast
86     5d50 edb0              ldir
87     5d52             
88     5d52 3e2a       pp1    ld   a,'*'               kurzor
89     5d54 325d18            ld   (#185d),a
90     5d57 3e01              ld   a,#01
91     5d59 327305            ld   (#0573),a           header
92     5d5c 329010            ld   (#1090),a           beep
93     5d5f 326e11            ld   (#116e),a           beep
94     5d62 3e3c              ld   a,#3c
95     5d64 32fd11            ld   (#11fd),a           koli h11cc
96     5d67 3e03              ld   a,#03
97     5d69 32be1a            ld   (#1abe),a           cls 
98     5d6c 32b81a            ld   (#1ab8),a           continue 
99     5d6f 210c3b            ld   hl,cls
100    5d72 22bf1a            ld   (#1abf),hl
101    5d75 21e611            ld   hl,cont
102    5d78 22b91a            ld   (#1ab9),hl
103    5d7b 210605            ld   hl,#0506            poke A,N
104    5d7e 22b11a            ld   (#1ab1),hl          poke A;NN
105    5d81 21c03b            ld   hl,poke             poke A;a$
106    5d84 22b31a            ld   (#1ab3),hl
107    5d87             
108    5d87 210367            ld   hl,#6703            Prikazy bez parametrov:
109    5d8a 227d1a            ld   (#1a7d),hl          goto
110    5d8d 211e00            ld   hl,#1e
111    5d90 227f1a            ld   (#1a7f),hl
112    5d93 2103ed            ld   hl,#ed03            gosub
113    5d96 22861a            ld   (#1a86),hl
114    5d99 211e00            ld   hl,#1e
115    5d9c 22881a            ld   (#1a88),hl
116    5d9f 21033a            ld   hl,#3a03            pause
117    5da2 22c51a            ld   (#1ac5),hl
118    5da5 211f00            ld   hl,#1f
119    5da8 22c71a            ld   (#1ac7),hl
120    5dab 210394            ld   hl,#9403            border
121    5dae 22f51a            ld   (#1af5),hl
122    5db1 212200            ld   hl,#22
123    5db4 22f71a            ld   (#1af7),hl
124    5db7             
125    5db7 3ecd       pp2    ld   a,#cd               Hexadecimalne
126    5db9 320025            ld   (#2500),a           rutiny
127    5dbc 325c27            ld   (#275c),a
128    5dbf 32de35            ld   (#35de),a
129    5dc2 216e38            ld   hl,hexa
130    5dc5 220125            ld   (#2501),hl
131    5dc8 21ae38            ld   hl,val1
132    5dcb 225d27            ld   (#275d),hl
133    5dce 21b838            ld   hl,val2
134    5dd1 22df35            ld   (#35df),hl
135    5dd4             
136    5dd4 2100c0     pp3    ld   hl,#c000            kontrola riadku 0..16383
137    5dd7 22121a            ld   (#1a12),hl
138    5dda 65                ld   h,l                 nekontrola na nulu
139    5ddb 3ed2              ld   a,#d2
140    5ddd 32da12            ld   (#12da),a
141    5de0 22d812            ld   (#12d8),hl
142    5de3 21d93a            ld   hl,lin1
143    5de6 227619            ld   (#1976),hl
144    5de9 215c3a            ld   hl,lin3             kontrola cislic
145    5dec 22d612            ld   (#12d6),hl          na zaciatku riadku
146    5def 21663a            ld   hl,lin4
147    5df2 226f18            ld   (#186f),hl
148    5df5 3e20              ld   a,' '               medzera namiesto kurzora
149    5df7 326218            ld   (#1862),a
150    5dfa             
151    5dfa 211401     pp4    ld   hl,#0114            Autorepeat
152    5dfd 227112            ld   (#1271),hl
153    5e00 3ecd              ld   a,#cd
154    5e02 21ec0f            ld   hl,#0fec            toerr
155    5e05 320b00            ld   (#0b),a             kurzor na chybu
156    5e08 220c00            ld   (#0c),hl
157    5e0b 21073a            ld   hl,disp             Neautolist
158    5e0e 22f509            ld   (#09f5),hl          riadiacich znakov
159    5e11             
160    5e11 3ec3       pp5    ld   a,#c3               Reset
161    5e13 210639            ld   hl,main             a
162    5e16 326600            ld   (#66),a             NMI
163    5e19 226700            ld   (#67),hl
164    5e1c 216600            ld   hl,#66
165    5e1f 220600            ld   (#06),hl
166    5e22             
167    5e22 3e19       chyby  ld   a,#19               kurzor vlavo
168    5e24 32330a            ld   (#0a33),a
169    5e27 3efb              ld   a,#fb               osetrenie INT
170    5e29 320313            ld   (#1303),a
171    5e2c 21f839            ld   hl,nepis            neprepisovanie
172    5e2f 22ff33            ld   (#33ff),hl          romky od nuly
173    5e32             
174    5e32 3e1e              ld   a,#1e
175    5e34 32f809            ld   (#09f8),a
176    5e37 215d5f            ld   hl,h3cf0            Znaky
177    5e3a 11f03c            ld   de,#3cf0            ciarka
178    5e3d 011000            ld   bc,#10              a
179    5e40 edb0              ldir                     stvorcek
180    5e42 11003e            ld   de,#3e00            zavinac
181    5e45 0e08              ld   c,#08
182    5e47 edb0              ldir
183    5e49             
184    5e49 21d55e            ld   hl,curs             Vypis kurzora
185    5e4c 117418            ld   de,#1874
186    5e4f 010900            ld   bc,#7d-#74
187    5e52 edb0              ldir
188    5e54             
189    5e54 21e25e            ld   hl,print            Automaticky
190    5e57 11411b            ld   de,#1b41            print
191    5e5a 010900            ld   bc,#4a-#41
192    5e5d edb0              ldir
193    5e5f             
194    5e5f 21fc5e            ld   hl,edicur           poloha
195    5e62 11db0f            ld   de,#0fdb            kurzora
196    5e65 011800            ld   bc,#f3-#db          po edite
197    5e68 edb0              ldir
198    5e6a             
199    5e6a 21145f            ld   hl,kdole            kurzor
200    5e6d 11f30f            ld   de,#0ff3            dole
201    5e70 010900            ld   bc,#fc-#f3
202    5e73 edb0              ldir
203    5e75             
204    5e75 211e5f            ld   hl,khore            kurzor
205    5e78 115910            ld   de,#1059            hore
206    5e7b 010800            ld   bc,#61-#59
207    5e7e edb0              ldir
208    5e80             
209    5e80 21f05e            ld   hl,linn             netest
210    5e83 11b60f            ld   de,#0fb6            na nulty
211    5e86 010800            ld   bc,#08              riadok
212    5e89 edb0              ldir
213    5e8b             
214    5e8b 21eb5e            ld   hl,cnum             riadky
215    5e8e 11231a            ld   de,#1a23            0..16383
216    5e91 010500            ld   bc,#05
217    5e94 edb0              ldir
218    5e96             
219    5e96 21755f            ld   hl,h11cc            Nastavenie
220    5e99 11cc11            ld   de,#11cc            hardwaru
221    5e9c 012400            ld   bc,#f0-#cc          a vymaz pamete
222    5e9f edb0              ldir
223    5ea1             
224    5ea1 21265f            ld   hl,h1287            vypis
225    5ea4 118712            ld   de,#1287            uvodnej
226    5ea7 011b00            ld   bc,#a2-#87          spravy
227    5eaa edb0              ldir
228    5eac             
229    5eac 21415f            ld   hl,toke             Prog:
230    5eaf 113915            ld   de,#1539            Vars:
231    5eb2 011c00            ld   bc,28               Free:
232    5eb5 edb0              ldir
233    5eb7             
234    5eb7 21d15e            ld   hl,ldpop
235    5eba 119a09            ld   de,#099a
236    5ebd 010400            ld   bc,#04
237    5ec0 edb0              ldir
238    5ec2             
239    5ec2 3ec9              ld   a,#c9               Pre
240    5ec4 32a23c            ld   (15522),a           istotu
241    5ec7 32a43c            ld   (15524),a           koli diskete
242    5eca             
243    5eca 3e04              ld   a,#04
244    5ecc d317              out  (23),a
245    5ece c3b3f4            jp   #f4b3               !!!
246    5ed1             
247    5ed1 dde1       ldpop  pop  ix
248    5ed3 3eff              ld   a,#ff
249    5ed5             
250    5ed5 af         curs   xor  a                   Kurzor
251    5ed6 aa                xor  d                   pri
252    5ed7 2801              jr   z,ccu               autoliste
253    5ed9 d7                rst  #10                 a medzera
254    5eda 00000000   ccu    dw   0,0                 medzi cislom
255    5ede 00000000          dw   0,0                 a riadkom
256    5ee2             
257    5ee2 fece       print  cp   #ce                 Automaticky
258    5ee4 da323b            jp   c,comm              print
259    5ee7 d6ce              sub  #ce
260    5ee9 4f                ld   c,a
261    5eea e7                rst  #20
262    5eeb             
263    5eeb 1eff       cnum   ld   e,#ff
264    5eed c3483a            jp   numcom
265    5ef0             
266    5ef0 cd523a     linn   call lin2
267    5ef3 e6c0              and  #c0
268    5ef5 c29710            jp   nz,#1097
269    5ef8 00000000          dw   0,0
270    5efc             
271    5efc cd5518     edicur call #1855
272    5eff 110500            ld   de,#05
273    5f02 2a595c            ld   hl,(eline)
274    5f05 19                add  hl,de
275    5f06 225b5c            ld   (23643),hl
276    5f09 e1                pop  hl
277    5f0a c31516            jp   #1615
278    5f0d 225f5c     toerr  ld   (#5c5f),hl          #0fec
279    5f10 225b5c            ld   (kcur),hl
280    5f13 c9                ret
281    5f14             
282    5f14 cd913a     kdole  call dole
283    5f17 fdcb376e          bit  5,(iy+#37)
284    5f1b c0                ret  nz
285    5f1c 0000              dw   0
286    5f1e             
287    5f1e cd9e3a     khore  call hore
288    5f21 fdcb376e          bit  5,(iy+#37)
289    5f25 c0                ret  nz
290    5f26             
291    5f26 fd363102   h1287  ld   (iy+#31),#02
292    5f2a fd360e30          ld   (iy+#0e),#30        farby
293    5f2e cd683b            call reset
294    5f31 cdb016            call #16b0
295    5f34 fd3600ff          ld   (iy+#00),#ff
296    5f38 cd013c            call info
297    5f3b cd3f05            call #053f
298    5f3e c30313            jp   #1303
299    5f41             
300    5f41            tok    =    #153f
301    5f41 526f6d20   toke   db   'Rom ',ver0
            31          
302    5f46 31b8              db   ver1,ver2+#80
303    5f48 50726f67          db   'Prog',#ba
            ba          
304    5f4d 16000b            db   22,0,11
305    5f50 56617273          db   'Vars',#ba
            ba          
306    5f55 160016            db   22,0,22
307    5f58 46726565          db   'Free',#ba
            ba          
308    5f5d             
309    5f5d 00000000   h3cf0  dw   0,0,0,#7e,#7e00
            00007e00    
            007e        
310    5f67 7e7e7e7e          dw   #7e7e,#7e7e,#7e
            7e00        
311    5f6d             
312    5f6d 003c023a   zavin  db   #00,#3c,#02,#3a
313    5f71 4a4a3c00          db   #4a,#4a,#3c,#00
314    5f75             
315    5f75            ;----------------------------
316    5f75             
317    5f75            h11cc  org  #11cc,h11cc
318    11cc af                xor  a
319    11cd ed47              ld   i,a
320    11cf 4f                ld   c,a
321    11d0 62                ld   h,d
322    11d1 6b                ld   l,e
323    11d2 78                ld   a,b
324    11d3 41                ld   b,c
325    11d4 f9                ld   sp,hl
326    11d5 c5         clsuj  push bc
327    11d6 c5                push bc
328    11d7 c5                push bc
329    11d8 c5                push bc
330    11d9             
331    11d9 c5                push bc
332    11da c5                push bc
333    11db c5                push bc
334    11dc c5                push bc
335    11dd 21ffa7            ld   hl,-#5801
336    11e0 39                add  hl,sp
337    11e1 38f2              jr   c,clsuj
338    11e3 eb                ex   de,hl
339    11e4 180a              jr   nula+#11f0
340    11e6             
341    11e6 cd991e     cont   call #1e99
342    11e9 78                ld   a,b
343    11ea b1                or   c
344    11eb ca5f1e            jp   z,#1e5f
345    11ee c5                push bc
346    11ef c9                ret
347    11f0 00000000          dw   0,0
348    11f4             
349    11f4            z11end
350    11f4            h11ll  =    z11end-#11cc
351    11f4            ee     =    h11cc+h11ll
352    11f4             
353    11f4                   org  #386e,ee            -----------   Hlavna cast
354    386e            zz
355    386e             
356    386e 219625     hexa   ld   hl,#2596            Vstup
357    3871 fe25              cp   '%'                 hexa
358    3873 2803              jr   z,hex0              cisel
359    3875 fe26              cp   '&'
360    3877 c0                ret  nz
361    3878 f1         hex0   pop  af
362    3879 cd3025            call chesyn
363    387c c2b526            jp   nz,#26b5
364    387f 110000            ld   de,#00
365    3882 e7         hex1   rst  #20
366    3883 cd882c            call #2c88
367    3886 3020              jr   nc,hexend
368    3888 fe41              cp   'A'
369    388a 3808              jr   c,cis
370    388c f620              or   #20
371    388e fe67              cp   'g'
372    3890 3016              jr   nc,hexend
373    3892 d627              sub  'a'-':'
374    3894 e60f       cis    and  #0f
375    3896 4f                ld   c,a
376    3897 7a                ld   a,d
377    3898 e6f0              and  #f0
378    389a c2ad31            jp   nz,#31ad            number too big
379    389d 79                ld   a,c
380    389e eb                ex   de,hl
381    389f 29                add  hl,hl
382    38a0 29                add  hl,hl
383    38a1 29                add  hl,hl
384    38a2 29                add  hl,hl
385    38a3 b5                or   l
386    38a4 6f                ld   l,a
387    38a5 eb                ex   de,hl
388    38a6 18da              jr   hex1
389    38a8             
390    38a8 cdb32c     hexend call #2cb3
391    38ab c39526            jp   #2695
392    38ae             
393    38ae fe18       val1   cp   #18                 Povolenie ciselneho parametra
394    38b0 c8                ret  z                   pri val$
395    38b1 fe9d              cp   #9d                 pri val
396    38b3 c8                ret  z
397    38b4 fdae01            xor  (iy+#01)
398    38b7 c9                ret
399    38b8             
400    38b8 2a5d5c     val2   ld   hl,(chadd)          Vyhodnotenie val a val$
401    38bb fdcb0176          bit  6,(iy+#01)
402    38bf c8                ret  z
403    38c0 f1                pop  af
404    38c1 c5                push bc
405    38c2 cd991e            call #1e99
406    38c5 f1                pop  af
407    38c6 0f                rrca
408    38c7 3008              jr   nc,dolar
409    38c9 60                ld   h,b                 val = dpeek
410    38ca 69                ld   l,c
411    38cb 4e                ld   c,(hl)
412    38cc 23                inc  hl
413    38cd 46                ld   b,(hl)
414    38ce c32b2d            jp   #2d2b
415    38d1             
416    38d1 c5         dolar  push bc                  val$ = hex$
417    38d2 010400            ld   bc,#04
418    38d5 f7                rst  #30
419    38d6 e1                pop  hl
420    38d7 d5                push de
421    38d8 7c                ld   a,h
422    38d9 cde438            call hex99
423    38dc 7d                ld   a,l
424    38dd cde438            call hex99
425    38e0 d1                pop  de
426    38e1 c3d735            jp   #35d7
427    38e4             
428    38e4 f5         hex99  push af                  Vypis
429    38e5 0f                rrca                     hex
430    38e6 0f                rrca                     cislic
431    38e7 0f                rrca
432    38e8 0f                rrca
433    38e9 cded38            call hex98
434    38ec f1                pop  af
435    38ed e60f       hex98  and  #0f
436    38ef f630              or   '0'
437    38f1 fe3a              cp   ':'
438    38f3 3802              jr   c,#02
439    38f5 c627              add  a,'a'-':'
440    38f7 12                ld   (de),a
441    38f8 13                inc  de
442    38f9 c9                ret
443    38fa             
444    38fa ffffffff   nn     dw   -1,-1,-1,-1
            ffffffff    
445    3902                   ds   #38ff-$             !!!
446    38ff ffff       mm     dw   #ffff
447    3901 c35200     user   jp   #52                 User-skok
448    3904 5200       disk   dw   #52                 Disk-tools
449    3906 f5         main   push af
450    3907 e5                push hl
451    3908 21e0bf            ld   hl,#bfe0
452    390b 39                add  hl,sp
453    390c 3809              jr   c,mm1
454    390e 310058            ld   sp,#5800
455    3911 210639            ld   hl,main
456    3914 e5                push hl
457    3915 e5                push hl
458    3916 e5                push hl
459    3917 c5         mm1    push bc
460    3918 d5                push de
461    3919 dde5              push ix
462    391b ed57              ld   a,i
463    391d f5                push af
464    391e f3         mmret  di
465    391f 0efa              ld   c,#fa
466    3921 ed5f              ld   a,r
467    3923 ed79              out  (c),a
468    3925 ed49              out  (c),c
469    3927 cd8e02            call #028e
470    392a 1c                inc  e
471    392b 28f1              jr   z,mmret
472    392d 1d                dec  e
473    392e cd1e03            call #031e
474    3931 dd67              ld   xh,a
475    3933 3e22              ld   a,#22
476    3935 d3fe              out  (#fe),a
477    3937 cd8e02     pust   call #028e
478    393a 1c                inc  e
479    393b 20fa              jr   nz,pust
480    393d 3e0a              ld   a,#0a
481    393f d3fe              out  (#fe),a
482    3941 dd7c              ld   a,xh
483    3943 211e39            ld   hl,mmret
484    3946 e5                push hl
485    3947 fe55              cp   'U'
486    3949 28b6              jr   z,user
487    394b fe49              cp   'I'
488    394d ca683b            jp   z,reset
489    3950 fe54              cp   'T'
490    3952 caa23c            jp   z,15522
491    3955 fe44              cp   'D'
492    3957 caa43c            jp   z,15524
493    395a fe42              cp   'B'
494    395c caa23b            jp   z,basic
495    395f fe5a              cp   'Z'
496    3961 2a0439            ld   hl,(disk)
497    3964 2001              jr   nz,#01
498    3966 e9                jp   (hl)
499    3967             
500    3967 fe4e              cp   'N'
501    3969 11ff5f            ld   de,#5fff
502    396c 2803              jr   z,resnew
503    396e fe52              cp   'R'
504    3970 53                ld   d,e
505    3971 cabe11     resnew jp   z,#11be
506    3974 fe45              cp   'E'
507    3976 2029              jr   nz,neres
508    3978             
509    3978 f3         res128 di
510    3979 af                xor  a
511    397a ed47              ld   i,a
512    397c d3fe              out  (#fe),a
513    397e 3e17              ld   a,#17
514    3980 d3fd       cc0    out  (#fd),a
515    3982 010800            ld   bc,#08
516    3985 60                ld   h,b
517    3986 68                ld   l,b
518    3987 f9                ld   sp,hl
519    3988 e5         cc1    push hl
520    3989 e5                push hl
521    398a e5                push hl
522    398b e5                push hl
523    398c 10fa              djnz cc1
524    398e 0d                dec  c
525    398f 20f7              jr   nz,cc1
526    3991 3d                dec  a
527    3992 cb67              bit  4,a
528    3994 20ea              jr   nz,cc0
529    3996 af                xor  a
530    3997 065c              ld   b,#5c
531    3999 02         cc2    ld   (bc),a
532    399a 0c                inc  c
533    399b 20fc              jr   nz,cc2
534    399d 2b                dec  hl
535    399e c30012            jp   #1200
536    39a1             
537    39a1 fe53       neres  cp   'S'
538    39a3 200c              jr   nz,nesav
539    39a5 dd210040          ld   ix,#4000
540    39a9 11001b            ld   de,#1b00
541    39ac 3eff              ld   a,#ff
542    39ae c3c604            jp   #04c6
543    39b1             
544    39b1 fe51       nesav  cp   'Q'
545    39b3 2818              jr   z,ret
546    39b5 fe4d              cp   'M'
547    39b7 2823              jr   z,mrs
548    39b9 cd1b2d            call #2d1b
549    39bc d8                ret  c
550    39bd 210040            ld   hl,#4000
551    39c0 39                add  hl,sp
552    39c1 3003              jr   nc,#03
553    39c3 31f057            ld   sp,#57f0
554    39c6 c1                pop  bc
555    39c7 cd283b            call out128
556    39ca c31e39            jp   mmret
557    39cd             
558    39cd f1         ret    pop  af                  #39ca
559    39ce f1                pop  af
560    39cf ed47              ld   i,a
561    39d1 e2d539            jp   po,reti
562    39d4 fb                ei
563    39d5 dde1       reti   pop  ix
564    39d7 d1                pop  de
565    39d8 c1                pop  bc
566    39d9 e1                pop  hl
567    39da f1                pop  af
568    39db c9                ret
569    39dc             
570    39dc f1         mrs    pop  af
571    39dd f1                pop  af
572    39de ed47              ld   i,a
573    39e0 dde1              pop  ix
574    39e2 d1                pop  de
575    39e3 c1                pop  bc
576    39e4 e1                pop  hl
577    39e5 f1                pop  af
578    39e6 22fff4            ld   (#f4ff),hl
579    39e9 e1                pop  hl
580    39ea 2244f5            ld   (#f544),hl
581    39ed c314f5            jp   #f514
582    39f0             
583    39f0 44         hlo    ld   b,h                 Vypis
584    39f1 4d                ld   c,l                 vseobecneho
585    39f2 cd2b2d     cislo  call #2d2b               cisla
586    39f5 c3e32d            jp   #2de3
587    39f8             
588    39f8 ed5b655c   nepis  ld   de,(stkend)
589    39fc c3c833            jp   #33c8
590    39ff             
591    39ff            tt     ds   #39ff-tt            !!!
592    39ff ffff       uu     dw   #ffff
593    3a01             
594    3a01 113e15     token  ld   de,tok-1
595    3a04 c3130c            jp   #0c13
596    3a07             
597    3a07 4f         disp   ld   c,a
598    3a08 fd7e02            ld   a,(iy+#02)
599    3a0b fe10              cp   #10
600    3a0d 79                ld   a,c
601    3a0e 2026              jr   nz,dis
602    3a10 01fefb            ld   bc,#fbfe
603    3a13 ed48              in   c,(c)
604    3a15 cb09              rrc  c
605    3a17 380f              jr   c,dii
606    3a19 af         pusti  xor  a
607    3a1a dbfe              in   a,(#fe)
608    3a1c 0f                rrca
609    3a1d 30fa              jr   nc,pusti
610    3a1f ed7b3f5c          ld   sp,(#5c3f)          listsp
611    3a23 fdcb01ae          res  5,(iy+#01)
612    3a27 c9                ret
613    3a28 fdcb764e   dii    bit  1,(iy+#76)          bit 1=1 .. nezobrazuje
614    3a2c 2808              jr   z,dis               farby pri autoliste
615    3a2e fe0d              cp   #0d
616    3a30 2804              jr   z,dis
617    3a32 fe20              cp   ' '
618    3a34 3803              jr   c,dip
619    3a36 c3030b     dis    jp   #0b03
620    3a39             
621    3a39 fdcb7656   dip    bit  2,(iy+#76)          bit 2=1 .. namiesto kodov
622    3a3d 2001              jr   nz,did              vypisuje otazniky
623    3a3f f1                pop  af
624    3a40 af         did    xor  a
625    3a41 18f3              jr   dis
626    3a43             
627    3a43 d5         number push de                  Vseobecny
628    3a44 e5                push hl                  vypis cisla
629    3a45 1e20              ld   e,' '               s medzerami
630    3a47 06                db   #06
631    3a48 69         numcom ld   l,c
632    3a49 01f0d8            ld   bc,-10000
633    3a4c cd2a19            call #192a
634    3a4f c3301a            jp   #1a30
635    3a52             
636    3a52 cd9516     lin2   call #1695               Kontrola
637    3a55 e5                push hl                  pritomnosti
638    3a56 2a535c            ld   hl,(prog)           basicoveho
639    3a59 7e                ld   a,(hl)              programu
640    3a5a e1                pop  hl
641    3a5b c9                ret
642    3a5c             
643    3a5c df         lin3   rst  #18                 Test
644    3a5d cd1b2d            call #2d1b               cislic
645    3a60 f5                push af                  na zaciatku
646    3a61 cdfb19            call #19fb               riadku
647    3a64 f1                pop  af
648    3a65 c9                ret
649    3a66             
650    3a66 fd7e02     lin4   ld   a,(iy+#02)          pri neautoliste
651    3a69 fe10              cp   #10                 namiesto '*' iba ' '
652    3a6b 2802              jr   z,ll40
653    3a6d 1620              ld   d,' '
654    3a6f e5         ll40   push hl
655    3a70 af                xor  a
656    3a71 2a515c            ld   hl,(#5c51)          kanal R ?
657    3a74 01c05c            ld   bc,#5cc0
658    3a77 ed42              sbc  hl,bc
659    3a79 e1                pop  hl
660    3a7a 2808              jr   z,ll41
661    3a7c fdcb7646          bit  0,(iy+#76)          23728
662    3a80 ca281a            jp   z,#1a28             4 - miestne cislo
663    3a83 01                db   #01
664    3a84 1600       ll41   ld   d,#00               pri 'R' kurzor vobec nebude
665    3a86 d5                push de
666    3a87 56                ld   d,(hl)
667    3a88 23                inc  hl
668    3a89 5e                ld   e,(hl)
669    3a8a eb                ex   de,hl
670    3a8b cd433a            call number              5 - miestne cislo
671    3a8e eb                ex   de,hl
672    3a8f d1                pop  de
673    3a90 c9                ret
674    3a91             
675    3a91 cd0c10     dole   call #100c               Pohyby po
676    3a94 dd210c10          ld   ix,#100c            editacnej zone
677    3a98 2011              jr   nz,hordol
678    3a9a 21495c            ld   hl,#5c49
679    3a9d c9                ret
680    3a9e cd0710     hore   call #1007
681    3aa1 dd210710          ld   ix,#1007
682    3aa5 3004              jr   nc,hordol
683    3aa7 2a495c            ld   hl,(#5c49)
684    3aaa c9                ret
685    3aab c1         hordol pop  bc
686    3aac 0600              ld   b,#00
687    3aae 04         hd1    inc  b
688    3aaf cb68              bit  5,b
689    3ab1 c0                ret  nz
690    3ab2 c5                push bc
691    3ab3 cdf003            call #03f0
692    3ab6 c1                pop  bc
693    3ab7 7e                ld   a,(hl)
694    3ab8 fe0d              cp   #0d
695    3aba c8                ret  z
696    3abb fe20              cp   ' '
697    3abd 38f0              jr   c,hd1+1
698    3abf d6a5              sub  #a5
699    3ac1 38eb              jr   c,hd1
700    3ac3 d9                exx
701    3ac4 21d33a            ld   hl,incb-2
702    3ac7 22515c            ld   (#5c51),hl
703    3aca cd100c            call #0c10
704    3acd cd7110            call #1071
705    3ad0 d9                exx
706    3ad1 18dc              jr   hd1+1
707    3ad3             
708    3ad3 d53a              dw   incb
709    3ad5 d9         incb   exx
710    3ad6 04                inc  b
711    3ad7 d9                exx
712    3ad8 c9                ret
713    3ad9             
714    3ad9 cd8019     lin1   call #1980               kontrola
715    3adc d0                ret  nc                  cisla
716    3add 7e                ld   a,(hl)              riadku
717    3ade e6c0              and  #c0                 ci je
718    3ae0 c0                ret  nz                  >16383
719    3ae1 37                scf
720    3ae2 c9                ret
721    3ae3             
722    3ae3 e7         edit   rst  #20                 ciarka a
723    3ae4 cdde1c            call #1cde               uz nie bodkociarka
724    3ae7 cdee1b            call syntx
725    3aea cd991e            call #1e99
726    3aed ed43495c          ld   (23625),bc
727    3af1 cdb016            call #16b0
728    3af4 cd6e0d            call #0d6e
729    3af7 fdcb37ae          res  5,(iy+#37)
730    3afb fdcb019e          res  3,(iy+#01)
731    3aff             
732    3aff ffff       vv     dw   #ffff               !!!
733    3b01             
734    3b01 cda90f            call #0fa9               edit
735    3b04 ed7b3d5c          ld   sp,(23613)
736    3b08 f1                pop  af
737    3b09 c3ac12            jp   #12ac
738    3b0c             
739    3b0c cd941e     cls    call #1e94               stk->a
740    3b0f b7                or   a
741    3b10 2809              jr   z,necol
742    3b12 32485c            ld   (23624),a
743    3b15 328d5c            ld   (23693),a
744    3b18 cd3f05            call #053f
745    3b1b c36b0d     necol  jp   #0d6b
746    3b1e             
747    3b1e e7         banka  rst  #20                 Prepnutie
748    3b1f cdde1c            call #1cde               128k banky
749    3b22 cdee1b            call syntx
750    3b25 cd941e            call #1e94               stk->a
751    3b28 e60f       out128 and  #0f
752    3b2a f610              or   #10
753    3b2c 01fd7f            ld   bc,#7ffd
754    3b2f ed79              out  (c),a
755    3b31 c9                ret
756    3b32             
757    3b32 fe27       comm   cp   '''
758    3b34 28e8              jr   z,banka
759    3b36 fe2c              cp   ','
760    3b38 28a9              jr   z,edit
761    3b3a             
762    3b3a 21503b            ld   hl,tab
763    3b3d cb7e       com1   bit  7,(hl)
764    3b3f c2cd1f            jp   nz,#1fcd
765    3b42 be                cp   (hl)
766    3b43 23                inc  hl
767    3b44 5e                ld   e,(hl)
768    3b45 23                inc  hl
769    3b46 56                ld   d,(hl)
770    3b47 23                inc  hl
771    3b48 20f3              jr   nz,com1
772    3b4a e7                rst  #20
773    3b4b cdee1b            call syntx
774    3b4e eb                ex   de,hl
775    3b4f e9                jp   (hl)
776    3b50             
777    3b50 23         tab    db   '#'
778    3b51 65d6              dw   54885
779    3b53 5f                db   '_'
780    3b54 6600              dw   #66
781    3b56 2a                db   '*'
782    3b57 3f3c              dw   hea
783    3b59 3f                db   '?'
784    3b5a 013c              dw   info
785    3b5c 7f                db   ''
786    3b5d 873b              dw   ini
787    3b5f 5e                db   '^'
788    3b60 7839              dw   res128
789    3b62 21                db   '!'
790    3b63 683b              dw   reset
791    3b65 3d                db   '='
792    3b66 0139              dw   user
793    3b68             
794    3b68 af         reset  xor  a                   ! Periferie
795    3b69 01fdff            ld   bc,#fffd
796    3b6c d313              out  (#13),a             motor
797    3b6e 3ed0              ld   a,#d0
798    3b70 d30f              out  (#0f),a             fdc
799    3b72 3ec3              ld   a,#c3
800    3b74 d30b              out  (#0b),a             dma
801    3b76 3e07              ld   a,#07
802    3b78 ed79              out  (c),a               ticho
803    3b7a 3ebf              ld   a,#bf
804    3b7c d3fd              out  (#fd),a
805    3b7e 3e0d              ld   a,#0d
806    3b80 ed79              out  (c),a
807    3b82 3e80              ld   a,#80
808    3b84 d3fd              out  (#fd),a
809    3b86 c9                ret
810    3b87             
811    3b87 21af15     ini    ld   hl,#15af            
812    3b8a 11b65c            ld   de,#5cb6
813    3b8d 011500            ld   bc,#15
814    3b90 ed534f5c          ld   (#5c4f),de
815    3b94 edb0              ldir
816    3b96 21003c            ld   hl,#3c00
817    3b99 22365c            ld   (23606),hl
818    3b9c 214000            ld   hl,#40
819    3b9f 22385c            ld   (23608),hl
820    3ba2 fd213a5c   basic  ld   iy,#5c3a
821    3ba6 2ab25c            ld   hl,(23730)
822    3ba9 363e              ld   (hl),#3e
823    3bab 2b                dec  hl
824    3bac f9                ld   sp,hl
825    3bad 2b                dec  hl
826    3bae 2b                dec  hl
827    3baf 223d5c            ld   (23613),hl
828    3bb2 2a595c            ld   hl,(eline)
829    3bb5 fe42              cp   'B'
830    3bb7 ed56              im1
831    3bb9 fb                ei
832    3bba ca0313            jp   z,#1303
833    3bbd c35612            jp   #1256
834    3bc0             
835    3bc0 df         poke   rst  #18                 Vylepsene poke
836    3bc1 fe2c              cp   ','                 POKE A,byte
837    3bc3 2805              jr   z,pokok             POKE A;word
838    3bc5 fe3b              cp   ';'                 POKE A,a$
839    3bc7 c28a1c            jp   nz,#1c8a
840    3bca f5         pokok  push af
841    3bcb e7                rst  #20
842    3bcc cdfb24            call scann
843    3bcf f1                pop  af
844    3bd0 cdee1b            call syntx               syntx
845    3bd3 fdcb0176          bit  6,(iy+#01)
846    3bd7 2813              jr   z,pokret
847    3bd9 fe2c              cp   ','
848    3bdb ca801e            jp   z,#1e80
849    3bde cd991e            call #1e99
850    3be1 c5                push bc
851    3be2 cd991e            call #1e99
852    3be5 60                ld   h,b
853    3be6 69                ld   l,c
854    3be7 c1                pop  bc
855    3be8 71                ld   (hl),c
856    3be9 23                inc  hl
857    3bea 70                ld   (hl),b
858    3beb c9                ret
859    3bec             
860    3bec ef         pokret rst  #28
861    3bed 01                db   #01                 swap
862    3bee 38                db   #38
863    3bef cd991e            call #1e99               st->bc
864    3bf2 c5                push bc
865    3bf3 cdf12b            call #2bf1               st->a,bc,de
866    3bf6 e1                pop  hl
867    3bf7 78                ld   a,b
868    3bf8 b1                or   c
869    3bf9 c8                ret  z
870    3bfa eb                ex   de,hl
871    3bfb edb0              ldir
872    3bfd c9                ret
873    3bfe             
874    3bfe ffffffff   we     dw   -1,-1,-1,-1
            ffffffff    
875    3c06                   ds   #3bff-$
876    3bff ffff       ww     dw   #ffff               !!!
877    3c01             
878    3c01 cd6b0d     info   call #0d6b
879    3c04 3e02              ld   a,#02
880    3c06 cd0116            call #1601
881    3c09 af                xor  a
882    3c0a cd013a            call token
883    3c0d af                xor  a
884    3c0e 2a4b5c            ld   hl,(vars)
885    3c11 ed4b535c          ld   bc,(prog)
886    3c15 e5                push hl
887    3c16 ed42              sbc  hl,bc
888    3c18 cdf039            call hlo
889    3c1b 3e01              ld   a,#01
890    3c1d cd013a            call token
891    3c20 c1                pop  bc
892    3c21 37                scf
893    3c22 2a595c            ld   hl,(eline)
894    3c25 ed42              sbc  hl,bc
895    3c27 cdf039            call hlo
896    3c2a 3e02              ld   a,#02
897    3c2c cd013a            call token
898    3c2f ed4b655c          ld   bc,(stkend)
899    3c33 af                xor  a
900    3c34 67                ld   h,a
901    3c35 6f                ld   l,a
902    3c36 39                add  hl,sp
903    3c37 ed42              sbc  hl,bc
904    3c39 cdf039     hlod   call hlo
905    3c3c c3f81f            jp   #1ff8
906    3c3f             
907    3c3f 3e02       hea    ld   a,#02
908    3c41 cd0116            call #1601
909    3c44 f3         znovu  di
910    3c45 dd219e5c          ld   ix,room
911    3c49 111000            ld   de,#10
912    3c4c af                xor  a
913    3c4d 1c                inc  e
914    3c4e 37                scf
915    3c4f 08                ex   af,af
916    3c50 3e0e              ld   a,#0e
917    3c52 d3fe              out  (#fe),a
918    3c54 dbfe              in   a,(#fe)
919    3c56 1f                rra
920    3c57 cd6505            call #0565               len pre kazetu
921    3c5a cd3f05            call #053f
922    3c5d 30e5              jr   nc,znovu
923    3c5f 328c5c            ld   (23692),a
924    3c62 3e17              ld   a,#17
925    3c64 d7                rst  #10
926    3c65 af                xor  a
927    3c66 d7                rst  #10
928    3c67 d7                rst  #10
929    3c68 219e5c            ld   hl,room
930    3c6b 7e                ld   a,(hl)
931    3c6c f630              or   '0'
932    3c6e d7                rst  #10
933    3c6f 3e3a              ld   a,':'
934    3c71 d7                rst  #10
935    3c72             
936    3c72 060a              ld   b,10                Vypis mena
937    3c74 23         meno   inc  hl
938    3c75 7e                ld   a,(hl)
939    3c76 fe20              cp   #20
940    3c78 3002              jr   nc,#02
941    3c7a 3e3f              ld   a,'?'
942    3c7c d7                rst  #10
943    3c7d 10f5              djnz meno
944    3c7f 3e17              ld   a,#17
945    3c81 d7                rst  #10
946    3c82 3e15              ld   a,21
947    3c84 d7                rst  #10
948    3c85 d7                rst  #10
949    3c86 2aab5c            ld   hl,(room+13)        adresa
950    3c89 cd433a            call number
951    3c8c 3e3a              ld   a,':'
952    3c8e d7                rst  #10
953    3c8f 2aa95c            ld   hl,(room+11)        dlzka
954    3c92 cd393c            call hlod
955    3c95 18ad              jr   znovu
956    3c97 ffffffff   e      dw   -1,-1,-1,-1,-1,-1
            ffffffff    
            ffffffff    
957    3ca3 ffffffff          dw   -1,-1,-1,-1,-1,-1
            ffffffff    
            ffffffff    
958    3caf            xx     ds   15526-xx
959    3ca6 20427573          db   ' Busy soft rom '
            7920736f    
            66742072    
            6f6d20      
960    3cb5 31313820          db   ver0,ver1,ver2,' '
961    3cb9            kk
962    3cb9            room   =    #5c9e               buffer pre header
963    3cb9            ll     =    kk-zz
964    3cb9            k      =    ee+ll
965    3cb9            l      =    k-z
966    3cb9             
967    3cb9                   org  #a000
968    a000             
969    a000 dd2117a0   s      ld   ix,hlava
970    a004 111100            ld   de,17
971    a007 af                xor  a
972    a008 cdc604            call #04c6
973    a00b dd21cb5c          ld   ix,z
974    a00f 111d07            ld   de,l
975    a012 3eff              ld   a,#ff
976    a014 c3c604            jp   #04c6
977    a017             
978    a017 00         hlava  db   #00
979    a018 42532072          db   'BS rom '
            6f6d20      
980    a01f 313138            db   ver0,ver1,ver2
981    a022 1d070000          dw   l,0,l
            1d07        

 banka  3b1e  *  basic  3ba2  *  cc0    3980  *  cc1    3988  *
 cc2    3999  *  ccu    5eda  *  chadd  5c5d  *  chesyn 2530  *
 chyby  5e22  *  cis    3894  *  cislo  39f2  *  cls    3b0c  *
 clsuj  11d5  *  cnum   5eeb  *  com1   3b3d  *  comm   3b32  *
 cont   11e6  *  curs   5ed5  *  did    3a40  *  dii    3a28  *
 dip    3a39  *  dis    3a36  *  disk   3904  *  disp   3a07  *
 dolar  38d1  *  dole   3a91  *  e      3c97  *  edicur 5efc  *
 edit   3ae3  *  ee     5f9d  *  eline  5c59  *  h11cc  5f75  *
 h11ll  0028  *  h1287  5f26  *  h3cf0  5f5d  *  hd1    3aae  *
 hea    3c3f  *  hex0   3878  *  hex1   3882  *  hex98  38ed  *
 hex99  38e4  *  hexa   386e  *  hexend 38a8  *  hlava  a017  *
 hlo    39f0  *  hlod   3c39  *  hordol 3aab  *  hore   3a9e  *
 incb   3ad5  *  info   3c01  *  ini    3b87  *  iy     5c3a  *
 k      63e8  *  kcur   5c5b  *  kdole  5f14  *  khore  5f1e  *
 kk     3cb9  *  l      071d  *  ldir   5d47  *  ldpop  5ed1  *
 lin1   3ad9  *  lin2   3a52  *  lin3   3a5c  *  lin4   3a66  *
 linn   5ef0  *  ll     044b  *  ll40   3a6f  *  ll41   3a84  *
 main   3906  *  meno   3c74  *  mm     38ff  *  mm1    3917  *
 mmret  391e  *  mrs    39dc  *  necol  3b1b  *  nepis  39f8  *
 neres  39a1  *  nesav  39b1  *  nn     38fa  *  nula   0000  *
 number 3a43  *  numcom 3a48  *  oo11   5cec  *  out128 3b28  *
 p      5cd9  *  poke   3bc0  *  pokok  3bca  *  pokret 3bec  *
 pp1    5d52  *  pp2    5db7  *  pp3    5dd4  *  pp4    5dfa  *
 pp5    5e11  *  print  5ee2  *  prog   5c53  *  pust   3937  *
 pusti  3a19  *  res128 3978  *  reset  3b68  *  resnew 3971  *
 ret    39cd  *  reti   39d5  *  room   5c9e  *  rst    5cd9  *
 s      a000  *  scann  24fb  *  stkbot 5c63  *  stkend 5c65  *
 syntx  1bee  *  tab    3b50  *  toerr  5f0d  *  tok    153f  *
 toke   5f41  *  token  3a01  *  tt     39ff  *  user   3901  *
 uu     39ff  *  val1   38ae  *  val2   38b8  *  vars   5c4b  *
 ver0   0031  *  ver1   0031  *  ver2   0038  *  vv     3aff  *
 wait   5ce7  *  we     3bfe  *  worksp 5c61  *  ww     3bff  *
 xx     3caf  *  z      5ccb  *  z11end 11f4  *  zavin  5f6d  *
 znovu  3c44  *  zz     386e  *                                

Bytes:1880  labels:134  errors:0   





Popis
Napatchuje různé upgrade na klasickou romku.

Poznámky
Počítá s MB02 - tedy s možností zapisovat do oblasti 0-16384. Vlastní BS-Rom funguje i zvlášť.

Poslal
Busy