home *** CD-ROM | disk | FTP | other *** search
/ GEMini Atari / GEMini_Atari_CD-ROM_Walnut_Creek_December_1993.iso / files / language / forst / gemdos.s < prev    next >
Encoding:
Text File  |  1993-10-23  |  1.9 KB  |  117 lines

  1. ; GEMDOS.S: non-file TOS functions
  2. ; Copyright <C> John Redmond 1989, 1990
  3. ; Public domain for non-commercial use.
  4. ;
  5.     section    text
  6.     even
  7.  
  8. _constat: movem.l d2/a2/a3/a6,-(a7)
  9.     move.w    #11,-(a7)
  10.     trap    #1
  11.     addq.l    #2,a7
  12.     movem.l (a7)+,d2/a2/a3/a6
  13.     ext.l    d0
  14.     push    d0        ;status
  15.     rts
  16. ;
  17. _prtstat: movem.l d2/a2/a3/a6,-(a7)
  18.     move.w    #17,-(a7)
  19.     trap    #1
  20.     addq.l    #2,a7
  21.     movem.l (a7)+,d2/a2/a3/a6
  22.     ext.l    d0
  23.     push    d0        ;status
  24.     rts
  25. ;
  26. _auxinstat: movem.l d2/a2/a3/a6,-(a7)
  27.     move.w    #18,-(a7)
  28.     trap    #1
  29.     addq.l    #2,a7
  30.     movem.l (a7)+,d2/a2/a3/a6
  31.     ext.l    d0
  32.     push    d0        ;status
  33.     rts
  34. ;
  35. _auxoutstat: movem.l d2/a2/a3/a6,-(a7)
  36.     move.w    #19,-(a7)
  37.     trap    #1
  38.     addq.l    #2,a7
  39.     movem.l (a7)+,d2/a2/a3/a6
  40.     ext.l    d0
  41.     push    d0        ;status
  42.     rts
  43. ;
  44. _conin: movem.l d2/a2/a3/a6,-(a7) ;without echo
  45.     move.w    #8,-(a7)
  46.     trap    #1
  47.     addq.l    #2,a7
  48.     movem.l (a7)+,d2/a2/a3/a6
  49.     clr.l    d1
  50.     move.b    d0,d1        ;remove scan code
  51.     push    d1        ;char
  52.     rts
  53. ;
  54. _conout: pop    d0
  55.     movem.l d2/a2/a3/a6,-(a7)
  56.     move.w    d0,-(a7)    ;char
  57.     move.w    #2,-(a7)    ;screen = device 2
  58.     move.w    #3,-(a7)    ;bconout of bios
  59.     trap    #13
  60.     addq.l    #6,a7
  61.     movem.l (a7)+,d2/a2/a3/a6
  62.     rts
  63. ;
  64. _auxin: movem.l d2/a2/a3/a6,-(a7)
  65.     move.w    #3,-(a7)
  66.     trap    #1
  67.     addq.l    #2,a7
  68.     movem.l (a7)+,d2/a2/a3/a6
  69.     clr.l    d1
  70.     move.b    d0,d1
  71.     push    d1        ;char
  72.     rts
  73. ;
  74. _auxout: pop    d0
  75.     movem.l d2/a2/a3/a6,-(a7)
  76.     move.w    d0,-(a7)
  77.     move.w    #4,-(a7)
  78.     trap    #1
  79.     addq.l    #4,a7
  80.     movem.l (a7)+,d2/a2/a3/a6
  81.     rts
  82. ;
  83. _prtout: pop    d0
  84.     movem.l d2/a2/a3/a6,-(a7)
  85.     move.w    d0,-(a7)
  86.     move.w    #5,-(a7)
  87.     trap    #1
  88.     addq.l    #4,a7
  89.     movem.l (a7)+,d2/a2/a3/a6
  90.     tst.w    d0
  91.     bne.s    .ptx
  92.     lea    prterr,a0
  93.     bra    _error
  94. .ptx:    rts
  95. ;
  96.     section    data
  97.     even
  98. ;
  99.     dc.b    $87,'CONSTA','T'!$80
  100.     ptrs    _constat,20
  101. ;
  102.     dc.b    $85,'CONI','N'!$80
  103.     ptrs    _conin,18
  104. ;
  105.     dc.b    $86,'CONOUT',$a0
  106.     ptrs    _conout,20
  107. ;
  108.     dc.b    $87,'PRTSTA','T'!$80
  109.     ptrs    _prtstat,20
  110. ;
  111.     dc.b    $89,'AUXINSTA','T'!$80
  112.     ptrs    _auxinstat,22
  113. ;
  114.     dc.b    $8a,'AUXOUTSTAT',$a0
  115.     ptrs    _auxoutstat,24
  116. ;
  117.