Subversion Repositories NedoOS

Rev

Rev 2292 | Details | Compare with Previous | Last modification | View Log

Rev Author Line No. Line
1386 Kulich 1
 
1679 kulich 2
    MODULE TIME
3
    PUBLIC time
1464 alone 4
        #include "sysdefs.asm"
5
        RSEG CODE
6
time:
7
        push ix
8
        push iy
1510 alone 9
    ld c,CMD_GETTIMER ;out: dehl=timer
1464 alone 10
        call BDOS
1510 alone 11
        ld b,d
12
        ld c,e
1464 alone 13
        pop iy
14
        pop ix
15
        ret ;return bchl
16
        ENDMOD
17
 
1666 kulich 18
 
19
;unsigned long OS_GETTIME (struct diskOp *); //out: ix=date, hl=time
20
 
21
 
22
    MODULE OS_GETTIME
23
    PUBLIC OS_GETTIME
24
        #include "sysdefs.asm"
25
        RSEG CODE
26
OS_GETTIME:
27
    push ix
28
    push iy
29
    ld c,CMD_GETTIME ;out: ix=date, hl=time
30
        call BDOS
31
        di
32
        push ix
33
        pop bc
34
        ei
35
        pop iy
36
    pop ix
37
    ret ;return bchl
38
        ENDMOD
39
 
1386 Kulich 40
        MODULE ERRNOMOD
41
        PUBLIC errno
42
        RSEG    NO_INIT
43
errno:
44
        defs 1
45
        ENDMOD
46
 
47
        MODULE MYGETCHAR
48
        PUBLIC getchar
49
        EXTERN _low_level_get
50
        RSEG CODE
51
getchar:
52
        call _low_level_get
53
        or a
54
        jr z,getchar
55
        ld l,a
56
        ld h,0
57
        ret    
58
        ENDMOD
59
 
60
        MODULE OS_RESERV_1
61
        PUBLIC os_reserv_1
62
        #include "sysdefs.asm"
63
        RSEG CODE
64
os_reserv_1:
65
        push bc
66
        push ix
67
        push iy
68
    ld c,CMD_RESERV_1
69
        call BDOS
70
        pop iy
71
        pop ix
72
        pop bc
73
        ret    
74
        ENDMOD
75
 
76
        MODULE SCRREDRAW
77
        PUBLIC scrredraw
78
        RSEG CODE
79
scrredraw:
80
        xor a
81
        ret    
82
        ENDMOD
83
 
84
        MODULE OSLOWGET
85
        PUBLIC bdosgetkey
86
        EXTERN scrredraw,exit,YIELD
87
        #include "sysdefs.asm"
88
        RSEG CODE
89
bdosgetkey:
90
        push de
91
        push bc
92
        push ix
93
        push iy
94
        ld c,CMD_YIELD
95
        call BDOS
96
        rst 0x08
97
        cp key_esc
98
        jp z,exit
99
        cp key_redraw
100
        call z,scrredraw
101
        ld l,a
102
        ld h,0
103
        pop iy
104
        pop ix
105
        pop bc
106
        pop de
107
        ret
108
        ENDMOD
109
 
110
        MODULE conv1251to866
111
        PUBLIC conv1251to866, t1251to866
112
        RSEG CODE
113
conv1251to866:  ;DE-string
114
        push de
115
ploop:
116
        ld a,(de)
117
        or a
118
        jr z,pexit
119
        cp 128
120
        jr c,asci
121
        add a,low(t1251to866-128)
122
        ld l,a
123
        ld a,0
124
        adc a,high(t1251to866-128)
125
        ld h,a
126
        ld a,(hl)
127
        ld (de),a
128
asci:
129
        inc de
130
        jr ploop
131
pexit:
132
        pop de
133
        ret
134
        RSEG    CONST
135
t1251to866:
136
        DEFB 0x3F, 0x3F, 0x27, 0x3F, 0x22, 0x3A, 0xC5, 0xD8, 0x3F, 0x25, 0x3F, 0x3C, 0x3F, 0x3F, 0x3F, 0x3F
137
        DEFB 0x30, 0x3F, 0x27, 0x27, 0x22, 0x22, 0x07, 0x2D, 0x2D, 0x54, 0x3F, 0x3E, 0x3F, 0x3F, 0x3F, 0x3F
