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

  1. + Ep8x3passG
  2. PRG formatted GEOS file V1.0
  3. Star NX-10
  4. OP V2.0 or higherIN.LNK
  5. EPSON24PINGC.LNK
  6. BLASTER'S CONVERTER V2.5
  7. Ep8pin3pass.lnk
  8. Okimate20G
  9. Write Image V2.0
  10. geoWrite    V2.1
  11. .Source code for graphics part of Shell Driver for IBM and Epson 3-pass smoothing.
  12. SmoothTable:
  13. @SmoothCo
  14. rner:
  15.     .byte    $44,$55,$55,$55,$44,$55,$54,$55
  16.     .byte    $40,$55,$40,$55,$44,$44,$44,$44
  17.     .byte    $13,$11,$53,$51,$55,$53,$55,$51
  18.     .byte    $33,$13,$73,$11,$57,$71,$55,$51
  19. @SmoothSi
  20.     .byte    $B3,$73,$32,$33,$33,$33,$B3,$33
  21.     .byte    $32,$33,$33,$33,$B3,$33,$B3,$33
  22.     .byte    $3B,$33,$33,$33,$33,$33,$33,$73
  23.     .byte    $33,$33,$33,$33,$33,$3B,$33,$7B
  24. @SmoothMi
  25. ddle:
  26.     .byte    $7F,$AE,$DF,$DD,$B7,$F7,$FF,$F7
  27.     .byte    $DF,$7F,$FF,$FF,$FF,$7F,$FF,$7F
  28.     .byte    $F4,$FF,$7F,$FF,$BF,$FF,$7F,$FF
  29.     .byte    $CF,$FF,$FF,$FF,$BF,$FF,$7F,$FF
  30. @CardsWid
  31. e    =80
  32. CardsLon
  33. g    =94
  34.     .include    ShellZero
  35. @Temp
  36.     .block    1
  37. @RotNeigh
  38. borhood:
  39.     .block    1
  40. @MSNeighb
  41. orhood:
  42.     .bloc
  43. @CardsWid
  44. e    =80
  45. CardsLon
  46. g    =94
  47.     .include    ShellZero
  48. @Temp
  49.     .block    1
  50. @RotNeigh
  51. borhood:
  52.     .block    1
  53. @MSNeighb
  54. orhood:
  55.     .block    1
  56. @LSNeighb
  57. orhood:
  58.     .block    1
  59. @LeftByte
  60.     .block    1
  61. @CenterBy
  62.     .block    1
  63. @RightByt
  64.     .block    1
  65. @SmoothTy
  66.     .block    1
  67.     .psect
  68. @InitForP
  69. rint:
  70. @PrintPag
  71.     ldx    #mBeginPage
  72.     jsr    SendMessage
  73. 250$    lda    #$80    ;Do bottom smoothing.
  74.     jsr    DoScan
  75.     lda    #3
  76.     jsr    MoveDown
  77.     lda    #$40
  78.     jsr    DoScan    ;Do middle smoothing.
  79.     lda    #3
  80.     jsr    MoveDown
  81.     lda    #$00
  82.     jsr    DoScan    ;Do top smoothing.
  83.     lda    #2
  84.     jsr    MoveDown
  85.     lda    PrintMode
  86.     cmp    #$3e
  87.     bcs    250$
  88.     ldx    #mEndPage
  89.     jsr    SendMessage
  90. @DoScan
  91.     sta    SmoothType
  92.     ldx    #mBeginScan
  93.     jsr    SendMessage
  94.     ldy    #1
  95. 300$    jsr    OpenWindow
  96. 400$    jsr    DoSmooth
  97.     jsr    ShiftPixels
  98.     bne    400$
  99.     ldy    ActiveColumn
  100.     cpy    #81
  101.     bcc    300$
  102.     ldx    #mEndScan
  103.     jsr    SendMessage
  104. @DoSmooth
  105.     ldx    #1
  106. 100$    lda    Window+24,x
  107.     bpl    200$
  108.     lda    Window-
  109. @DoSmooth
  110.     ldx    #1
  111. 100$    lda    Window+24,x
  112.     bpl    200$
  113.     lda    Window-1,x
  114.     ror    a
  115.     ror    Temp
  116.     lda    Window+23,x
  117.     rol    a
  118.     ror    Temp
  119.     rol    a
  120.     ror    Temp
  121.     lda    Window+24,x
  122.     rol    a
  123.     rol    a
  124.     ror    Temp
  125.     lda    Window+25,x
  126.     rol    a
  127.     rol    a
  128.     ror    Temp
  129.     ror    a
  130.     ror    Temp
  131.     lda    Window+1,x
  132.     ror    a
  133.     ror    Temp
  134.     lda    Window,x
  135.     ror    a
  136.     ror    Temp
  137.     lda    Temp
  138.     bit    SmoothType
  139.     bmi    800$    ;Do Bottom smoothing.
  140.     bvs    600$    ;Do Middle smoothing.
  141.     bvc    400$    ;Do Top smoothing.
  142. 200$    asl    LeftByte
  143.     asl    CenterByte
  144.     asl    RightByte
  145. 300$    inx
  146.     cpx    #9
  147.     bcc    100$
  148.     lda    LeftByte
  149.     jsr    SendByte
  150.     lda    CenterByte
  151.     jsr    SendByte
  152.     lda    RightByte
  153.     jsr    SendByte
  154. 400$    jsr    Rotate0    ;Top smoothing.
  155.     and    SmoothCorner,y
  156.     cmp    #1
  157.     rol    LeftByte
  158.     lda    LSNeighborhood
  159.     and    SmoothS
  160. 400$    jsr    Rotate0    ;Top smoothing.
  161.     and    SmoothCorner,y
  162.     cmp    #1
  163.     rol    LeftByte
  164.     lda    LSNeighborhood
  165.     and    SmoothSide,y
  166.     cmp    #1
  167.     rol    CenterByte
  168.     lda    RotNeighborhood
  169.     jsr    Rotate3
  170. 500$    and    SmoothCorner,y
  171. 550$    cmp    #1    ;Continue from middle smoothing.
  172.     rol    RightByte
  173.     clv        ;Return to previous page.
  174.     bvc    300$
  175. 600$    jsr    Rotate1    ;Middle smoothing.
  176.     and    SmoothSide,y
  177.     cmp    #1
  178.     rol    LeftByte
  179.     lda    LSNeighborhood
  180.     and    SmoothMiddle,y
  181.     cmp    #1
  182.     rol    CenterByte
  183.     lda    RotNeighborhood
  184.     jsr    Rotate2
  185.     and    SmoothSide,y
  186.     bvc    550$
  187. 800$    jsr    Rotate1    ;Bottom smoothing.
  188.     and    SmoothCorner,y
  189.     cmp    #1
  190.     rol    LeftByte
  191.     lda    RotNeighborhood
  192.     jsr    Rotate1
  193.     and    SmoothSide,y
  194.     cmp    #1
  195.     rol    CenterByte
  196.     lda    LSNeighborhood
  197.     bvc    500$
  198. @Rotate3
  199. :    asl    a
  200.     adc    #0
  201.     asl    a
  202.     adc    #0
  203. @Rotate2
  204. :    asl    a
  205.     adc    #0
  206.     asl    a
  207.     adc    #0
  208. @Rotate1
  209. :    asl    a
  210.     adc    #0
  211.     asl    a
  212.     adc    #0
  213. @Rotate0
  214. :    sta    RotNeighborhood
  215.     lsr    a
  216.     lsr    a
  217.     lsr    a
  218.     sta    MSNeighborhood
  219.     lda    RotNeighborhood
  220.     and    #7
  221.     lda    MaskTable,y
  222.     sta    LSNeighborhood
  223.     ldy    MSNeighborhood
  224. @MaskTabl
  225.     .byte    128,64,32,16,8,4,2,1
  226. @ColorFil
  227. ters:
  228.     .word    $0001,$0000    ;black on white.
  229. @MessageO
  230. ffset:
  231.     .byte    
  232. @ColorFil
  233. ters:
  234.     .word    $0001,$0000    ;black on white.
  235. @MessageO
  236. ffset:
  237.     .byte    <(m00-messages)
  238.     .byte    <(m01-messages)
  239.     .byte    <(m02-messages)
  240.     .byte    <(m03-messages)
  241.     .byte    <(m04-messages)
  242.     .byte    <(m05-messages)
  243.     .byte    <(m06-messages)
  244.     .byte    <(m07-messages)
  245. @MessageL
  246. ength:
  247.     .byte    <(m01-m00)
  248.     .byte    <(m02-m01)
  249.     .byte    <(m03-m02)
  250.     .byte    <(m04-m03)
  251.     .byte    <(m05-m04)
  252.     .byte    <(m06-m05)
  253.     .byte    <(m07-m06)
  254.     .byte    <(m08-m07)
  255. @messages
  256. @mBeginPa
  257. ge    =0
  258. m00:    .byte    ESC,"@"
  259. @mBeginSc
  260. an    =1
  261. m01:    .byte    ESC,"Z"
  262.     .word    1920
  263. @mEndScan
  264. m02:    .byte    CR,ESC,"J",8
  265. @mEndPage
  266. m03:    .byte    FF
  267. @mBeginTe
  268. xt    =4
  269. m04:    .byte    ESC,"@"
  270. @mEndText    
  271. m05:    .byte    FF
  272. @mTextLin
  273. eFeed    =6
  274. m06:    .byte    CR,LF
  275. @mSetNLQ
  276. m07:    .byte    ESC,"x",1
  277. HEpson
  278. H 8-pin 3-pass driver    
  279. Page: PAGE
  280. Printed on: DATE    At: TIME    File: Ep8x3passG
  281. -------------------------------------
  282. HEpson
  283. H 8-pin 3-pass driver    
  284. Page: PAGE
  285. Printed on: DATE    At: TIME    File: Ep8x3passG
  286. ----------------------------------------------------------------------------------------------
  287.