home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / canada-remote-systems / geos / drivers / shelldc2.sda / OKIMATE20G (.txt) < prev    next >
GEOS ConVerT  |  2019-04-13  |  5KB  |  261 lines

  1. ; Okimate20G
  2. PRG formatted GEOS file V1.0
  3. Ep8pin3pass
  4. OP V2.0 or higherIAL7.REL
  5. PCHANGC.REL
  6. BLASTER'S CONVERTER V2.5
  7. Write Image V2.0
  8. geoWrite    V2.1
  9. SmoothTable:
  10. SmoothCorner:
  11.     .byte    $00,$00,$00,$00,$00,$00,$00,$00
  12.     .byte    $00,$00,$00,$00,$00,$00,$00,$00
  13.     .byte    $33,$00,$32,$00,$00,$00,$00,$00
  14.     .byte    $32,$00,$20,$00,$00,$00,$00,$00
  15.     .byte    $FF,$FF,$FF,$FF,$F7,$F7,$FF,$F7
  16.     .byte    $FF,$7F,$FF,$FF,$FF,$7F,$FF,$7F
  17.     .byte    $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
  18.     .byte    $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
  19. @CardsWid
  20. e    =80
  21. CardsLon
  22. g    =94
  23.     .include    ShellZero
  24. @RotNeigh
  25. borhood:
  26.     .block    1
  27. @CardsWid
  28. e    =80
  29. CardsLon
  30. g    =94
  31.     .include    ShellZero
  32. @RotNeigh
  33. borhood:
  34.     .block    1
  35. @MSNeighb
  36. orhood:
  37.     .block    1
  38. @LSNeighb
  39. orhood:
  40.     .block    1
  41. @LeftBotB
  42.     .block    1
  43. @LeftMidB
  44.     .block    1
  45. @LeftTopB
  46.     .block    1
  47. @RightBot
  48. Byte:
  49.     .block    1
  50. @RightMid
  51. Byte:
  52.     .block    1
  53. @RightTop
  54. Byte:
  55.     .block    1
  56.     .psect
  57. @InitForP
  58. rint:
  59. @PrintPag
  60.     ldx    #mBeginPage
  61.     jsr    SendMessage
  62. 250$    jsr    DoScan
  63.     lda    #12
  64.     jsr    MoveDown
  65.     lda    PrintMode
  66.     cmp    #$3e
  67.     bcs    250$
  68.     ldx    #mEndPage
  69.     jsr    SendMessage
  70. @DoScan
  71.     ldx    #mBeginScan
  72.     jsr    SendMessage
  73.     ldy    #1
  74. 300$    jsr    OpenWindow
  75. 400$    jsr    DoSmooth
  76.     jsr    ShiftPixels
  77.     bne    400$
  78.     ldy    ActiveColumn
  79.     cpy    #81
  80.     bcc    300$
  81.     ldx    #mEndScan
  82.     jsr    SendMessage
  83. @SendGByt
  84.     jsr    SendByte
  85.     cmp    #3
  86.     bne    200$
  87.     jsr    SendByte
  88. 200$    rts
  89. @DoSmooth
  90.     ldx    #1
  91. DSLoop:    lda    Window-1,x
  92.     ror    a
  93.     ror    temp
  94.     lda    Window+23,x
  95.     rol    a
  96.     ror    temp
  97.     rol    a
  98. @DoSmooth
  99.     ldx    #1
  100. DSLoop:    lda    Window-1,x
  101.     ror    a
  102.     ror    temp
  103.     lda    Window+23,x
  104.     rol    a
  105.     ror    temp
  106.     rol    a
  107.     ror    temp
  108.     lda    Window+24,x
  109.     rol    a
  110.     rol    a
  111.     ror    temp
  112.     lda    Window+25,x
  113.     rol    a
  114.     rol    a
  115.     ror    temp
  116.     ror    a
  117.     ror    temp
  118.     lda    Window+1,x
  119.     ror    a
  120.     ror    temp
  121.     lda    Window,x
  122.     ror    a
  123.     ror    temp
  124.     lda    temp
  125.     jsr    Rotate0    ;Top smoothing.
  126.     and    SmoothCorner,y
  127.     cmp    #1
  128.     ror    LeftBotByte
  129.     ror    LeftMidByte
  130.     ror    LeftTopByte
  131.     lda    RotNeighborhood
  132.     jsr    Rotate1
  133.     and    SmoothCorner,y
  134.     cmp    #1
  135.     ror    LeftBotByte
  136.     ror    LeftMidByte
  137.     ror    LeftTopByte
  138.     lda    RotNeighborhood
  139.     jsr    Rotate1
  140.     and    SmoothCorner,y
  141.     cmp    #1
  142.     lda    RotNeighborhood
  143.     jsr    Rotate1
  144.     and    SmoothCorner,y
  145.     cmp    #1
  146.     ror    RightBotByte
  147.     ror    RightMidByte
  148.     ror    RightTopByte
  149.     ror    RightBotByte
  150.     ror    RightMidByte
  151.     ror    RightTopByte
  152.     cpx    #13
  153.     bcc    DSLoop
  154.     lda    LeftTopByte
  155.     and    #$ff
  156.     jsr    SendGByte
  157.     lda    LeftMidByte
  158.     jsr    SendGByte
  159.     lda    LeftBotByte
  160.     jsr    SendGByte
  161.     lda    RightTopByte
  162.     and    #$ff
  163.     jsr    SendGByte
  164.     lda    RightMidByte
  165.     jsr    Se
  166.     lda    LeftTopByte
  167.     and    #$ff
  168.     jsr    SendGByte
  169.     lda    LeftMidByte
  170.     jsr    SendGByte
  171.     lda    LeftBotByte
  172.     jsr    SendGByte
  173.     lda    RightTopByte
  174.     and    #$ff
  175.     jsr    SendGByte
  176.     lda    RightMidByte
  177.     jsr    SendGByte
  178.     lda    RightBotByte
  179.     jsr    SendGByte
  180. @Rotate1
  181. :    asl    a
  182.     adc    #0
  183.     asl    a
  184.     adc    #0
  185. @Rotate0
  186. :    sta    RotNeighborhood
  187.     lda    Window+24,x
  188.     rol    a
  189.     lda    RotNeighborhood
  190.     ror    a
  191.     lsr    a
  192.     lsr    a
  193.     sta    MSNeighborhood
  194.     lda    RotNeighborhood
  195.     and    #7
  196.     lda    MaskTable,y
  197.     sta    LSNeighborhood
  198.     ldy    MSNeighborhood
  199. @MaskTabl
  200.     .byte    128,64,32,16,8,4,2,1
  201. @ColorFil
  202. ters:
  203.     .word    $0001,$0000    ;black on white.
  204. @MessageO
  205. ffset:
  206.     .byte    <(m00-messages)
  207.     .byte    <(m01-messages)
  208.     .byte    <(m02-messages)
  209.     .byte    <(m03-m
  210. @ColorFil
  211. ters:
  212.     .word    $0001,$0000    ;black on white.
  213. @MessageO
  214. ffset:
  215.     .byte    <(m00-messages)
  216.     .byte    <(m01-messages)
  217.     .byte    <(m02-messages)
  218.     .byte    <(m03-messages)
  219.     .byte    <(m04-messages)
  220.     .byte    <(m05-messages)
  221.     .byte    <(m06-messages)
  222.     .byte    <(m07-messages)
  223. @MessageL
  224. ength:
  225.     .byte    <(m01-m00)
  226.     .byte    <(m02-m01)
  227.     .byte    <(m03-m02)
  228.     .byte    <(m04-m03)
  229.     .byte    <(m05-m04)
  230.     .byte    <(m06-m05)
  231.     .byte    <(m07-m06)
  232.     .byte    <(m08-m07)
  233. @messages
  234. @mBeginPa
  235. ge    =0
  236. m00:    .byte    ESC,"@",CR
  237. @mBeginSc
  238. an    =1
  239. m01:    .byte    ESC,"R",28,3
  240. @mEndScan
  241. m02:    .byte    3,2,CR+$80,ESC,LF,24
  242. @mEndPage
  243. m03:    .byte    FF
  244. @mBeginTe
  245. xt    =4
  246. m04:    .byte    ESC,"@",CR
  247. @mEndText    
  248. m05:    .byte    FF
  249. @mTextLin
  250. eFeed    =6
  251. m06:    .byte    CR
  252. @mSetNLQ
  253. HOkimate 20 non-color driver
  254. Page: PAGE
  255. Printed on: DATE    At: TIME    File: Okimate20G
  256. --------------------
  257. HOkimate 20 non-color driver
  258. Page: PAGE
  259. Printed on: DATE    At: TIME    File: Okimate20G
  260. ----------------------------------------------------------------------------------------------
  261.