138
        DEFB 0xFF, 0xF6, 0xF7, 0x3F, 0xFD, 0x3F, 0xB3, 0x15, 0xF0, 0x63, 0xF2, 0x3C, 0xBF, 0x2D, 0x52, 0xF4
139
        DEFB 0xF8, 0x2B, 0x3F, 0x3F, 0x3F, 0xE7, 0x14, 0xFA, 0xF1, 0xFC, 0xF3, 0x3E, 0x3F, 0x3F, 0x3F, 0xF5
140
        DEFB 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F
141
        DEFB 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9E, 0x9F
142
        DEFB 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF
143
        DEFB 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF
144
        ENDMOD
145
 
146
        MODULE YIELD
147
        PUBLIC YIELD
148
        #include "sysdefs.asm"
149
        RSEG CODE
150
YIELD:
151
        push bc
152
        push de
153
        push ix
154
        push iy
155
        ld c,CMD_YIELD
156
        call BDOS
157
        pop iy
158
        pop ix
159
        pop de
160
        pop bc
161
        ret
162
        ENDMOD
163
 
164
        MODULE SETMUSIC
165
        PUBLIC OS_SETMUSIC
166
        #include "sysdefs.asm"
167
        RSEG CODE
168
OS_SETMUSIC:    ;DE - proc_ptr, A - ?
169
        ld h,d
170
        ld l,e
171
        ld a,c
172
    ex af,af'
173
        push ix
174
        push iy
175
        ld c,CMD_SETMUSIC       ;hl=muzaddr (0x4000..0x7fff), a=muzpg
176
        call BDOS
177
        pop iy
178
        pop ix
179
        ret
180
        ENDMOD
181
 
182
        MODULE OSGETCONFIG
183
        PUBLIC OS_GETCONFIG
184
        #include "sysdefs.asm"
185
        RSEG CODE
186
OS_GETCONFIG:
187
    push bc
188
        ld c,CMD_GETCONFIG
189
        push de
190
        push ix
191
        push iy
192
        call BDOS
193
        pop iy
194
        pop ix
195
        pop de
196
    pop bc
197
        ret
198
        ENDMOD
199
 
200
        MODULE GETMAINPAGES
201
        PUBLIC OS_GETMAINPAGES,OS_GETAPPMAINPAGES
202
    EXTERN errno
203
        #include "sysdefs.asm"
204
        RSEG CODE
205
OS_GETAPPMAINPAGES:
206
    ld c,CMD_GETAPPMAINPAGES
207
    jr l1
208
OS_GETMAINPAGES:
209
        ld c,CMD_GETMAINPAGES
210
l1
211
        push de
1814 kulich 212
        push ix
1386 Kulich 213
        push iy
1814 kulich 214
        call BDOS
215
        ld b,d ;out: d,e,h,l=pages in 0000,4000,8000,c000, c=flags, a=error
1386 Kulich 216
        ld c,e
217
        pop iy
218
        pop ix
1814 kulich 219
        pop de
220
        LD (errno), a
1386 Kulich 221
        ret
222
        ENDMOD
223
 
224
        MODULE SETPG32KHIGH
225
        PUBLIC SETPG32KHIGH
226
        #include "sysdefs.asm"
227
        RSEG CODE
228
SETPG32KHIGH:
229
        push bc
230
        push ix
231
        push iy
232
        ld a,e
233
        rst 0x28
234
        pop iy
235
        pop ix
236
        pop bc
237
        ret
238
        ENDMOD
1814 kulich 239
 
2281 kulich 240
        MODULE OS_SETSCREEN
241
        PUBLIC OS_SETSCREEN
242
        #include "sysdefs.asm"
243
        RSEG CODE
244
OS_SETSCREEN:
2292 kulich 245
   ;halt
2281 kulich 246
        push bc
247
        push hl
248
        push ix
249
        push iy
250
        ld c,CMD_SETSCREEN       ;e=screen=0..1
251
        call BDOS
252
        pop iy
253
        pop ix
254
        pop hl
255
        pop bc
256
        ret
257
        ENDMOD
258
 
2279 kulich 259
        MODULE OS_SETPG8000
260
        PUBLIC OS_SETPG8000
261
        #include "sysdefs.asm"
262
        RSEG CODE
263
OS_SETPG8000:
264
        push bc
265
        push ix
