mirror of
https://github.com/antoinevignau/source.git
synced 2025-01-17 12:31:16 +00:00
1 line
4.0 KiB
Plaintext
Executable File
1 line
4.0 KiB
Plaintext
Executable File
load 'macros.dump'
|
|
include 'driver.equ'
|
|
include 'scrap.equ'
|
|
|
|
IMPORT X_AWWPtoWPScrap
|
|
IMPORT D_Close
|
|
IMPORT X_ConvertScrap
|
|
IMPORT X_DisposeWPScrap
|
|
IMPORT X_ImportWP
|
|
IMPORT X_MSGStoWPScrap
|
|
IMPORT D_Mark
|
|
IMPORT D_MarkId
|
|
IMPORT D_Message1
|
|
IMPORT D_MessageThere
|
|
IMPORT D_NeedHandle
|
|
IMPORT D_Open
|
|
IMPORT D_OpenId
|
|
IMPORT D_OpenNamePtr
|
|
IMPORT D_Read
|
|
IMPORT D_ReadId
|
|
IMPORT D_ReadPtr
|
|
IMPORT D_ReadRequest
|
|
IMPORT D_ReadWord2
|
|
IMPORT D_SendMessage
|
|
IMPORT D_Set_Mark
|
|
IMPORT X_WPtoAsciiScrap
|
|
IMPORT X_WPtoPLScrap
|
|
import D_SetMark2
|
|
import D_Read2
|
|
|
|
X_ImportWPtoAscii PROC EXPORT
|
|
|
|
input FileRef:w
|
|
|
|
local Intermed:l
|
|
|
|
output Dest:l
|
|
|
|
error err
|
|
|
|
begin
|
|
|
|
SpaceLong
|
|
PushWord FileRef
|
|
jsl X_ImportWP
|
|
sta err
|
|
PullLong Intermed
|
|
jcs exit
|
|
|
|
SpaceLong
|
|
PushLong Intermed
|
|
jsl X_WPtoAsciiScrap
|
|
sta err
|
|
PullLong Dest
|
|
|
|
PushLong Intermed
|
|
jsl X_DisposeWPScrap
|
|
|
|
exit return
|
|
|
|
ENDP
|
|
|
|
X_ImportWPtoPLText PROC EXPORT
|
|
|
|
input FileRef:w
|
|
|
|
local Intermed:l
|
|
|
|
output Dest:l
|
|
|
|
error err
|
|
|
|
begin
|
|
|
|
SpaceLong
|
|
PushWord FileRef
|
|
jsl X_ImportWP
|
|
sta err
|
|
PullLong Intermed
|
|
jcs exit
|
|
|
|
; SpaceLong
|
|
; PushLong Intermed
|
|
; jsl X_WPtoAsciiScrap
|
|
; sta err
|
|
; PullLong Dest
|
|
|
|
SpaceLong
|
|
PushWord #WPText
|
|
PushLong Intermed
|
|
PushWord #StaticText
|
|
jsl X_ConvertScrap
|
|
sta err
|
|
PullLong Dest
|
|
|
|
PushLong Intermed
|
|
jsl X_DisposeWPScrap
|
|
|
|
exit return
|
|
|
|
ENDP
|
|
|
|
X_ImportAscii PROC EXPORT
|
|
|
|
input Src:l
|
|
|
|
output Dest:l
|
|
|
|
error err
|
|
|
|
begin
|
|
|
|
MoveLong Src,Dest
|
|
MoveWord #4,err
|
|
|
|
return
|
|
ENDP
|
|
|
|
X_ImportMSGStoAscii PROC EXPORT
|
|
|
|
input Src:l
|
|
|
|
local Intermed:l
|
|
|
|
output Dest:l
|
|
|
|
error err
|
|
|
|
begin
|
|
|
|
SpaceLong
|
|
PushLong Src
|
|
jsl X_MSGStoWPScrap
|
|
sta err
|
|
PullLong Intermed
|
|
jcs exit
|
|
|
|
SpaceLong
|
|
PushLong Intermed
|
|
jsl X_WPtoAsciiScrap
|
|
sta err
|
|
PullLong Dest
|
|
|
|
PushLong Intermed
|
|
jsl X_DisposeWPScrap
|
|
|
|
exit return
|
|
|
|
|
|
ENDP
|
|
|
|
X_ImportMSGStoPLText PROC EXPORT
|
|
|
|
input Src:l
|
|
|
|
local Intermed:l
|
|
|
|
output Dest:l
|
|
|
|
error err
|
|
|
|
begin
|
|
|
|
SpaceLong
|
|
PushLong Src
|
|
jsl X_MSGStoWPScrap
|
|
sta err
|
|
PullLong Intermed
|
|
jcs exit
|
|
|
|
SpaceLong
|
|
PushLong Intermed
|
|
jsl X_WPtoPLScrap
|
|
sta err
|
|
PullLong Dest
|
|
|
|
PushLong Intermed
|
|
jsl X_DisposeWPScrap
|
|
|
|
exit return
|
|
ENDP
|
|
|
|
|
|
X_ImportAWWPtoAscii PROC EXPORT
|
|
|
|
input Src:l
|
|
|
|
local Intermed:l
|
|
|
|
output Dest:l
|
|
|
|
error err
|
|
|
|
begin
|
|
|
|
SpaceLong
|
|
PushLong Src
|
|
jsl X_AWWPtoWPScrap
|
|
sta err
|
|
PullLong Intermed
|
|
jcs exit
|
|
|
|
SpaceLong
|
|
PushLong Intermed
|
|
jsl X_WPtoAsciiScrap
|
|
sta err
|
|
PullLong Dest
|
|
|
|
PushLong Intermed
|
|
jsl X_DisposeWPScrap
|
|
|
|
exit return
|
|
ENDP
|
|
|
|
X_ImportAWWPtoPLText PROC EXPORT
|
|
|
|
input Src:l
|
|
|
|
local Intermed:l
|
|
|
|
output Dest:l
|
|
|
|
error err
|
|
|
|
begin
|
|
|
|
SpaceLong
|
|
PushLong Src
|
|
jsl X_AWWPtoWPScrap
|
|
sta err
|
|
PullLong Intermed
|
|
jcs exit
|
|
|
|
SpaceLong
|
|
PushLong Intermed
|
|
jsl X_WPtoPLScrap
|
|
sta err
|
|
PullLong Dest
|
|
|
|
PushLong Intermed
|
|
jsl X_DisposeWPScrap
|
|
|
|
exit return
|
|
ENDP
|
|
|
|
|
|
X_ImportGRScrap PROC EXPORT
|
|
;Using D_IOData
|
|
;Using X_WPFileData
|
|
;Using D_OpenData
|
|
|
|
input FileRef:w
|
|
|
|
local Total:l,Size:l,ColorHand:l
|
|
|
|
output Dest:l
|
|
|
|
error err
|
|
|
|
begin +b
|
|
|
|
stz err
|
|
|
|
Stzl Total
|
|
|
|
; Skip past version number
|
|
call D_ReadWord2,in=(FileRef:w),out=(a:w),err=err
|
|
jcs exit
|
|
|
|
|
|
; Get size of header
|
|
call D_ReadWord2,in=(FileRef:w),out=(Size:w),err=err
|
|
jcs exit
|
|
|
|
MoveLong #4,Total
|
|
|
|
; Get size of reference record
|
|
call D_ReadWord2,in=(FileRef:w),out=(Size:w),err=err
|
|
jcs exit
|
|
|
|
Addwl #2,Total
|
|
Addwl Size,Total
|
|
|
|
|
|
; Skip past it
|
|
call D_SetMark2,in=(FileRef:w,#0:w,Total:l)
|
|
|
|
; Get size of color table
|
|
call D_ReadWord2,in=(FileRef:w),out=(Size:w),err=err
|
|
jcs exit
|
|
|
|
Addwl #2,Total
|
|
Addwl Size,Total
|
|
|
|
SpaceLong
|
|
PushWord #0
|
|
PushWord Size
|
|
PushWord #$4000
|
|
jsl D_NeedHandle
|
|
sta err
|
|
PullLong ColorHand
|
|
jcs exit
|
|
MoveLong ColorHand,>D_Message1
|
|
|
|
MoveWord #3,>D_MessageThere
|
|
|
|
call D_Read2,in=(FileRef:w,[ColorHand]:l,#0:w,Size:w),out=ax:l,err=err
|
|
jcs exit
|
|
|
|
; Skip past print record
|
|
call D_ReadWord2,in=(FileRef:w),out=(Size:w),err=err
|
|
jcs exit
|
|
|
|
Addwl #2,Total
|
|
Addwl Size,Total
|
|
|
|
call D_SetMark2,in=(FileRef:w,#0:w,Total:l),err=err
|
|
jcs exit
|
|
|
|
; Ask graphics for a scrap from this file
|
|
SpaceLong
|
|
PushWord #5
|
|
PushWord #$0500
|
|
PushWord #0
|
|
PushWord FileRef
|
|
jsl D_SendMessage
|
|
sta err
|
|
PullLong Dest
|
|
|
|
exit
|
|
return
|
|
|
|
|
|
ENDP
|
|
END
|
|
|