antoine-source/appleworksgs/Scrap/Src/ascii.aii
2023-03-04 03:45:20 +01:00

1 line
6.0 KiB
Plaintext
Executable File
Raw Permalink Blame History

load 'macros.dump'
include 'driver.equ'
include 'scrap.equ'
IMPORT X_AsciitoWPScrap
IMPORT D_BeachBall
IMPORT D_CurCursor
IMPORT X_DBtoPLScrap
IMPORT D_GrowHandle
IMPORT D_GrowLHandle
IMPORT D_NeedHand
IMPORT D_NeedHandle
IMPORT X_OldCursor
IMPORT X_ParBlockSize
IMPORT D_SetCursor
import X_PLtoAsciiScrap
entry X_AsciiFilter
X_DBtoAsciiScrap PROC EXPORT
input Src:l
local Intermed:l
output Dest:l
error err
begin +b
SpaceLong
PushLong Src
jsl X_DBtoPLScrap
sta err
PullLong Intermed
jcs exit
SpaceLong
PushLong Intermed
jsl X_PLtoAsciiScrap
sta err
PullLong Dest
PushLong Intermed
_DisposeHandle
exit return err
ENDP
X_ImportAsciitoWPScrap PROC EXPORT
input Src:l
local Dptr:l,Size:l
output Dest:l
error err
begin +b
PushLong Src
jsl X_AsciiFilter
SpaceLong
PushLong Src
jsl X_AsciitoWPScrap
sta err
PullLong Dest
jcs exit
exit return
ENDP
X_AsciiFilter PROC EXPORT
input Src:l
local Sptr:l,Ssize:l,EndPtr:l
begin +b
MoveLong [Src],Sptr
SpaceLong
PushLong Src
_GetHandleSize
PullLong Ssize
AddLong Sptr,Ssize,EndPtr
cloop short
lda [Sptr]
tax
lda CharTable,x
sta [Sptr]
long
IncLong Sptr
Cmpl Sptr,EndPtr
blt cloop
return
CharTable
DC.B ' ' ;0-Null
DC.B ' ' ;1-SOH
DC.B ' ' ;2-STX
DC.B ' ' ;3-ETX
DC.B ' ' ;4-EOT
DC.B ' ' ;5-ENQ
DC.B ' ' ;6-ACK
DC.B ' ' ;7-BEL
DC.B ' ' ;8-BS
DC.B 9 ;9-TAB
DC.B ' ' ;A-LF
DC.B ' ' ;B-VT
DC.B ' ' ;C-FF
DC.B $D ;D-CR
DC.B ' ' ;E-SO
DC.B ' ' ;F-SI
DC.B ' ' ;10-DLE
DC.B ' ' ;11-DC1
DC.B ' ' ;12-DC2
DC.B ' ' ;13-DC3
DC.B ' ' ;14-DC4
DC.B ' ' ;15-NAK
DC.B ' ' ;16-SYN
DC.B ' ' ;17-ETB
DC.B ' ' ;18-CAN
DC.B ' ' ;19-EM
DC.B ' ' ;1A-SUB
DC.B ' ' ;1B-ESC
DC.B ' ' ;1C-FS
DC.B ' ' ;1D-GS
DC.B ' ' ;1E-RS
DC.B ' ' ;1F-US
DC.B ' ' ;20-Space
DC.B '!' ;21-Shout
DC.B '"' ;22-Double quote
DC.B '#' ;23-Pound
DC.B '$' ;24-Dollar
DC.B '%' ;25-Percent
DC.B '&' ;26-Ampersand
DC.B $27 ;27-Single quote
DC.B '(' ;28-Left paren
DC.B ')' ;29-Right paren
DC.B '*' ;2A-Star
DC.B '+' ;2B-Plus
DC.B ',' ;2C-Comma
DC.B '-' ;2D-Minus
DC.B '.' ;2E-Period
DC.B '/' ;2F-Slash
DC.B '0' ;30-Zero
DC.B '1' ;31-One
DC.B '2' ;32-Two
DC.B '3' ;33-Three
DC.B '4' ;34-Four
DC.B '5' ;35-Five
DC.B '6' ;36-Six
DC.B '7' ;37-Seven
DC.B '8' ;38-Eight
DC.B '9' ;39-Nine
DC.B ':' ;3A-Colon
DC.B ';' ;3B-Semicolon
DC.B '<' ;3C-Less than
DC.B '=' ;3D-Equal
DC.B '>' ;3E-Greater than
DC.B '?' ;3F-Question
DC.B '@' ;40-At
DC.B 'A' ;41-A
DC.B 'B' ;42-B
DC.B 'C' ;43-C
DC.B 'D' ;44-D
DC.B 'E' ;45-E
DC.B 'F' ;46-F
DC.B 'G' ;47-G
DC.B 'H' ;48-H
DC.B 'I' ;49-I
DC.B 'J' ;4A-J
DC.B 'K' ;4B-K
DC.B 'L' ;4C-L
DC.B 'M' ;4D-M
DC.B 'N' ;4E-N
DC.B 'O' ;4F-O
DC.B 'P' ;50-P
DC.B 'Q' ;51-Q
DC.B 'R' ;52-R
DC.B 'S' ;53-S
DC.B 'T' ;54-T
DC.B 'U' ;55-U
DC.B 'V' ;56-V
DC.B 'W' ;57-W
DC.B 'X' ;58-X
DC.B 'Y' ;59-Y
DC.B 'Z' ;5A-Z
DC.B '[' ;5B-Left Bracket
DC.B '\' ;5C-Backslash
DC.B ']' ;5D-Right Bracket
DC.B '^' ;5E-Carat
DC.B '_' ;5F-Underscore
DC.B '`' ;60-Back quote
DC.B 'a' ;61-a
DC.B 'b' ;62-b
DC.B 'c' ;63-c
DC.B 'd' ;64-d
DC.B 'e' ;65-e
DC.B 'f' ;66-f
DC.B 'g' ;67-g
DC.B 'h' ;68-h
DC.B 'i' ;69-i
DC.B 'j' ;6A-j
DC.B 'k' ;6B-k
DC.B 'l' ;6C-l
DC.B 'm' ;6D-m
DC.B 'n' ;6E-n
DC.B 'o' ;6F-o
DC.B 'p' ;70-p
DC.B 'q' ;71-q
DC.B 'r' ;72-r
DC.B 's' ;73-s
DC.B 't' ;74-t
DC.B 'u' ;75-u
DC.B 'v' ;76-v
DC.B 'w' ;77-w
DC.B 'x' ;78-x
DC.B 'y' ;79-y
DC.B 'z' ;7A-z
DC.B '{' ;7B-Left brace
DC.B '|' ;7C-Pipe
DC.B '}' ;7D-Right brace
DC.B '~' ;7E-Tilde
DC.B ' ' ;7F-Del
DC.B '<27>' ;80-A umlaut
DC.B '<27>' ;81-A circle
DC.B $82 ;82-C cedilla
DC.B $83 ;83-E aigu
DC.B $84 ;84-N tilde
DC.B $85 ;85-O umlaut
DC.B $86 ;86-U umlaut
DC.B $87 ;87-a aigu
DC.B $88 ;88-a grave
DC.B $89 ;89-a circumflex
DC.B $8A ;8A-a umlaut
DC.B $8B ;8B-a tilde
DC.B $8C ;8C-a circle
DC.B $8D ;8D-c cedilla
DC.B $8E ;8E-e aigu
DC.B $8F ;8F-e grave
DC.B $90 ;90-e cicumflex
DC.B $91 ;91-e umlaut
DC.B $92 ;92-i aigu
DC.B $93 ;93-i grave
DC.B $94 ;94-i circumflex
DC.B $95 ;95-i umlaut
DC.B $96 ;96-n tilde
DC.B $97 ;97-o aigu
DC.B $98 ;98-o grave
DC.B $99 ;99-o circumflex
DC.B $9A ;9A-o umlaut
DC.B $9B ;9B-o tilde
DC.B $9C ;9C-u aigu
DC.B $9D ;9D-u grave
DC.B $9E ;9E-u circumflex
DC.B $9F ;9F-u umlaut
DC.B $A0 ;A0-Cross
DC.B $A1 ;A1-Degree
DC.B $A2 ;A2-Cent
DC.B $A3 ;A3-Sterling
DC.B $A4 ;A4-Section
DC.B $A5 ;A5-Dot
DC.B $A6 ;A6-Paragraph
DC.B $A7 ;A7-Esse
DC.B $A8 ;A8-Registered
DC.B $A9 ;A9-Copyright
DC.B $AA ;AA-Trademark
DC.B $AB ;AB-Aigu
DC.B $AC ;AC-Umlaut
DC.B $AD ;AD-Not equal
DC.B $AE ;AE-AE
DC.B $AF ;AF-O slash
DC.B $B0 ;B0-Infinity
DC.B $B1 ;B1-Plus or minus
DC.B $B2 ;B2-Less than or equal
DC.B $B3 ;B3-Greater than or equal
DC.B $B4 ;B4-Yen
DC.B $B5 ;B5-Mu
DC.B $B6 ;B6-Differential
DC.B $B7 ;B7-Sum
DC.B $B8 ;B8-Product
DC.B $B9 ;B9-Pi
DC.B $BA ;BA-Integral
DC.B $BB ;BB-Feminine
DC.B $BC ;BC-Masculine
DC.B $BD ;BD-Omega
DC.B $BE ;BE-ae
DC.B $BF ;BF-o slash
DC.B $C0 ;C0-Upside down question
DC.B $C1 ;C1-Upside down exclamation
DC.B $C2 ;C2-Not
DC.B $C3 ;C3-Radical
DC.B $C4 ;C4-Florin
DC.B $C5 ;C5-Wavy lines
DC.B $C6 ;C6-Delta
DC.B $C7 ;C7-Much less than
DC.B $C8 ;C8-Much greater than
DC.B $C9 ;C9-Elipsis
DC.B $CA ;CA-Sticky Space
DC.B $CB ;CB-A grave
DC.B $CC ;CC-A tilde
DC.B $CD ;CD-O tilde
DC.B $CE ;CE-OE
DC.B $CF ;CF-oe
DC.B $D0 ;D0-Dash
DC.B $D1 ;D1-Hyphen
DC.B $D2 ;D2-Left double quote
DC.B $D3 ;D3-Right double quote
DC.B $D4 ;D4-Left quote
DC.B $D5 ;D5-Right quote
DC.B $D6 ;D6-Divide
DC.B $D7 ;D7-Lozenge
DC.B $D8 ;D8-y umlaut
DC.B $D9 ;D9
DC.B $DA ;DA
DC.B $DB ;DB
DC.B $DC ;DC
DC.B $DE ;DD
DC.B $DE ;DE
DC.B $DF ;DF
DC.B $E0 ;E0
DC.B $E1 ;E1
DC.B $E2 ;E2
DC.B $E3 ;E3
DC.B $E4 ;E4
DC.B $E5 ;E5
DC.B $E6 ;E6
DC.B $E7 ;E7
DC.B $E8 ;E8
DC.B $E9 ;E9
DC.B $EA ;EA
DC.B $EB ;EB
DC.B $EC ;EC
DC.B $ED ;ED
DC.B $EE ;EE
DC.B $EF ;EF
DC.B $F0 ;F0
DC.B $F1 ;F1
DC.B $F2 ;F2
DC.B $F3 ;F3
DC.B $F4 ;F4
DC.B $F5 ;F5
DC.B $F6 ;F6
DC.B $F7 ;F7
DC.B $F8 ;F8
DC.B $F9 ;F9
DC.B $FA ;FA
DC.B $FB ;FB
DC.B $FC ;FC
DC.B $FD ;FD
DC.B $FE ;FE
DC.B $FF ;FF
ENDP
END