266
        push iy
267
        ld a,e
268
        rst 0x20
269
        pop iy
270
        pop ix
271
        pop bc
272
        ret
273
        ENDMOD
274
 
1386 Kulich 275
        MODULE MAIN_ARGS
276
        PUBLIC main_args
277
        RSEG CODE
278
main_args
279
        ld hl,args
280
        ld de,0x0080
281
get_cmd_args_l2
282
        ld (hl),e
283
        inc hl
284
        ld (hl),d
285
        inc hl
286
        dec de
287
get_cmd_args_l
288
        inc de
289
        ld a,(de)
290
        or a
291
        jr z,get_cmd_args_end
292
        cp ' '
293
        jr nz,get_cmd_args_l
294
        xor a
295
        ld (de),a
296
skipspaces
297
        inc de
298
        ld a,(de)
299
        or a
300
        jr z,get_cmd_args_end
301
        cp ' '
302
        jr nz,get_cmd_args_l2
303
        jr skipspaces
304
get_cmd_args_end:
305
        ld bc,args
306
        sbc hl,bc
307
        ex de,hl
308
        srl e
309
        ret
310
        RSEG    NO_INIT
311
args:
312
        defs 32
313
        ENDMOD
314
 
315
 
316
        MODULE OSDROPAPP
317
        PUBLIC OS_DROPAPP
318
        #include "sysdefs.asm"
319
        RSEG CODE
320
OS_DROPAPP:     ;e=id ; hl=result
321
        ld c,CMD_DROPAPP
322
        push ix
323
        push iy
324
        call BDOS
325
        pop iy
326
        pop ix
327
        ret
328
        ENDMOD
329
 
1684 kulich 330
        MODULE OS_SETGFX
331
        PUBLIC OS_SETGFX
332
        #include "sysdefs.asm"
333
        RSEG CODE
2292 kulich 334
OS_SETGFX:      ;e=0:EGA, e=2:MC, e=3:6912, e=6:text ;+SET FOCUS ;e=-1: disable gfx (out: e=old gfxmode)
2281 kulich 335
        push bc
1684 kulich 336
        push hl
337
        push ix
338
        push iy
339
        ld c,CMD_SETGFX
2281 kulich 340
        halt
1684 kulich 341
        call BDOS
342
        pop iy
343
        pop ix
344
        pop hl
345
        pop bc
2292 kulich 346
        ld a, e
1684 kulich 347
        ret
348
        ENDMOD
1386 Kulich 349
 
350
        MODULE OSGETPAGEOWNER   ;e=page ;out: e=owner id (0=free, 0xff=system)
351
        PUBLIC OS_GETPAGEOWNER
352
        #include "sysdefs.asm"
353
        RSEG CODE
354
OS_GETPAGEOWNER:
355
    push bc
356
        push ix
357
        push iy
2292 kulich 358
        ld c,CMD_GETPAGEOWNER
1386 Kulich 359
        call BDOS
360
        LD a, e
361
        pop iy
362
        pop ix
363
    pop bc
364
        ret
365
        ENDMOD
366
 
367
        MODULE  my_im2
368
        PUBLIC  my_im2_init
369
        RSEG    INTJP
370
        DEFS 3
371
        RSEG    INTTABLE
372
        DEFS 257
373
        RSEG    CODE
374
my_im2_init
375
        di
376
        ld a,0xc3
377
        ld (SFB(INTJP)),a
378
        ld (SFB(INTJP)+1),de
379
        ld a,HIGH(SFB(INTTABLE))
380
        ld i,a
381
        inc a
382
        ld hl,SFB(INTTABLE)-1
383
tloop
384
        inc hl
385
        ld (hl),HIGH(SFB(INTJP))
386
        cp h
387
        jr nz,tloop
388
        im 2
389
        ret
390
        ENDMOD
391
 
1679 kulich 392
;Kulich Area
1386 Kulich 393
 
1679 kulich 394
        MODULE OS_NEWPAGE       ;out: a=0 (OK)/!=0 (fail), e=page
395
        PUBLIC OS_NEWPAGE
396
        #include "sysdefs.asm"
397
        RSEG CODE
398
OS_NEWPAGE:
399
    push bc
400
        ld c,CMD_NEWPAGE
401
        push ix
402
        push iy
403
        call BDOS
