home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
8bitfiles.net/archives
/
archives.tar
/
archives
/
canada-remote-systems
/
geos
/
drivers
/
shelldc2.sda
/
EP8X3PASSG
(
.txt
)
< prev
next >
Wrap
GEOS ConVerT
|
2019-04-13
|
6KB
|
287 lines
+ Ep8x3passG
PRG formatted GEOS file V1.0
Star NX-10
OP V2.0 or higherIN.LNK
EPSON24PINGC.LNK
BLASTER'S CONVERTER V2.5
Ep8pin3pass.lnk
Okimate20G
Write Image V2.0
geoWrite V2.1
.Source code for graphics part of Shell Driver for IBM and Epson 3-pass smoothing.
SmoothTable:
@SmoothCo
rner:
.byte $44,$55,$55,$55,$44,$55,$54,$55
.byte $40,$55,$40,$55,$44,$44,$44,$44
.byte $13,$11,$53,$51,$55,$53,$55,$51
.byte $33,$13,$73,$11,$57,$71,$55,$51
@SmoothSi
.byte $B3,$73,$32,$33,$33,$33,$B3,$33
.byte $32,$33,$33,$33,$B3,$33,$B3,$33
.byte $3B,$33,$33,$33,$33,$33,$33,$73
.byte $33,$33,$33,$33,$33,$3B,$33,$7B
@SmoothMi
ddle:
.byte $7F,$AE,$DF,$DD,$B7,$F7,$FF,$F7
.byte $DF,$7F,$FF,$FF,$FF,$7F,$FF,$7F
.byte $F4,$FF,$7F,$FF,$BF,$FF,$7F,$FF
.byte $CF,$FF,$FF,$FF,$BF,$FF,$7F,$FF
@CardsWid
e =80
CardsLon
g =94
.include ShellZero
@Temp
.block 1
@RotNeigh
borhood:
.block 1
@MSNeighb
orhood:
.bloc
@CardsWid
e =80
CardsLon
g =94
.include ShellZero
@Temp
.block 1
@RotNeigh
borhood:
.block 1
@MSNeighb
orhood:
.block 1
@LSNeighb
orhood:
.block 1
@LeftByte
.block 1
@CenterBy
.block 1
@RightByt
.block 1
@SmoothTy
.block 1
.psect
@InitForP
rint:
@PrintPag
ldx #mBeginPage
jsr SendMessage
250$ lda #$80 ;Do bottom smoothing.
jsr DoScan
lda #3
jsr MoveDown
lda #$40
jsr DoScan ;Do middle smoothing.
lda #3
jsr MoveDown
lda #$00
jsr DoScan ;Do top smoothing.
lda #2
jsr MoveDown
lda PrintMode
cmp #$3e
bcs 250$
ldx #mEndPage
jsr SendMessage
@DoScan
sta SmoothType
ldx #mBeginScan
jsr SendMessage
ldy #1
300$ jsr OpenWindow
400$ jsr DoSmooth
jsr ShiftPixels
bne 400$
ldy ActiveColumn
cpy #81
bcc 300$
ldx #mEndScan
jsr SendMessage
@DoSmooth
ldx #1
100$ lda Window+24,x
bpl 200$
lda Window-
@DoSmooth
ldx #1
100$ lda Window+24,x
bpl 200$
lda Window-1,x
ror a
ror Temp
lda Window+23,x
rol a
ror Temp
rol a
ror Temp
lda Window+24,x
rol a
rol a
ror Temp
lda Window+25,x
rol a
rol a
ror Temp
ror a
ror Temp
lda Window+1,x
ror a
ror Temp
lda Window,x
ror a
ror Temp
lda Temp
bit SmoothType
bmi 800$ ;Do Bottom smoothing.
bvs 600$ ;Do Middle smoothing.
bvc 400$ ;Do Top smoothing.
200$ asl LeftByte
asl CenterByte
asl RightByte
300$ inx
cpx #9
bcc 100$
lda LeftByte
jsr SendByte
lda CenterByte
jsr SendByte
lda RightByte
jsr SendByte
400$ jsr Rotate0 ;Top smoothing.
and SmoothCorner,y
cmp #1
rol LeftByte
lda LSNeighborhood
and SmoothS
400$ jsr Rotate0 ;Top smoothing.
and SmoothCorner,y
cmp #1
rol LeftByte
lda LSNeighborhood
and SmoothSide,y
cmp #1
rol CenterByte
lda RotNeighborhood
jsr Rotate3
500$ and SmoothCorner,y
550$ cmp #1 ;Continue from middle smoothing.
rol RightByte
clv ;Return to previous page.
bvc 300$
600$ jsr Rotate1 ;Middle smoothing.
and SmoothSide,y
cmp #1
rol LeftByte
lda LSNeighborhood
and SmoothMiddle,y
cmp #1
rol CenterByte
lda RotNeighborhood
jsr Rotate2
and SmoothSide,y
bvc 550$
800$ jsr Rotate1 ;Bottom smoothing.
and SmoothCorner,y
cmp #1
rol LeftByte
lda RotNeighborhood
jsr Rotate1
and SmoothSide,y
cmp #1
rol CenterByte
lda LSNeighborhood
bvc 500$
@Rotate3
: asl a
adc #0
asl a
adc #0
@Rotate2
: asl a
adc #0
asl a
adc #0
@Rotate1
: asl a
adc #0
asl a
adc #0
@Rotate0
: sta RotNeighborhood
lsr a
lsr a
lsr a
sta MSNeighborhood
lda RotNeighborhood
and #7
lda MaskTable,y
sta LSNeighborhood
ldy MSNeighborhood
@MaskTabl
.byte 128,64,32,16,8,4,2,1
@ColorFil
ters:
.word $0001,$0000 ;black on white.
@MessageO
ffset:
.byte
@ColorFil
ters:
.word $0001,$0000 ;black on white.
@MessageO
ffset:
.byte <(m00-messages)
.byte <(m01-messages)
.byte <(m02-messages)
.byte <(m03-messages)
.byte <(m04-messages)
.byte <(m05-messages)
.byte <(m06-messages)
.byte <(m07-messages)
@MessageL
ength:
.byte <(m01-m00)
.byte <(m02-m01)
.byte <(m03-m02)
.byte <(m04-m03)
.byte <(m05-m04)
.byte <(m06-m05)
.byte <(m07-m06)
.byte <(m08-m07)
@messages
@mBeginPa
ge =0
m00: .byte ESC,"@"
@mBeginSc
an =1
m01: .byte ESC,"Z"
.word 1920
@mEndScan
m02: .byte CR,ESC,"J",8
@mEndPage
m03: .byte FF
@mBeginTe
xt =4
m04: .byte ESC,"@"
@mEndText
m05: .byte FF
@mTextLin
eFeed =6
m06: .byte CR,LF
@mSetNLQ
m07: .byte ESC,"x",1
HEpson
H 8-pin 3-pass driver
Page: PAGE
Printed on: DATE At: TIME File: Ep8x3passG
-------------------------------------
HEpson
H 8-pin 3-pass driver
Page: PAGE
Printed on: DATE At: TIME File: Ep8x3passG
----------------------------------------------------------------------------------------------