404
        pop iy
405
        pop ix
406
    pop bc
407
        ld h,a                  ;error
408
        ld l,e                  ;page
409
        ret
410
        ENDMOD
1386 Kulich 411
 
2279 kulich 412
        MODULE OS_DELPAGE       ;out: a=0 (OK)/!=0 (fail), e=page
413
        PUBLIC OS_DELPAGE
414
        #include "sysdefs.asm"
415
        RSEG CODE
416
OS_DELPAGE:
417
    push bc
418
        push hl
419
        ld c,CMD_DELPAGE
420
        push ix
421
        push iy
422
        call BDOS
423
        pop iy
424
        pop ix
425
    pop hl
426
        pop bc
427
        ret
428
        ENDMOD
1767 kulich 429
 
2279 kulich 430
        MODULE OS_GETSCR0      
431
        PUBLIC OS_GETSCR0
432
        #include "sysdefs.asm"
433
        RSEG CODE
434
OS_GETSCR0:
435
 
436
 
437
        ld a,(user_scr0_high)
438
        ld h,a
439
        ld a,(user_scr0_low)
440
        ld l, a
441
        ret
442
        ENDMOD
443
 
444
        MODULE OS_GETSCR1      
445
        PUBLIC OS_GETSCR1
446
        #include "sysdefs.asm"
447
        RSEG CODE
448
OS_GETSCR1:
449
        ld a,(user_scr1_high)
450
        ld h,a
451
        ld a,(user_scr1_low)
452
        ld l,a
453
        ret
454
        ENDMOD
455
 
1767 kulich 456
        MODULE OS_RENAME
457
        PUBLIC OS_RENAME
458
        #include "sysdefs.asm"
459
        RSEG CODE
460
OS_RENAME:
461
;           ld de, oldname
462
;       ld bc, newname
463
        ld h,b
464
        ld l,c
465
        push ix
466
        push iy
467
        ld c,CMD_RENAME
468
        call BDOS
469
        pop iy
470
        pop ix
471
        ret
472
        ENDMOD
473
 
2279 kulich 474
        MODULE OS_SETBORDER    
475
        PUBLIC OS_SETBORDER
476
        #include "sysdefs.asm"
477
        RSEG CODE
478
OS_SETBORDER:
2281 kulich 479
        push bc
2279 kulich 480
        push hl
481
        push ix
482
        push iy
483
    ld c,CMD_SETBORDER ;e=0..15
484
        call BDOS
485
        pop iy
486
        pop ix
487
        pop hl
488
        pop bc
489
        ret
490
        ENDMOD
491
 
1768 kulich 492
        MODULE OS_DELETE
493
        PUBLIC OS_DELETE
494
        #include "sysdefs.asm"
495
        RSEG CODE
496
OS_DELETE:
497
        push bc
498
        push ix
499
        push iy
500
        ld c,CMD_DELETE
501
        call BDOS
502
        pop iy
503
        pop ix
504
        pop bc
505
        ld h,0
506
        ld l,a
507
        ret
508
        ENDMOD
509
 
510
 
511
 
512
 
513
 
1386 Kulich 514
        MODULE OS_READSECTORS   ;de= pointer to diskOp structure
515
        PUBLIC OS_READSECTORS
516
        #include "sysdefs.asm"
517
        RSEG CODE
518
OS_READSECTORS:
519
        push bc
520
        push de
521
        push ix
522
        push iy
523
 
524
        ex de,hl
525
        ld b,(hl)       ;drive
526
        inc l
527
        ld e,(hl)       ;buffer L
528
        inc l
529
        ld d,(hl)       ;buffer H
530
        inc l
531
        push de
532
        ld e,(hl)       ;sector L
533
        inc l
534
        ld d,(hl)       ;sector H
535
        inc l
536
        ld  a,(hl)      ;sector X
537
        ld  ixl,a
538
        inc l
539
        ld  a,(hl)      ;sector I
540
        ld  ixh,a
541
        inc l
542
        ld  a,(hl)      ;count
543
        pop hl
544
        ex de,hl
545
        ld c,CMD_READSECTORS
546
        ex af,af' ;'
547
    call BDOS ;c=CMD
548
        pop iy
549
        pop ix
550
        pop de
551
        pop bc
552
        ret             ;BCHL
553
        ENDMOD 
554
 
555
        MODULE OS_WRITESECTORS  ;de= pointer to diskOp structure
556
        PUBLIC OS_WRITESECTORS
557
        #include "sysdefs.asm"
558
        RSEG CODE
559
OS_WRITESECTORS:
560
        push bc
561
        push de
562
        push ix
563
        push iy
564
 
565
        ex de,hl
566
        ld b,(hl)       ;drive
567
        inc l
568
        ld e,(hl)       ;buffer L
569
        inc l
570
        ld d,(hl)       ;buffer H
571
        inc l
572
        push de
573
        ld e,(hl)       ;sector L
574
        inc l
575
        ld d,(hl)       ;sector H
576
        inc l
577
        ld  a,(hl)      ;sector X
578
        ld  ixl,a
579
        inc l
580
        ld  a,(hl)      ;sector I
581
        ld  ixh,a
582
        inc l
583
        ld  a,(hl)      ;count
584
        pop hl
585
        ex de,hl
586
        ld c,CMD_WRITESECTORS
587
        ex af,af' ;'
588
    call BDOS ;c=CMD
1679 kulich 589
        pop iy
590
        pop ix
591
        pop de
592
        pop bc
593
        ret             ;BCHL   
594
        ENDMOD
1386 Kulich 595
 
1679 kulich 596
        MODULE OS_GETPATH
597
        PUBLIC OS_GETPATH
598
        #include "sysdefs.asm"
599
        RSEG CODE
600
OS_GETPATH:
601
        push bc
602
        push ix
603
        push iy
604
        ld c,CMD_GETPATH
605
        call BDOS
1386 Kulich 606
        pop iy
607
        pop ix
1679 kulich 608
        pop bc
609
        ld hl,0
610
        ret
611
        ENDMOD
612
 
613
        MODULE OS_SETSYSDRV                    
614
        PUBLIC OS_SETSYSDRV                    
615
        #include "sysdefs.asm"
616
        RSEG CODE      
617
OS_SETSYSDRV
618
        push bc
619
        push de
620
        push ix
621
        push iy
622
        ld c,CMD_SETSYSDRV                      ; out: A: A!=0 -- системный диск не примонтирован. L: -- общее количество примонтированных дисков.
623
        call BDOS
624
        pop iy
625
        pop ix
1386 Kulich 626
        pop de
627
        pop bc
1679 kulich 628
        ld h,a                                          ;h = error l = No of disks
629
        ret
630
        ENDMOD
631
 
632
        MODULE OS_CHDIR
633
        PUBLIC OS_CHDIR
634
        #include "sysdefs.asm"
635
        RSEG CODE
636
OS_CHDIR:
637
        push bc
638
        push ix
639
        push iy
640
        ld c,CMD_CHDIR                          ;DE = Pointer to ASCIIZ string. Out A=error
641
        call BDOS
642
        pop iy
643
        pop ix
644
        pop bc
645
        ld l,0
646
        ld h,a                                          ;h = error 
647
        ret
648
        ENDMOD
649
 
1775 kulich 650
 
1679 kulich 651
        MODULE OS_NEWAPP
652
        PUBLIC OS_NEWAPP
653
        #include "sysdefs.asm"
654
        RSEG CODE
655
OS_NEWAPP:
656
        push bc
657
        ld (strPtr), de
658
        push ix
659
        push iy
660
        ld c,CMD_NEWAPP                         ;out: b=id, a=error, dehl=newapp pages in 0000,4000,8000,c000 ;MAKE NEW DISABLED APP
661
        call BDOS
662
        pop iy
663
        pop ix
664
        ld c,a
665
        push hl
666
        ld hl,(strPtr)
667
        ld (hl),d
668
        inc hl
669
        ld (hl),e
670
        pop hl
671
        ex de,hl
672
        ld hl,(strPtr)
673
        inc hl
674
        inc hl
675
        ld (hl),d
676
        inc hl
677
        ld (hl),e
678
        inc hl
679
        ld (hl),b
680
        inc hl
681
        ld (hl),c
682
        pop bc
683
        ret
684
strPtr
685
        DEFW 0000
686
        ENDMOD
687
 
688
        MODULE OS_RUNAPP
689
        PUBLIC OS_RUNAPP
690
        #include "sysdefs.asm"
691
        RSEG CODE
692
OS_RUNAPP:     
693
        push hl
694
        push bc
695
        push ix
696
        push iy
697
        ld c,CMD_RUNAPP ;e=id ;ACTIVATE DISABLED APP
698
        call BDOS
699
        pop iy
700
        pop ix
701
    pop bc
702
        pop hl
703
        ret
704
        ENDMOD
705
 
706
        MODULE OS_WAITPID
707
        PUBLIC OS_WAITPID
708
        #include "sysdefs.asm"
709
        RSEG CODE
710
OS_WAITPID:
711
        push bc
712
        push ix
713
        push iy
714
    ld c,CMD_SETWAITING
715
        call BDOS
716
        ld c,CMD_YIELD
717
        call BDOS
718
        ld c,CMD_GETCHILDRESULT
719
        call BDOS
720
        pop iy
721
        pop ix
722
        pop bc
723
        ret
724
        ENDMOD
725
 
1684 kulich 726
 
727
 
728
 
729
        MODULE OS_HIDEFROMPARENT
730
        PUBLIC OS_HIDEFROMPARENT
731
        #include "sysdefs.asm"
732
        RSEG CODE
733
OS_HIDEFROMPARENT:     
734
        push bc
735
        push ix
736
        push iy
737
        ld c,CMD_HIDEFROMPARENT
738
        call BDOS
739
        pop iy
740
        pop ix
741
    pop bc
742
        ret
743
        ENDMOD
744
 
1679 kulich 745
        MODULE OS_CLS
746
        PUBLIC OS_CLS
747
        #include "sysdefs.asm"
748
        RSEG CODE
749
OS_CLS:
750
        push bc
1684 kulich 751
        push hl
1679 kulich 752
        push ix
753
        push iy
754
        ld c,CMD_CLS
755
        call BDOS
756
        pop iy
757
        pop ix
758
        pop bc
1684 kulich 759
        pop hl
1679 kulich 760
        ret
1814 kulich 761
        ENDMOD
1679 kulich 762
 
2046 kulich 763
 
764
 
765
        MODULE OS_GETKEY
766
        PUBLIC OS_GETKEY
767
        RSEG CODE
768
OS_GETKEY:
769
        push ix
770
        push iy
771
    rst 0x08    ;out: a=key (NOKEY=no key), de=mouse position (y,x), l=mouse buttons (bits 0,1,2: 0=pressed)+mouse wheel (bits 7..4), h=high bits of key|register, bc=keynolang, lx=kempston joystick, nz=no focus (mouse position=0, ignore it!)
772
        pop iy
773
        pop ix
774
        ld l,a
775
        ld h,c
776
        ld bc,0x8000
777
        jp nz, focusFalse
778
        ld bc,0x0000
779
        focusFalse:
2184 kulich 780
        ret
2046 kulich 781
        ENDMOD
782
 
2121 kulich 783
        MODULE OS_GETMOUSE
784
        PUBLIC OS_GETMOUSE
785
        RSEG CODE
786
OS_GETMOUSE:
787
        push ix
788
        push iy
789
    rst 0x08    ;out: a=key (NOKEY=no key), de=mouse position (y,x), l=mouse buttons (bits 0,1,2: 0=pressed)+mouse wheel (bits 7..4), h=high bits of key|register, bc=keynolang, lx=kempston joystick, nz=no focus (mouse position=0, ignore it!)
790
        pop iy
791
        pop ix
2129 kulich 792
        ld h,c
2121 kulich 793
        ld b,d
794
        ld c,e
2129 kulich 795
        ret
2121 kulich 796
        ENDMOD
797
 
798
        MODULE OS_SETCOLOR
799
        PUBLIC OS_SETCOLOR
800
        #include "sysdefs.asm"
801
        RSEG CODE
802
OS_SETCOLOR
803
        push bc
804
        push hl
805
        push ix
806
        push iy
807
    ld c,CMD_SETCOLOR
808
        call BDOS
809
        pop iy
810
        pop ix
811
        pop bc
812
        pop hl
813
        ret
814
        ENDMOD
815
 
1814 kulich 816
        MODULE OS_DIHALT
817
        PUBLIC OS_DIHALT
818
        RSEG CODE
819
OS_DIHALT:
820
        DI
821
        HALT
822
        ret
823
        //ENDMOD
1386 Kulich 824
        END
825