mirror of
https://github.com/antoinevignau/source.git
synced 2025-01-04 04:31:04 +00:00
4d4fb6a665
Some old (WIP) disassemblies and my own source code now available online.
2790 lines
34 KiB
ArmAsm
2790 lines
34 KiB
ArmAsm
*
|
|
* Convert 3200 (GS/OS)
|
|
*
|
|
* Module: Main
|
|
*
|
|
* (c) 1996-1997, Brutal Deluxe
|
|
*
|
|
|
|
lst off
|
|
rel
|
|
dsk Convert.32OO.l
|
|
|
|
mx %00
|
|
|
|
*---------------------------------------
|
|
* MACROS
|
|
*---------------------------------------
|
|
|
|
use 4/Ctl.Macs
|
|
use 4/Event.Macs
|
|
use 4/Int.Macs
|
|
use 4/List.Macs
|
|
use 4/Locator.Macs
|
|
use 4/Mem.Macs
|
|
use 4/Menu.Macs
|
|
use 4/Misc.Macs
|
|
use 4/Std.Macs
|
|
use 4/Util.Macs
|
|
use 4/VGA.Macs
|
|
use 4/Window.Macs
|
|
|
|
_errCANCEL MAC
|
|
lda #0
|
|
sec
|
|
rts
|
|
<<<
|
|
|
|
_errFORMAT MAC
|
|
lda #-1
|
|
sec
|
|
rts
|
|
<<<
|
|
|
|
_errSIZE MAC
|
|
lda #-2
|
|
sec
|
|
rts
|
|
<<<
|
|
|
|
_errMEMORY MAC
|
|
lda #-3
|
|
sec
|
|
rts
|
|
<<<
|
|
|
|
_errIO MAC
|
|
lda #-4
|
|
sec
|
|
rts
|
|
<<<
|
|
|
|
_errCOLORS MAC
|
|
lda #-5
|
|
sec
|
|
rts
|
|
<<<
|
|
|
|
_errCOMPRESS MAC
|
|
lda #-6
|
|
sec
|
|
rts
|
|
<<<
|
|
|
|
_errOK MAC
|
|
lda #0
|
|
clc
|
|
rts
|
|
<<<
|
|
|
|
_errSAMEDIR MAC
|
|
lda #1
|
|
sec
|
|
rts
|
|
<<<
|
|
|
|
_errEOD MAC
|
|
lda #2
|
|
sec
|
|
rts
|
|
<<<
|
|
|
|
_errNOCONVERT MAC
|
|
lda #3
|
|
sec
|
|
rts
|
|
<<<
|
|
|
|
*--- Macros QuickDraw II
|
|
|
|
_HideCursor MAC
|
|
ldx #$9004
|
|
jsl $e10000
|
|
<<<
|
|
|
|
_InitCursor MAC
|
|
ldx #$ca04
|
|
jsl $e10000
|
|
<<<
|
|
|
|
_LocalToGlobal MAC
|
|
ldx #$8404
|
|
jsl $e10000
|
|
<<<
|
|
|
|
*---------------------------------------
|
|
* CONSTANTS
|
|
*---------------------------------------
|
|
|
|
nil = $0
|
|
refIsPointer = $0
|
|
refIsHandle = $1
|
|
refIsResource = $2
|
|
|
|
ButtonItem = $0a
|
|
StatText = $0f
|
|
UserItem = $14
|
|
ItemDisable = $8000
|
|
|
|
loadSTR = $1000
|
|
saveSTR = $1001
|
|
|
|
nbBANCS = 11 ; 11 bancs de 64ko
|
|
|
|
Debut = $00
|
|
Arrivee = $04
|
|
|
|
nbPIC = 12
|
|
|
|
proDOS = $e100a8
|
|
|
|
*---------------------------------------
|
|
* ENTRY POINT
|
|
*---------------------------------------
|
|
|
|
phk
|
|
plb
|
|
|
|
_TLStartUp
|
|
pha
|
|
_MMStartUp
|
|
pla
|
|
sta myID
|
|
|
|
*--- Appui sur 'Option'
|
|
|
|
ldal $e0c025
|
|
and #%0100_0000
|
|
beq okINIT
|
|
|
|
* inc vgaSCREEN
|
|
|
|
*--- Initialisations standard
|
|
|
|
okINIT sep #$20
|
|
|
|
ldal $e0c022
|
|
sta save1
|
|
ldal $e0c029
|
|
sta save2
|
|
ldal $e0c034
|
|
sta save3
|
|
ldal $e0c035
|
|
sta save4
|
|
|
|
lda #$f0
|
|
stal $e0c022
|
|
lda #$00
|
|
stal $e0c034
|
|
|
|
rep #$20
|
|
|
|
*--- Verification de la version du systeme
|
|
|
|
jsl proDOS
|
|
dw $202a
|
|
adrl proVERSION
|
|
|
|
lda proVERSION+2
|
|
and #$0fff
|
|
cmp #$0400
|
|
bcs okINIT1
|
|
|
|
PushWord #0
|
|
PushLong #verSTR1
|
|
PushLong #errSTR2
|
|
PushLong #errSTR1
|
|
PushLong #errSTR2
|
|
_TLTextMountVolume
|
|
pla
|
|
brl initOFF1
|
|
|
|
*--- Chargement des outils
|
|
|
|
okINIT1 PushLong #0
|
|
PushWord myID
|
|
PushWord #refIsResource
|
|
PushLong #refIsHandle
|
|
_StartUpTools
|
|
PullLong SStopREF
|
|
bcc okINIT2
|
|
|
|
PushWord #0
|
|
PushLong #tolSTR1
|
|
PushLong #errSTR2
|
|
PushLong #errSTR1
|
|
PushLong #errSTR2
|
|
_TLTextMountVolume
|
|
pla
|
|
brl initOFF1
|
|
|
|
*--- Reservation memoire
|
|
|
|
okINIT2 tdc
|
|
sta myDP
|
|
|
|
*--- Lecture du mode de la souris
|
|
|
|
pha
|
|
pha
|
|
pha
|
|
_ReadMouse
|
|
pla
|
|
plx
|
|
plx
|
|
and #$00ff
|
|
sta mouseMODE
|
|
|
|
*---
|
|
|
|
jsr initQD
|
|
jsr getSPEED
|
|
jsr TWILIGHToff
|
|
|
|
PushLong #0
|
|
PushLong #$8fffff
|
|
PushWord myID
|
|
PushWord #%11000000_00000000
|
|
PushLong #0
|
|
_NewHandle
|
|
_DisposeHandle
|
|
_CompactMem
|
|
|
|
pha ; 704ko au total
|
|
pha
|
|
_FreeMem
|
|
pla
|
|
pla
|
|
cmp #nbBANCS ; 11*64ko
|
|
bcs okINIT4
|
|
|
|
okINIT3 PushWord #0
|
|
PushLong #memSTR1
|
|
PushLong #memSTR2
|
|
PushLong #errSTR1
|
|
PushLong #errSTR2
|
|
_TLTextMountVolume
|
|
pla
|
|
brl initOFF1
|
|
|
|
okINIT4 PushLong #0
|
|
PushLong #$10000
|
|
PushWord myID
|
|
PushWord #%11000000_00011100
|
|
PushLong #0
|
|
_NewHandle
|
|
ldx temp
|
|
phd
|
|
tsc
|
|
tcd
|
|
ldy #0
|
|
lda [3],y
|
|
sta ptrCODE,x
|
|
ldy #2
|
|
lda [3],y
|
|
sta ptrCODE+2,x
|
|
pld
|
|
pla
|
|
pla
|
|
bcs okINIT3
|
|
inx
|
|
inx
|
|
inx
|
|
inx
|
|
stx temp
|
|
cpx #4*nbBANCS
|
|
bne okINIT4
|
|
|
|
ldx #0 ; clear screens
|
|
txa
|
|
]lp stal $012000,x
|
|
stal $e12000,x
|
|
inx
|
|
inx
|
|
bpl ]lp
|
|
|
|
PushWord #0
|
|
PushWord #%11111111_11111111
|
|
PushWord #0
|
|
_FlushEvents
|
|
pla
|
|
|
|
brl doCODE
|
|
|
|
*--- Quitte le programme
|
|
|
|
initDOWN phk
|
|
plb
|
|
|
|
initOFF jsr TWILIGHTon
|
|
|
|
initOFF1 sep #$20
|
|
|
|
lda save4
|
|
stal $e0c035
|
|
lda save3
|
|
stal $e0c034
|
|
lda save2
|
|
stal $e0c029
|
|
lda save1
|
|
stal $e0c022
|
|
|
|
rep #$20
|
|
|
|
ldx #0 ; clear screens
|
|
txa
|
|
]lp stal $012000,x
|
|
stal $e12000,x
|
|
inx
|
|
inx
|
|
bpl ]lp
|
|
|
|
PushWord #refIsHandle
|
|
PushLong SStopREF
|
|
_ShutDownTools
|
|
|
|
PushWord myID
|
|
_DisposeAll
|
|
|
|
PushWord myID
|
|
_MMShutDown
|
|
|
|
_TLShutDown
|
|
|
|
jsl proDOS
|
|
dw $2029
|
|
adrl proQUIT
|
|
|
|
*---------------------------------------
|
|
* CHARGEMENT DES IMAGES
|
|
*---------------------------------------
|
|
|
|
doCODE lda #8
|
|
jsr GSOSgetOPEN ; Recupere les prefixes
|
|
lda #8
|
|
jsr GSOSgetSAVE
|
|
|
|
*---
|
|
|
|
lda #pINTRO ; Image de presentation
|
|
ldx ptrCODE+2
|
|
ldy ptrCODE
|
|
jsr loadFILE
|
|
|
|
ldx ptrDOC+2
|
|
ldy ptrDOC
|
|
jsr unPACK
|
|
|
|
lda #1
|
|
ldx ptrDOC+2
|
|
ldy ptrDOC
|
|
jsr fadeIN
|
|
|
|
* lda isVGA
|
|
* beq doCODE1
|
|
|
|
* PushWord #4
|
|
* _SSSetShadow
|
|
|
|
*---
|
|
|
|
doCODE1 lda #pDOC
|
|
ldx ptrDOC+2
|
|
ldy ptrDOC
|
|
jsr loadFILE
|
|
|
|
lda #pDATA1
|
|
ldx ptrDATA1+2
|
|
ldy ptrDATA1
|
|
jsr loadFILE
|
|
|
|
lda #pDATA2
|
|
ldx ptrDATA2+2
|
|
ldy ptrDATA2
|
|
jsr loadFILE
|
|
|
|
*---
|
|
|
|
lda #pSPRITE1
|
|
ldx ptrCODE+2
|
|
ldy ptrCODE
|
|
jsr loadFILE
|
|
|
|
ldx ptrSPRITE+2
|
|
ldy ptrSPRITE
|
|
jsr unPACK
|
|
|
|
lda #pSPRITE2
|
|
ldx ptrCODE+2
|
|
ldy ptrCODE
|
|
jsr loadFILE
|
|
|
|
ldx ptrSPRITE+2
|
|
lda ptrSPRITE
|
|
clc
|
|
adc #$8000
|
|
tay
|
|
jsr unPACK
|
|
|
|
*----
|
|
|
|
lda #pDATA3
|
|
ldx ptrCODE+2
|
|
ldy ptrCODE
|
|
jsr loadFILE
|
|
|
|
ldx ptrDATA3+2
|
|
lda ptrDATA3
|
|
clc
|
|
adc #$8000
|
|
tay
|
|
jsr unPACK
|
|
|
|
lda #pANNEXE
|
|
ldx ptrDATA3+2
|
|
ldy ptrDATA3
|
|
jsr loadFILE
|
|
|
|
lda #pCODE
|
|
ldx ptrCODE+2
|
|
ldy ptrCODE
|
|
jsr loadFILE
|
|
|
|
*---
|
|
|
|
lda ptrCODE ; Points to page 1
|
|
clc ; of your bank
|
|
adc #$0100 ; for returning you infos
|
|
sta Debut
|
|
lda ptrCODE+2
|
|
adc #0
|
|
sta Debut+2
|
|
|
|
ldx #0 ; All the bank addresses
|
|
txy
|
|
]lp lda ptrCODE+2,x
|
|
xba
|
|
sta [Debut],y
|
|
inx
|
|
inx
|
|
inx
|
|
inx
|
|
iny
|
|
iny
|
|
cpy #2*10
|
|
bne ]lp
|
|
|
|
ldy #$0020 ; Pointer to Quit routine
|
|
lda #initDOWN
|
|
sta [Debut],y
|
|
iny
|
|
iny
|
|
lda #^initDOWN
|
|
sta [Debut],y
|
|
|
|
ldy #$0030 ; Beware of the EOR
|
|
lda fgSPEED ; 1: accelerated GS
|
|
eor #1 ; 0: non-accelerated GS
|
|
sta [Debut],y
|
|
|
|
*---
|
|
|
|
lda ptrCODE
|
|
sta doCODE2+1
|
|
lda ptrCODE+1
|
|
clc
|
|
adc #$0002 ; page 2
|
|
sta doCODE2+2
|
|
|
|
lda #^jumpTABLE
|
|
xba
|
|
tax
|
|
ldy #jumpTABLE
|
|
doCODE2 jsl $012200 ; saut a ton code
|
|
brl initOFF
|
|
|
|
*--- Routine d'entree Titi/Toinet
|
|
|
|
jumpTABLE phb
|
|
phk
|
|
plb
|
|
jsr (jumpTABLE1,x)
|
|
plb
|
|
rtl
|
|
|
|
jumpTABLE1 da stdOPEN
|
|
da stdSAVE
|
|
da theSELCOLT
|
|
da thePALETTE
|
|
da theWINDOW
|
|
da convertALL
|
|
da convertALL10
|
|
da convertALL20
|
|
da theSCB
|
|
|
|
*---
|
|
|
|
theSELCOLT sty ptrLIGNES
|
|
lda ptrCODE+2
|
|
sta ptrLIGNES+2
|
|
clc
|
|
rts
|
|
|
|
thePALETTE sty ptrPALETTE
|
|
lda ptrCODE+2
|
|
sta ptrPALETTE+2
|
|
clc
|
|
rts
|
|
|
|
theSCB sta fgIMAGE256
|
|
sty ptrSCB
|
|
lda ptrCODE+2
|
|
sta ptrSCB+2
|
|
clc
|
|
rts
|
|
|
|
theWINDOW lda ptrCODE+1
|
|
sta showWINDOW+2
|
|
sty showWINDOW+1
|
|
clc
|
|
rts
|
|
|
|
showWINDOW jsl $012000 ; Draw The Window Info
|
|
rts
|
|
|
|
*---------------------------------------
|
|
* INITIALISATION QUICKDRAW
|
|
*---------------------------------------
|
|
|
|
initQD _HideMenuBar
|
|
_HideCursor
|
|
|
|
PushWord #0
|
|
_SetMouse
|
|
|
|
pha
|
|
pha
|
|
PushWord #5
|
|
PushLong #$4000000f
|
|
_Desktop
|
|
pla
|
|
pla
|
|
rts
|
|
|
|
initQD1 PushWord mouseMODE
|
|
_SetMouse
|
|
_InitCursor
|
|
|
|
ldx #0
|
|
txa
|
|
]lp stal $e19d00,x
|
|
stal $019d00,x
|
|
inx
|
|
inx
|
|
cpx #256*3
|
|
bne ]lp
|
|
|
|
ldx #0
|
|
]lp lda stdPAL,x
|
|
stal $e19e00,x
|
|
stal $019e00,x
|
|
inx
|
|
inx
|
|
cpx #16*2
|
|
bne ]lp
|
|
|
|
rts
|
|
|
|
*---------------------------------------
|
|
* STANDARD CALLS
|
|
*---------------------------------------
|
|
|
|
stdOPEN jsr initQD1
|
|
lda #8
|
|
jsr GSOSsetOPEN
|
|
|
|
PushWord #30 ; whereX
|
|
PushWord #35 ; whereY
|
|
PushLong #nil ; itemDrawPtr
|
|
PushWord #refIsResource ; promptRefDesc
|
|
PushLong #loadSTR ; promptRef
|
|
PushLong #nil ; filterProcPtr
|
|
PushLong #fileLIST ; typeListPtr
|
|
PushLong #openLIST ; dialogTempPtr
|
|
PushLong #openHOOK ; dialogHookPtr
|
|
PushLong #replyPTR ; replyPtr
|
|
_SFPGetFile2
|
|
|
|
jsr initQD
|
|
lda #8
|
|
jsr GSOSgetOPEN
|
|
|
|
lda replyPTR
|
|
bne stdOPEN1
|
|
_errCANCEL
|
|
|
|
stdOPEN1 lda replyPTR+$12
|
|
pha
|
|
lda replyPTR+$10
|
|
pha
|
|
_DisposeHandle
|
|
|
|
jsr GSOSgetname
|
|
jsr GSOSopen
|
|
bcs stdOPEN2
|
|
|
|
lda proEOF
|
|
ora proEOF+2
|
|
beq stdOPEN2
|
|
|
|
lda ptrBUFFER
|
|
stal $300
|
|
sta proREAD+4
|
|
lda ptrBUFFER+2
|
|
stal $302
|
|
sta proREAD+6
|
|
|
|
ldx #$0000
|
|
ldy #$0800
|
|
jsr GSOSread
|
|
bcs stdOPEN2
|
|
|
|
ldx #0
|
|
txy
|
|
jsr GSOSappend
|
|
|
|
jsr doUNPACKERS
|
|
php
|
|
pha
|
|
jsr GSOSclose
|
|
pla
|
|
plp
|
|
rts
|
|
|
|
stdOPEN2 jsr GSOSclose
|
|
_errIO
|
|
|
|
*--- Standard save
|
|
|
|
stdSAVE jsr initQD1
|
|
lda #8
|
|
jsr GSOSsetSAVE
|
|
jsr GSOSsetname
|
|
|
|
PushWord #20 ; whereX
|
|
PushWord #30 ; whereY
|
|
PushLong #nil ; itemDrawPtr
|
|
PushWord #refIsResource ; promptRefDesc
|
|
PushLong #saveSTR ; promptRef
|
|
PushWord #refIsPointer ; filenameRefDesc
|
|
PushLong #nameFILE2 ; filenameRef
|
|
PushLong #saveLIST ; dialogTempPtr
|
|
PushLong #saveHOOK ; dialogHookPtr
|
|
PushLong #replyPTR ; replyPtr
|
|
_SFPPutFile2
|
|
|
|
jsr initQD
|
|
lda #8
|
|
jsr GSOSgetSAVE
|
|
|
|
jsr getFST
|
|
|
|
lda replyPTR
|
|
bne stdSAVE1
|
|
_errCANCEL
|
|
|
|
stdSAVE1 lda fgSAVE
|
|
bne stdSAVE2
|
|
_errNOCONVERT
|
|
|
|
stdSAVE2 lda replyPTR+$12
|
|
pha
|
|
lda replyPTR+$10
|
|
pha
|
|
_DisposeHandle
|
|
|
|
lda #0
|
|
jsr GSOSsetSAVE
|
|
jsr GSOSgetname
|
|
jsr GSOSsetname
|
|
jsr doPACKERS
|
|
php
|
|
pha
|
|
jsr GSOSclose
|
|
pla
|
|
plp
|
|
rts
|
|
|
|
*---------------------------------------
|
|
* DIALOG HOOKS
|
|
*---------------------------------------
|
|
|
|
*--- Dialog Hook for OPEN
|
|
|
|
openHOOK phb ; DialogHook
|
|
phk
|
|
plb
|
|
tdc
|
|
sta saveDP
|
|
lda myDP
|
|
tcd
|
|
pla
|
|
sta openHOOK4+1
|
|
pla
|
|
sta openHOOK3+1
|
|
pla
|
|
sta Debut
|
|
pla
|
|
sta Debut+2
|
|
|
|
lda [Debut]
|
|
cmp #100
|
|
beq openHOOK1
|
|
bra openHOOK2
|
|
|
|
openHOOK1 lda #0
|
|
sta [Debut]
|
|
|
|
PushLong #mouseLOC
|
|
_GetMouse
|
|
PushLong #mouseLOC
|
|
_LocalToGlobal
|
|
PushWord #0
|
|
PushLong mouseLOC
|
|
PushLong #0
|
|
PushLong haPOPUPOPEN
|
|
_TrackControl
|
|
pla
|
|
beq openHOOK2
|
|
ply
|
|
plx
|
|
pea $0000
|
|
pea $0000
|
|
pea $0000
|
|
phx
|
|
phy
|
|
PushLong #100
|
|
_GetCtlHandleFromID
|
|
_GetCtlValue
|
|
pla
|
|
sta ctlPOPUPOPEN1
|
|
sec
|
|
sbc #100
|
|
sta menuOPEN
|
|
bra openHOOK3
|
|
|
|
openHOOK2 pla
|
|
pla
|
|
|
|
openHOOK3 pea $0000
|
|
openHOOK4 pea $0000
|
|
|
|
lda saveDP
|
|
tcd
|
|
plb
|
|
rtl
|
|
|
|
*--- Draw PopUp OPEN
|
|
|
|
drawPOPUPOPEN phb ; DrawPopUp
|
|
phk
|
|
plb
|
|
tdc
|
|
sta saveDP
|
|
lda myDP
|
|
tcd
|
|
pla
|
|
sta drawPOPUPOPEN2+1
|
|
pla
|
|
sta drawPOPUPOPEN1+1
|
|
pla
|
|
plx
|
|
pla
|
|
pea $0000
|
|
pea $0000
|
|
pha
|
|
phx
|
|
pea $0000
|
|
PushLong #ctlPOPUPOPEN
|
|
_NewControl2
|
|
PullLong haPOPUPOPEN
|
|
PushLong haPOPUPOPEN
|
|
_SetMenuBar
|
|
PushLong haPOPUPOPEN
|
|
_DrawOneCtl
|
|
|
|
drawPOPUPOPEN1 pea $0000
|
|
drawPOPUPOPEN2 pea $0000
|
|
|
|
lda saveDP
|
|
tcd
|
|
plb
|
|
rtl
|
|
|
|
*--- Dialog Hook for SAVE
|
|
|
|
saveHOOK phb ; DialogHook
|
|
phk
|
|
plb
|
|
tdc
|
|
sta saveDP
|
|
lda myDP
|
|
tcd
|
|
pla
|
|
sta saveHOOK6+1
|
|
sta saveHOOK15+1
|
|
pla
|
|
sta saveHOOK5+1
|
|
sta saveHOOK14+1
|
|
pla
|
|
sta Debut
|
|
pla
|
|
sta Debut+2
|
|
|
|
lda [Debut]
|
|
cmp #200
|
|
beq saveHOOK1
|
|
cmp #300
|
|
beq saveHOOK0
|
|
brl saveHOOK4
|
|
saveHOOK0 brl saveHOOK10
|
|
|
|
*--- PopUp Colors
|
|
|
|
saveHOOK1 lda #0 ; MODE
|
|
sta [Debut]
|
|
|
|
PushLong #mouseLOC
|
|
_GetMouse
|
|
PushLong #mouseLOC
|
|
_LocalToGlobal
|
|
PushWord #0
|
|
PushLong mouseLOC
|
|
PushLong #0
|
|
PushLong haPOPUPSAVE1
|
|
_TrackControl
|
|
pla
|
|
bne saveHOOK2
|
|
brl saveHOOK4
|
|
saveHOOK2 ply
|
|
plx
|
|
pea $0000
|
|
pea $0000
|
|
pea $0000
|
|
phx
|
|
phy
|
|
PushLong #200
|
|
_GetCtlHandleFromID
|
|
_GetCtlValue
|
|
pla
|
|
sta ctlPOPUPSAVE1
|
|
sec
|
|
sbc #200
|
|
sta menuSAVE1
|
|
cmp #5 ; PrintShop ?
|
|
beq saveHOOK3
|
|
|
|
PushLong haPOPUPSAVE10 ; non !
|
|
_SetMenuBar
|
|
PushWord #302
|
|
_EnableMItem
|
|
PushWord #303
|
|
_EnableMItem
|
|
PushWord #304
|
|
_EnableMItem
|
|
PushWord #305
|
|
_EnableMItem
|
|
PushLong haPOPUPSAVE10
|
|
_DrawOneCtl
|
|
bra saveHOOK5
|
|
|
|
saveHOOK3 PushLong haPOPUPSAVE10 ; oui !
|
|
_SetMenuBar
|
|
PushWord #302
|
|
_DisableMItem
|
|
PushWord #303
|
|
_DisableMItem
|
|
PushWord #304
|
|
_DisableMItem
|
|
PushWord #305
|
|
_DisableMItem
|
|
PushLong haPOPUPSAVE10
|
|
_DrawOneCtl
|
|
bra saveHOOK5
|
|
|
|
saveHOOK4 pla
|
|
pla
|
|
|
|
saveHOOK5 pea $0000
|
|
saveHOOK6 pea $0000
|
|
|
|
lda saveDP
|
|
tcd
|
|
plb
|
|
rtl
|
|
|
|
*--- PopUp Format de sauvegarde
|
|
|
|
saveHOOK10 lda #0 ; FORMAT
|
|
sta [Debut]
|
|
|
|
PushLong #mouseLOC
|
|
_GetMouse
|
|
PushLong #mouseLOC
|
|
_LocalToGlobal
|
|
PushWord #0
|
|
PushLong mouseLOC
|
|
PushLong #0
|
|
PushLong haPOPUPSAVE10
|
|
_TrackControl
|
|
pla
|
|
bne saveHOOK11
|
|
brl saveHOOK13
|
|
saveHOOK11 ply
|
|
plx
|
|
pea $0000
|
|
pea $0000
|
|
pea $0000
|
|
phx
|
|
phy
|
|
PushLong #300
|
|
_GetCtlHandleFromID
|
|
_GetCtlValue
|
|
pla
|
|
sta ctlPOPUPSAVE11
|
|
sec
|
|
sbc #300
|
|
sta menuSAVE10
|
|
|
|
lda fgFORMATS+8 ; PrintShop available ?
|
|
bne saveHOOK111
|
|
brl saveHOOK14
|
|
|
|
saveHOOK111 lda menuSAVE10 ; Format GS ?
|
|
cmp #1
|
|
beq saveHOOK12
|
|
|
|
PushLong haPOPUPSAVE1
|
|
_SetMenuBar
|
|
PushWord #205
|
|
_DisableMItem
|
|
PushLong haPOPUPSAVE1
|
|
_DrawOneCtl
|
|
bra saveHOOK14
|
|
|
|
saveHOOK12 PushLong haPOPUPSAVE1
|
|
_SetMenuBar
|
|
PushWord #205
|
|
_EnableMItem
|
|
PushLong haPOPUPSAVE1
|
|
_DrawOneCtl
|
|
bra saveHOOK14
|
|
|
|
saveHOOK13 pla
|
|
pla
|
|
|
|
saveHOOK14 pea $0000
|
|
saveHOOK15 pea $0000
|
|
|
|
lda saveDP
|
|
tcd
|
|
plb
|
|
rtl
|
|
|
|
*--- Draw PopUp SAVE
|
|
|
|
drawPOPUPSAVE phb ; DrawPopUp
|
|
phk
|
|
plb
|
|
tdc
|
|
sta saveDP
|
|
lda myDP
|
|
tcd
|
|
pla
|
|
sta drawPOPUPSAVE2+1
|
|
pla
|
|
sta drawPOPUPSAVE1+1
|
|
pla
|
|
plx
|
|
stx ctlTEMP
|
|
pla
|
|
sta ctlTEMP+2
|
|
pea $0000
|
|
pea $0000
|
|
pha
|
|
phx
|
|
pea $0000
|
|
PushLong #ctlPOPUPSAVE
|
|
_NewControl2
|
|
PullLong haPOPUPSAVE1
|
|
|
|
jsr getFORMATS
|
|
|
|
pea $0000
|
|
pea $0000
|
|
PushLong ctlTEMP
|
|
pea $0000
|
|
PushLong #ctlPOPUPSAVE10
|
|
_NewControl2
|
|
PullLong haPOPUPSAVE10
|
|
PushLong haPOPUPSAVE10
|
|
_SetMenuBar
|
|
PushLong haPOPUPSAVE10
|
|
_DrawOneCtl
|
|
|
|
drawPOPUPSAVE1 pea $0000
|
|
drawPOPUPSAVE2 pea $0000
|
|
|
|
lda saveDP
|
|
tcd
|
|
plb
|
|
rtl
|
|
|
|
*---
|
|
|
|
getFORMATS lda ptrCODE
|
|
sta Debut
|
|
lda ptrCODE+2
|
|
sta Debut+2
|
|
|
|
ldy #$130
|
|
ldx #0
|
|
]lp lda [Debut],y
|
|
sta fgFORMATS,x
|
|
iny
|
|
iny
|
|
inx
|
|
inx
|
|
cpx #2*5
|
|
bne ]lp
|
|
|
|
ldy #$140 ; Last conversion made
|
|
lda [Debut],y
|
|
sta temp
|
|
asl
|
|
tax
|
|
lda fgFORMATS,x
|
|
bne getFORMATS1
|
|
|
|
ldx #0
|
|
]lp lda fgFORMATS,x
|
|
bne getFORMATS0
|
|
inx
|
|
inx
|
|
cpx #2*5
|
|
bne ]lp
|
|
ldx #0
|
|
getFORMATS0 txa
|
|
lsr
|
|
sta temp
|
|
|
|
getFORMATS1 lda temp
|
|
inc
|
|
sta menuSAVE1
|
|
clc
|
|
adc #200
|
|
sta ctlPOPUPSAVE1
|
|
|
|
PushLong haPOPUPSAVE1
|
|
_SetMenuBar
|
|
|
|
PushWord #201 ; None selected
|
|
_DisableMItem
|
|
PushWord #202
|
|
_DisableMItem
|
|
PushWord #203
|
|
_DisableMItem
|
|
PushWord #204
|
|
_DisableMItem
|
|
PushWord #205
|
|
_DisableMItem
|
|
|
|
lda fgFORMATS
|
|
beq getFORMATS2
|
|
PushWord #201
|
|
_EnableMItem
|
|
getFORMATS2 lda fgFORMATS+2
|
|
beq getFORMATS3
|
|
PushWord #202
|
|
_EnableMItem
|
|
getFORMATS3 lda fgFORMATS+4
|
|
beq getFORMATS4
|
|
PushWord #203
|
|
_EnableMItem
|
|
getFORMATS4 lda fgFORMATS+6
|
|
beq getFORMATS5
|
|
PushWord #204
|
|
_EnableMItem
|
|
getFORMATS5 lda fgFORMATS+8
|
|
beq getFORMATS6
|
|
lda menuSAVE10
|
|
cmp #1
|
|
bne getFORMATS6
|
|
PushWord #205
|
|
_EnableMItem
|
|
|
|
getFORMATS6 PushLong haPOPUPSAVE1
|
|
_DrawOneCtl
|
|
|
|
lda fgFORMATS
|
|
ora fgFORMATS+2
|
|
ora fgFORMATS+4
|
|
ora fgFORMATS+6
|
|
ora fgFORMATS+8
|
|
sta fgSAVE
|
|
rts
|
|
|
|
*---------------------------------------
|
|
* CONVERT ALL
|
|
*---------------------------------------
|
|
|
|
convertALL cpy #0
|
|
bne convertALL5
|
|
|
|
jsr testPFXS ; Teste les prefixes
|
|
bcc convertALL1
|
|
rts
|
|
|
|
convertALL1 jsr initCONVERT
|
|
bcc convertALL2
|
|
rts
|
|
|
|
convertALL2 lda #pfxOPEN2
|
|
sta proOPEN+4
|
|
lda #^pfxOPEN2
|
|
sta proOPEN+6
|
|
|
|
jsr GSOSopen ; Open Current Prefix 8
|
|
|
|
lda proOPEN+2
|
|
sta proGETDIR+2
|
|
|
|
lda #1
|
|
sta fgALL
|
|
_errOK
|
|
|
|
convertALL5 stz proCLOSE+2
|
|
jsr GSOSclose
|
|
|
|
stz nameFILE2
|
|
|
|
stz fgSAVE
|
|
stz fgMODE
|
|
stz fgALL
|
|
_errEOD
|
|
|
|
*--- Chargement d'une image
|
|
|
|
convertALL10 lda #0
|
|
jsr GSOSsetOPEN
|
|
|
|
convertALL11 jsl proDOS ; Donnees du fichier X
|
|
dw $201c ; Auto-incrementation de X
|
|
adrl proGETDIR
|
|
bcs convertALL5
|
|
|
|
jsr GSOSgetname
|
|
jsr GSOSopen
|
|
bcs convertALL12
|
|
|
|
lda proEOF
|
|
ora proEOF+2
|
|
beq convertALL12
|
|
|
|
lda ptrBUFFER
|
|
sta proREAD+4
|
|
lda ptrBUFFER+2
|
|
sta proREAD+6
|
|
|
|
ldx #$0000
|
|
ldy #$0800
|
|
jsr GSOSread
|
|
bcs convertALL12
|
|
|
|
ldx #0
|
|
txy
|
|
jsr GSOSappend
|
|
|
|
jsr doUNPACKERS
|
|
bcs convertALL12
|
|
jsr GSOSclose
|
|
_errOK
|
|
convertALL12 jsr GSOSclose
|
|
bra convertALL11
|
|
|
|
*--- Sauvegarde de la conversion
|
|
|
|
convertALL20 lda #0
|
|
jsr GSOSsetSAVE
|
|
|
|
jsr GSOSgetname
|
|
jsr GSOSsetname
|
|
jsr GSOSsuffix
|
|
jsr GSOSsetname1
|
|
jsr doPACKERS
|
|
php
|
|
pha
|
|
jsr GSOSclose
|
|
pla
|
|
plp
|
|
rts
|
|
|
|
*--- Teste une conversion NONE IIgs
|
|
|
|
testIIGS lda menuOPEN ; OPEN GS
|
|
cmp #1
|
|
bne testIIGS1
|
|
lda menuSAVE10 ; SAVE GS
|
|
cmp #1
|
|
bne testIIGS1
|
|
lda fgALL ; CONVERT ALL
|
|
beq testIIGS1
|
|
lda fgMODE ; MODE NONE
|
|
cmp #4
|
|
bne testIIGS1
|
|
sec
|
|
rts
|
|
testIIGS1 clc
|
|
rts
|
|
|
|
*--- Teste les prefixes
|
|
|
|
testPFXS lda pfxOPEN2
|
|
cmp pfxSAVE2
|
|
beq testPFXS1
|
|
clc
|
|
rts
|
|
testPFXS1 dec
|
|
tax
|
|
sep #$20
|
|
]lp lda pfxOPEN2+2,x
|
|
cmp pfxSAVE2+2,x
|
|
bne testPFXS2
|
|
dex
|
|
bpl ]lp
|
|
rep #$20
|
|
_errSAMEDIR
|
|
testPFXS2 rep #$20
|
|
clc
|
|
rts
|
|
|
|
*--
|
|
|
|
initCONVERT lda ptrCODE
|
|
sta Debut
|
|
lda ptrCODE+2
|
|
sta Debut+2
|
|
|
|
ldy #$130
|
|
lda [Debut],y
|
|
sta fgMODE
|
|
cmp #4
|
|
beq initCONVERT1
|
|
inc
|
|
sta menuSAVE1
|
|
|
|
initCONVERT1 lda menuSAVE10 ; Mode NONE
|
|
cmp #1 ; save GS ?
|
|
bne initCONVERT2
|
|
lda menuOPEN
|
|
cmp #1 ; load GS ?
|
|
beq initCONVERT2
|
|
lda fgMODE ; load OTHERS, save GS
|
|
cmp #4 ; but no NONE mode
|
|
bne initCONVERT2
|
|
_errNOCONVERT
|
|
initCONVERT2 clc
|
|
rts
|
|
|
|
*--- Cherche le numero du FST save pour JudgeName
|
|
|
|
getFST stz proDINFO+2
|
|
|
|
getFST1 rep #$20
|
|
inc proDINFO+2
|
|
|
|
jsl proDOS
|
|
dw $202c
|
|
adrl proDINFO
|
|
bcc getFST2
|
|
cmp #$11
|
|
bne getFST1
|
|
rts
|
|
getFST2 jsl proDOS
|
|
dw $2008
|
|
adrl proVOLUME
|
|
|
|
sep #$20
|
|
|
|
ldx #0
|
|
]lp lda pfxVOLUME2+2,x
|
|
cmp pfxSAVE2+2,x
|
|
bne getFST1
|
|
inx
|
|
cpx pfxVOLUME2
|
|
bne ]lp
|
|
|
|
rep #$20
|
|
|
|
lda proVOLUME+18
|
|
sta proJUDGE+2
|
|
|
|
rts
|
|
|
|
*---------------------------------------
|
|
* GS/OS
|
|
*---------------------------------------
|
|
|
|
loadFILE sta proOPEN+4
|
|
sty proREAD+4
|
|
stx proREAD+6
|
|
|
|
lda #^pCODE
|
|
sta proOPEN+6
|
|
|
|
loadFILE1 jsl proDOS
|
|
dw $2010
|
|
adrl proOPEN
|
|
bcs loadERR
|
|
|
|
lda proOPEN+2
|
|
sta proREAD+2
|
|
|
|
lda proOPEN+42
|
|
sta proREAD+8
|
|
lda proOPEN+44
|
|
sta proREAD+10
|
|
|
|
jsl proDOS
|
|
dw $2012
|
|
adrl proREAD
|
|
bcs loadERR
|
|
|
|
loadFILE2 jsl proDOS
|
|
dw $2014
|
|
adrl proCLOSE
|
|
clc
|
|
rts
|
|
|
|
loadERR jsr loadFILE2
|
|
|
|
PushWord #0
|
|
PushLong #proSTR1
|
|
PushLong #errSTR2
|
|
PushLong #errSTR1
|
|
PushLong #errSTR2
|
|
_TLTextMountVolume
|
|
pla
|
|
cmp #1
|
|
bne loadERR1
|
|
brl loadFILE1
|
|
loadERR1 jmp initOFF
|
|
|
|
*---
|
|
|
|
GSOSerror ldx proERR ; Keep A if no GSOS error
|
|
bne GSOSerror1 ; occured. Useful for
|
|
sec ; unrecognized formats
|
|
rts
|
|
GSOSerror1 lda proERR
|
|
cmp #$48 ; disk full
|
|
beq GSOSerror2
|
|
cmp #$61 ; end of directory
|
|
beq GSOSerror2
|
|
lda #1
|
|
sec
|
|
rts
|
|
GSOSerror2 lda #2
|
|
sec
|
|
rts
|
|
|
|
*---
|
|
|
|
GSOSsetOPEN sta proSETPFXOPEN+2
|
|
jsl proDOS
|
|
dw $2009
|
|
adrl proSETPFXOPEN
|
|
sta proERR
|
|
rts
|
|
|
|
GSOSsetSAVE sta proSETPFXSAVE+2
|
|
jsl proDOS
|
|
dw $2009
|
|
adrl proSETPFXSAVE
|
|
sta proERR
|
|
rts
|
|
|
|
GSOSgetOPEN sta proGETPFXOPEN+2
|
|
jsl proDOS
|
|
dw $200a
|
|
adrl proGETPFXOPEN
|
|
sta proERR
|
|
rts
|
|
|
|
GSOSgetSAVE sta proGETPFXSAVE+2
|
|
jsl proDOS
|
|
dw $200a
|
|
adrl proGETPFXSAVE
|
|
sta proERR
|
|
rts
|
|
|
|
*---
|
|
|
|
GSOSgetname ldy #nameFILE2
|
|
ldx #^nameFILE2
|
|
|
|
sty proOPEN+4
|
|
sty proINFO+2
|
|
sty proCREATE+2
|
|
sty proDESTROY+2
|
|
|
|
stx proOPEN+6
|
|
stx proINFO+4
|
|
stx proCREATE+4
|
|
stx proDESTROY+4 ; ...pointer
|
|
|
|
jsl proDOS
|
|
dw $2006
|
|
adrl proINFO
|
|
sta proERR
|
|
rts
|
|
|
|
*---
|
|
|
|
GSOSsetname ldx nameFILE2 ; vire ;1
|
|
cpx #3
|
|
bcc GSOSsetname1
|
|
lda nameFILE2,x
|
|
cmp #';1'
|
|
bne GSOSsetname1
|
|
dex
|
|
dex
|
|
stx nameFILE2
|
|
|
|
GSOSsetname1 jsl proDOS
|
|
dw $2007
|
|
adrl proJUDGE
|
|
sta proERR
|
|
rts
|
|
|
|
*--- Add suffix to the name according to the selected format
|
|
|
|
GSOSsuffix lda menuSAVE10
|
|
cmp #1
|
|
bne GSOSsuffix1
|
|
rts
|
|
GSOSsuffix1 ldx nameFILE2
|
|
bne GSOSsuffix2
|
|
rts
|
|
GSOSsuffix2 ldy menuSAVE10
|
|
dey
|
|
dey
|
|
sep #$20
|
|
cpx #5
|
|
bcc GSOSsuffix3
|
|
|
|
lda nameFILE2-2,x
|
|
cmp #'.'
|
|
bne GSOSsuffix3
|
|
dex
|
|
dex
|
|
dex
|
|
dex
|
|
GSOSsuffix3 lda #'.'
|
|
sta nameFILE2+2,x
|
|
lda listSUFFIX1,y
|
|
sta nameFILE2+3,x
|
|
lda listSUFFIX2,y
|
|
sta nameFILE2+4,x
|
|
lda listSUFFIX3,y
|
|
sta nameFILE2+5,x
|
|
rep #$20
|
|
inx
|
|
inx
|
|
inx
|
|
inx
|
|
stx nameFILE2
|
|
rts
|
|
|
|
*---
|
|
|
|
GSOSopen jsl proDOS
|
|
dw $2010
|
|
adrl proOPEN
|
|
sta proERR
|
|
|
|
lda proOPEN+2
|
|
sta proGETMARK+2
|
|
sta proSETMARK+2
|
|
sta proREAD+2
|
|
sta proCLOSE+2
|
|
rts
|
|
|
|
*---
|
|
|
|
GSOSread sty proREAD+8 ; read $XXXXYYYY bytes
|
|
stx proREAD+10
|
|
|
|
jsl proDOS
|
|
dw $2012
|
|
adrl proREAD
|
|
sta proERR
|
|
rts
|
|
|
|
*---
|
|
|
|
GSOSwrite sty proWRITE+8 ; write $XXXXYYYY bytes
|
|
stx proWRITE+10
|
|
|
|
jsl proDOS
|
|
dw $2013
|
|
adrl proWRITE
|
|
sta proERR
|
|
rts
|
|
|
|
*---
|
|
|
|
GSOSclose jsl proDOS
|
|
dw $2014
|
|
adrl proCLOSE
|
|
rts
|
|
|
|
*---
|
|
|
|
GSOSnewmark sty proSETMARK+6 ; knowing the length of a block
|
|
stx proSETMARK+8 ; set new displacement
|
|
|
|
jsl proDOS
|
|
dw $2017
|
|
adrl proGETMARK
|
|
bcc GSOSnewmark1
|
|
sta proERR
|
|
rts
|
|
|
|
GSOSnewmark1 lda proGETMARK+4
|
|
clc
|
|
adc proSETMARK+6
|
|
tay
|
|
lda proGETMARK+6
|
|
adc proSETMARK+8
|
|
tax
|
|
|
|
*---
|
|
|
|
GSOSappend sty proSETMARK+6 ; append $XXXXYYYY bytes
|
|
stx proSETMARK+8
|
|
|
|
jsl proDOS
|
|
dw $2016
|
|
adrl proSETMARK
|
|
sta proERR
|
|
rts
|
|
|
|
*---
|
|
|
|
GSOSgeteof jsl proDOS
|
|
dw $2019
|
|
adrl proGETEOF
|
|
sta proERR
|
|
ldx proGETEOF+6
|
|
ldy proGETEOF+4
|
|
rts
|
|
|
|
*---
|
|
|
|
GSOScreate stx proCREATE+8 ; filetype $00XX
|
|
stx proINFO+8 ; auxtype $YYYY
|
|
sty proCREATE+10
|
|
sty proINFO+10
|
|
|
|
jsl proDOS
|
|
dw $2005
|
|
adrl proINFO
|
|
sta proERR
|
|
|
|
jsl proDOS
|
|
dw $2002
|
|
adrl proDESTROY
|
|
sta proERR
|
|
|
|
jsl proDOS
|
|
dw $2001
|
|
adrl proCREATE
|
|
bcs GSOScreate1
|
|
|
|
jsl proDOS
|
|
dw $2010
|
|
adrl proOPEN
|
|
bcs GSOScreate1
|
|
|
|
lda proOPEN+2
|
|
sta proSETMARK+2
|
|
sta proGETEOF+2
|
|
sta proWRITE+2
|
|
sta proCLOSE+2
|
|
stz proERR
|
|
rts
|
|
GSOScreate1 sta proERR
|
|
rts
|
|
|
|
*---------------------------------------
|
|
* ROUTINES GRAPHIQUES
|
|
*---------------------------------------
|
|
|
|
unPACK sty Arrivee
|
|
stx Arrivee+2
|
|
|
|
dey
|
|
sty $0C
|
|
|
|
lda ptrCODE
|
|
sta Debut
|
|
lda ptrCODE+2
|
|
sta Debut+2
|
|
|
|
lda ptrCODE
|
|
clc
|
|
adc #$4000
|
|
sta $1e
|
|
clc
|
|
adc #$2000
|
|
sta $22
|
|
lda ptrCODE+2
|
|
sta $20
|
|
sta $24
|
|
|
|
ldy #$3fff
|
|
lda #0
|
|
]lp sta [$1e],y
|
|
dey
|
|
dey
|
|
bpl ]lp
|
|
|
|
lda #$0009
|
|
sta L0517+1
|
|
lda #$01FF
|
|
sta L051E+1
|
|
stz $1C
|
|
pea $FFFF
|
|
|
|
L042C jsr L04E8
|
|
cmp #$0101
|
|
bne L042D
|
|
brl L04A4
|
|
L042D cmp #$0100
|
|
beq L0491
|
|
sta $12
|
|
cmp $14
|
|
bcc L0443
|
|
lda $10
|
|
pei $0E
|
|
L0443 cmp #$0100
|
|
bcc L0455
|
|
asl
|
|
L0449 tay
|
|
lda [$22],Y
|
|
pha
|
|
lda [$1E],Y
|
|
cmp #$0200
|
|
bcs L0449
|
|
lsr
|
|
L0455 and #$00FF
|
|
sta $0E
|
|
sta $1A
|
|
ldy #$0000
|
|
L045F sta [Arrivee],Y
|
|
iny
|
|
pla
|
|
bpl L045F
|
|
pha
|
|
tya
|
|
clc
|
|
adc Arrivee
|
|
sta Arrivee
|
|
|
|
lda $0C
|
|
sec
|
|
sbc Arrivee
|
|
bpl L04A4
|
|
|
|
jsr L04D8
|
|
lda $12
|
|
sta $10
|
|
lda $14
|
|
cmp $18
|
|
bcc L048F
|
|
lda L0517+1
|
|
cmp #$000C
|
|
beq L048F
|
|
inc
|
|
sta L0517+1
|
|
asl
|
|
tax
|
|
lda packMASK-$12,X
|
|
sta L051E+1
|
|
asl $18
|
|
L048F bra L042C
|
|
L0491 jsr L04C1
|
|
jsr L04E8
|
|
sta $10
|
|
sta $1A
|
|
sta $0E
|
|
sta [Arrivee]
|
|
|
|
inc Arrivee
|
|
jmp L042C
|
|
|
|
L04A4 pla
|
|
rts
|
|
|
|
L04C1 lda #$0009
|
|
sta L0517+1
|
|
lda #$01FF
|
|
sta L051E+1
|
|
lda #$0200
|
|
sta $18
|
|
lda #$0102
|
|
sta $14
|
|
rts
|
|
|
|
L04D8 lda $14
|
|
asl
|
|
tay
|
|
lda $1A
|
|
sta [$22],Y
|
|
lda $10
|
|
asl
|
|
sta [$1E],Y
|
|
inc $14
|
|
rts
|
|
|
|
L04E8 lda $1C
|
|
and #$0007
|
|
tax
|
|
lda $1C
|
|
lsr
|
|
lsr
|
|
lsr
|
|
cmp #$03FD
|
|
bcc L0502
|
|
clc
|
|
adc Debut
|
|
sta Debut
|
|
lda Debut+2
|
|
adc #0
|
|
sta Debut+2
|
|
stx $1C
|
|
lda #$0000
|
|
L0502 tay
|
|
lda [Debut],Y
|
|
sta $08
|
|
iny
|
|
iny
|
|
lda [Debut],Y
|
|
txy
|
|
beq L0514
|
|
L050E lsr
|
|
L050F ror $08
|
|
dex
|
|
bne L050E
|
|
L0514 lda $1C
|
|
clc
|
|
L0517 adc #$FFFF ; $0009 on beginning
|
|
sta $1C
|
|
lda $08
|
|
L051E and #$FFFF ; $01FF on beginning
|
|
rts
|
|
|
|
*--- Fade In
|
|
|
|
fadeIN sty Debut
|
|
stx Debut+2
|
|
|
|
lda #$2000
|
|
sta Arrivee
|
|
lda #$00e1
|
|
sta Arrivee+2
|
|
|
|
ldy #$7dfe
|
|
]lp lda [Debut],y
|
|
sta [Arrivee],y
|
|
dey
|
|
dey
|
|
bpl ]lp
|
|
|
|
lda Debut
|
|
clc
|
|
adc #$7e00
|
|
sta Debut
|
|
lda Debut+2
|
|
adc #0
|
|
sta Debut+2
|
|
|
|
lda Arrivee
|
|
clc
|
|
adc #$7e00
|
|
sta Arrivee
|
|
lda Arrivee+2
|
|
adc #0
|
|
sta Arrivee+2
|
|
|
|
ldx #$000f
|
|
fadeIN2 ldy #$01fe
|
|
fadeIN3 lda [Arrivee],y
|
|
and #$000f
|
|
sta temp
|
|
lda [Debut],y
|
|
and #$000f
|
|
cmp temp
|
|
beq fadeIN4
|
|
lda [Arrivee],y
|
|
clc
|
|
adc #$0001
|
|
sta [Arrivee],y
|
|
fadeIN4 lda [Arrivee],y
|
|
and #$00f0
|
|
sta temp
|
|
lda [Debut],y
|
|
and #$00f0
|
|
cmp temp
|
|
beq fadeIN5
|
|
lda [Arrivee],y
|
|
clc
|
|
adc #$0010
|
|
sta [Arrivee],y
|
|
fadeIN5 lda [Arrivee],y
|
|
and #$0f00
|
|
sta temp
|
|
lda [Debut],y
|
|
and #$0f00
|
|
cmp temp
|
|
beq fadeIN6
|
|
lda [Arrivee],y
|
|
clc
|
|
adc #$0100
|
|
sta [Arrivee],y
|
|
|
|
fadeIN6 dey
|
|
dey
|
|
bpl fadeIN3
|
|
dex
|
|
bpl fadeIN2
|
|
rts
|
|
|
|
*---------------------------------------
|
|
* SPEED OF THE IIgs
|
|
*---------------------------------------
|
|
|
|
getSPEED sei ; Vitesse GS
|
|
ldal $e0c035
|
|
pha
|
|
and #$ff00
|
|
stal $e0c035
|
|
|
|
ldx #0
|
|
getSPEED1 lda getSPEED,X
|
|
inx
|
|
inx
|
|
cpx #$0110
|
|
bcc getSPEED1
|
|
|
|
ldy #12
|
|
ldal $e0c02b
|
|
and #$0010
|
|
beq getSPEED2
|
|
dey
|
|
dey
|
|
|
|
getSPEED2 ldx #0
|
|
]lp ldal $e0c018
|
|
bmi ]lp
|
|
]lp ldal $e0c018
|
|
bpl ]lp
|
|
getSPEED3 nop
|
|
nop
|
|
getSPEED4 inx
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
ldal $e0c018
|
|
bmi getSPEED3
|
|
getSPEED5 inx
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
ldal $e0c018
|
|
bpl getSPEED5
|
|
dey
|
|
bne getSPEED4
|
|
|
|
txa
|
|
lsr
|
|
ldx #0
|
|
txy
|
|
]lp cmp parmsSPEED,y
|
|
bcc getSPEED6
|
|
sbc parmsSPEED,y
|
|
inc realSPEED,x
|
|
bra ]lp
|
|
getSPEED6 iny
|
|
iny
|
|
inx
|
|
cpy #10
|
|
bne ]lp
|
|
|
|
lda realSPEED
|
|
and #$00ff
|
|
bne getSPEED7 ; >=10 mhz
|
|
|
|
lda realSPEED+1
|
|
xba
|
|
cmp #$0208 ; >=2.8
|
|
bcs getSPEED7
|
|
|
|
inc fgSPEED
|
|
|
|
getSPEED7 pla
|
|
stal $e0c035
|
|
cli
|
|
rts
|
|
|
|
*---------------------------------------
|
|
* TURNING OFF TWILIGHT II
|
|
*---------------------------------------
|
|
|
|
TWILIGHToff ldal $e11600
|
|
sta Debut
|
|
ldal $e11602
|
|
sta Debut+2
|
|
|
|
TWILIGHToff1 ldy #8
|
|
lda [Debut],y
|
|
cmp #$49bf
|
|
bne TWILIGHToff2
|
|
|
|
ldy #0
|
|
lda [Debut],y
|
|
sta Arrivee
|
|
sta TWILIGHTad
|
|
iny
|
|
iny
|
|
lda [Debut],y
|
|
sta Arrivee+2
|
|
sta TWILIGHTad+2
|
|
|
|
ldy #$117a
|
|
lda [Arrivee],y
|
|
cmp #$0ef0
|
|
bne TWILIGHToff2
|
|
lda #$0e80
|
|
sta [Arrivee],y
|
|
inc TWILIGHTfg
|
|
rts
|
|
|
|
TWILIGHToff2 ldy #16
|
|
lda [Debut],y
|
|
tax
|
|
iny
|
|
iny
|
|
lda [Debut],y
|
|
sta Debut+2
|
|
txa
|
|
sta Debut
|
|
|
|
lda Debut
|
|
ora Debut+2
|
|
bne TWILIGHToff1
|
|
rts
|
|
|
|
TWILIGHTon lda TWILIGHTfg
|
|
bne TWILIGHTon1
|
|
rts
|
|
TWILIGHTon1 lda TWILIGHTad
|
|
sta Arrivee
|
|
lda TWILIGHTad+2
|
|
sta Arrivee+2
|
|
ldy #$117a
|
|
lda #$0ef0
|
|
sta [Arrivee],y
|
|
rts
|
|
|
|
*---------------------------------------
|
|
* DATA
|
|
*---------------------------------------
|
|
|
|
*--- Vitesse GS
|
|
|
|
fgSPEED ds 2
|
|
parmsSPEED dw 10000
|
|
dw 1000
|
|
dw 100
|
|
dw 10
|
|
dw 1
|
|
realSPEED ds 5
|
|
|
|
*--- Twilight II
|
|
|
|
TWILIGHTad ds 4
|
|
TWILIGHTfg ds 2
|
|
|
|
*--- Memoire
|
|
|
|
SStopREF ds 4
|
|
|
|
myID ds 2
|
|
myDP ds 2
|
|
saveDP ds 2
|
|
|
|
ptrCODE ds 4
|
|
ptrDOC ds 4
|
|
ptrDATA1 ds 4
|
|
ptrDATA2 ds 4
|
|
ptrSPRITE ds 4
|
|
ptrDATA3 ds 4
|
|
ptrPIC16 ds 4
|
|
ptrPIC256 ds 4
|
|
ptrPIC8BIT ds 4
|
|
ptrTRAVAIL ds 4
|
|
ptrBUFFER ds 4
|
|
|
|
ptrLIGNES ds 4
|
|
ptrPALETTE ds 4
|
|
ptrSCB ds 4
|
|
|
|
*--- Flags
|
|
|
|
save1 ds 1
|
|
save2 ds 1
|
|
save3 ds 1
|
|
save4 ds 1
|
|
|
|
fgLOAD ds 2 ; <>0 if picture loaded
|
|
fgSAVE ds 2 ; <>0 if loaded picture saved
|
|
fgALL ds 2 ; <>0 if convert all
|
|
fgIMAGE256 ds 2
|
|
|
|
mouseMODE ds 2
|
|
|
|
*--- Decompression
|
|
|
|
packMASK dw $01ff
|
|
dw $03ff
|
|
dw $07ff
|
|
dw $0fff
|
|
dw $0000
|
|
|
|
temp ds 4
|
|
|
|
*--- Tool locator
|
|
|
|
memSTR1 str 'Memory allocation error'
|
|
memSTR2 str 'Program requires 704kb free'
|
|
verSTR1 str 'System 6.x required'
|
|
proSTR1 str 'Error while loading file'
|
|
tolSTR1 str 'Error while loading tools'
|
|
errSTR1 str 'Quit'
|
|
errSTR2 str ''
|
|
|
|
*--- Fichiers de demarrage
|
|
|
|
pCODE strl '1/Convert.Data/Convert'
|
|
pINTRO strl '1/Convert.Data/Intro'
|
|
pANNEXE strl '1/Convert.Data/Texte'
|
|
pDOC strl '1/Convert.Data/Doc'
|
|
pDATA1 strl '1/Convert.Data/Data1'
|
|
pDATA2 strl '1/Convert.Data/Data2'
|
|
pDATA3 strl '1/Convert.Data/Data3'
|
|
pSPRITE1 strl '1/Convert.Data/Sprite1'
|
|
pSPRITE2 strl '1/Convert.Data/Sprite2'
|
|
|
|
*--- Palette standard 320 IIgs
|
|
|
|
stdPAL dw $0000,$0777,$0841,$072c
|
|
dw $000f,$0080,$0f70,$000d
|
|
dw $0fa9,$0ff0,$00e0,$04df
|
|
dw $0daf,$078f,$0ccc,$0fff
|
|
|
|
*--- Standard File
|
|
|
|
strSAVE str 'Save'
|
|
strOPEN str 'Open'
|
|
strCLOSE str 'Close'
|
|
strNEXT str 'Disk'
|
|
strCANCEL str 'Cancel'
|
|
strACCEPT str 'Accept'
|
|
strFREE str '^0 free of ^1 k.'
|
|
strFOLDER str 'New Folder'
|
|
|
|
openLIST dw 0,0,130,260
|
|
dw -1
|
|
dw 0,0
|
|
adrl openOPEN
|
|
adrl openCLOSE
|
|
adrl openNEXT
|
|
adrl openCANCEL
|
|
adrl openSCROLL
|
|
adrl openPATH
|
|
adrl openFILES
|
|
adrl openPROMPT
|
|
adrl openPOPUP
|
|
adrl 0
|
|
|
|
openOPEN dw 1
|
|
dw 53,160,65,255
|
|
dw ButtonItem
|
|
adrl strOPEN
|
|
dw 0,0
|
|
adrl 0
|
|
|
|
openCLOSE dw 2
|
|
dw 71,160,83,255
|
|
dw ButtonItem
|
|
adrl strCLOSE
|
|
dw 0,0
|
|
adrl 0
|
|
|
|
openNEXT dw 3
|
|
dw 27,160,39,255
|
|
dw ButtonItem
|
|
adrl strNEXT
|
|
dw 0,0
|
|
adrl 0
|
|
|
|
openCANCEL dw 4
|
|
dw 97,160,109,255
|
|
dw ButtonItem
|
|
adrl strCANCEL
|
|
dw 0,0
|
|
adrl 0
|
|
|
|
openSCROLL dw 5
|
|
dw 118,160,130,255
|
|
dw ButtonItem
|
|
adrl strACCEPT
|
|
dw 0,0
|
|
adrl 0
|
|
|
|
openPATH dw 6
|
|
dw 14,6,26,256
|
|
dw UserItem
|
|
adrl 0
|
|
dw 0,0
|
|
adrl 0
|
|
|
|
openFILES dw 7
|
|
dw 27,5,109,140
|
|
dw UserItem+ItemDisable
|
|
adrl 0
|
|
dw 0,0
|
|
adrl 0
|
|
|
|
openPROMPT dw 8
|
|
dw 3,5,12,255
|
|
dw StatText+ItemDisable
|
|
adrl 0
|
|
dw 0,0
|
|
adrl 0
|
|
|
|
openPOPUP dw 100
|
|
dw 112,10,128,270
|
|
dw UserItem
|
|
adrl drawPOPUPOPEN
|
|
dw 0,0
|
|
adrl 0
|
|
|
|
*--- Data pour le PopUp OPEN
|
|
|
|
mouseLOC ds 4
|
|
ctlTEMP ds 4
|
|
|
|
haPOPUPOPEN ds 4
|
|
menuOPEN dw 1 ; Par Defaut
|
|
|
|
ctlPOPUPOPEN dw 10
|
|
adrl 100
|
|
dw 112,10,0,0
|
|
adrl $87000000
|
|
dw $0040
|
|
dw $1004
|
|
dw $0000
|
|
ds 4
|
|
adrl ctlPOPUPOPEN2
|
|
ctlPOPUPOPEN1 dw 101
|
|
ds 2
|
|
ds 2
|
|
|
|
ctlPOPUPOPEN2 asc '$$Load: \N100'00
|
|
asc '--IIgs Formats\N101'00
|
|
asc '--Windows/OS2 BMP\N102'00
|
|
asc '--Compuserve GIF\N103'00
|
|
asc '--IFF/LBM\N104'00
|
|
asc '--Paintbrush PCX\N105'00
|
|
asc '--TIFF\N106'00
|
|
asc '--Raw Binary PC\N107'00
|
|
asc '--Atari ST Formats\N108'00
|
|
asc '--Windows Icons\N109'00
|
|
asc '--Windows Cursors\N110'00
|
|
asc '--Mac Paint\N111'00
|
|
asc '.'
|
|
|
|
*---
|
|
|
|
saveLIST dw 0,0,140,280
|
|
dw -1
|
|
dw 0,0
|
|
adrl saveSAVE
|
|
adrl saveOPEN
|
|
adrl saveCLOSE
|
|
adrl saveNEXT
|
|
adrl saveCANCEL
|
|
adrl L060949
|
|
adrl L060961
|
|
adrl L060979
|
|
adrl L060991
|
|
adrl L0609A9
|
|
adrl saveFREE
|
|
adrl saveFOLDER
|
|
adrl savePOPUP1
|
|
adrl savePOPUP10
|
|
adrl $00000000
|
|
|
|
saveSAVE dw $0001
|
|
dw $0057
|
|
dw $00BC
|
|
dw $0063
|
|
dw $0111
|
|
dw $000A
|
|
adrl strSAVE
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
|
|
saveOPEN dw $0002
|
|
dw $0031
|
|
dw $00BC
|
|
dw $003D
|
|
dw $0111
|
|
dw $000A
|
|
adrl strOPEN
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
|
|
saveCLOSE dw $0003
|
|
dw $0040
|
|
dw $00BC
|
|
dw $004C
|
|
dw $0111
|
|
dw $000A
|
|
adrl strCLOSE
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
|
|
saveNEXT dw $0004
|
|
dw $000F
|
|
dw $00BC
|
|
dw $001B
|
|
dw $0111
|
|
dw $000A
|
|
adrl strNEXT
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
|
|
saveCANCEL dw $0005
|
|
dw $0068
|
|
dw $00BC
|
|
dw $0074
|
|
dw $0111
|
|
dw $000A
|
|
adrl strCANCEL
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
|
|
L060949 dw $0006
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0014
|
|
adrl $00000000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
|
|
L060961 dw $0007
|
|
dw $0000
|
|
dw $000A
|
|
dw $000C
|
|
dw $0116
|
|
dw $0014
|
|
adrl $00000000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
|
|
L060979 dw $0008
|
|
dw $001A
|
|
dw $000A
|
|
dw $0058
|
|
dw $009C
|
|
dw $8014
|
|
adrl $00000000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
|
|
L060991 dw $0009
|
|
dw $0058
|
|
dw $000A
|
|
dw $0064
|
|
dw $00AC
|
|
dw $800F
|
|
adrl $00000000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
|
|
L0609A9 dw $000A
|
|
dw $0064
|
|
dw $000A
|
|
dw $0076
|
|
dw $00AC
|
|
dw $8011
|
|
adrl $00000000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
|
|
saveFREE dw $000B
|
|
dw $000E
|
|
dw $000A
|
|
dw $0018
|
|
dw $00B8
|
|
dw $800F
|
|
adrl strFREE
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
|
|
saveFOLDER dw $000C
|
|
dw $001D
|
|
dw $00BC
|
|
dw $0029
|
|
dw $0111
|
|
dw $000A
|
|
adrl strFOLDER
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
dw $0000
|
|
|
|
savePOPUP1 dw 200
|
|
dw 122,10,138,168
|
|
dw UserItem
|
|
adrl drawPOPUPSAVE
|
|
dw 0,0
|
|
adrl 0
|
|
|
|
savePOPUP10 dw 300
|
|
dw 122,170,138,248
|
|
dw UserItem
|
|
adrl drawPOPUPSAVE
|
|
dw 0,0
|
|
adrl 0
|
|
|
|
*--- Data pour le PopUp SAVE
|
|
|
|
haPOPUPSAVE1 ds 4
|
|
haPOPUPSAVE10 ds 4
|
|
menuSAVE1 dw 1 ; Par Defaut
|
|
menuSAVE10 dw 1 ; Par Defaut
|
|
|
|
ctlPOPUPSAVE dw 10
|
|
adrl 200
|
|
dw 122,10,0,0
|
|
adrl $87000000
|
|
dw $0040
|
|
dw $1004
|
|
dw $0000
|
|
ds 4
|
|
adrl ctlPOPUPSAVE2
|
|
ctlPOPUPSAVE1 dw 201
|
|
ds 2
|
|
ds 2
|
|
|
|
ctlPOPUPSAVE2 asc '$$ \N200'00
|
|
asc '--3200 colors\N201'00
|
|
asc '--256 colors\N202'00
|
|
asc '--16 colors\N203'00
|
|
asc '--16 greyscales\N204'00
|
|
asc '--PrintShop\N205'00
|
|
asc '.'
|
|
|
|
ctlPOPUPSAVE10 dw 10
|
|
adrl 300
|
|
dw 122,170,0,0
|
|
adrl $87000000
|
|
dw $0040
|
|
dw $1004
|
|
dw $0000
|
|
ds 4
|
|
adrl ctlPOPUPSAVE12
|
|
ctlPOPUPSAVE11 dw 301
|
|
ds 2
|
|
ds 2
|
|
|
|
ctlPOPUPSAVE12 asc '$$ \N300'00
|
|
asc '--Apple\N301'00
|
|
asc '--BMP\N302'00
|
|
asc '--PCX\N303'00
|
|
asc '--TIFF\N304'00
|
|
asc '--BIN\N305'00
|
|
asc '--RAW\N306'00
|
|
asc '.'
|
|
|
|
*--- Formats de sauvegarde
|
|
|
|
fgFORMATS ds 2*5
|
|
fgMODE ds 2
|
|
|
|
*---
|
|
|
|
listSUFFIX1 asc 'BPTBR' ; Suffixes des noms de fichiers
|
|
listSUFFIX2 asc 'MCIIA'
|
|
listSUFFIX3 asc 'PXFNW'
|
|
|
|
fileLIST dw $0006
|
|
dw $8000 ; UNK
|
|
dw $0000
|
|
adrl $0000
|
|
dw $8000 ; TXT
|
|
dw $0004
|
|
adrl $0000
|
|
dw $8000 ; BIN
|
|
dw $0006
|
|
adrl $0000
|
|
dw $8000 ; PNT
|
|
dw $00c0
|
|
adrl $0000
|
|
dw $8000 ; PIC
|
|
dw $00c1
|
|
adrl $0000
|
|
dw $8000 ; USER 1
|
|
dw $00f1
|
|
adrl $0004
|
|
|
|
replyPTR ds 2 ; good
|
|
ds 2 ; fileType
|
|
ds 4 ; auxType
|
|
dw $0000 ; nameRefDesc
|
|
adrl nameFILE ; nameRef
|
|
dw $0003 ; pathRefDesc
|
|
ds 4 ; pathRef
|
|
|
|
nameFILE dw 128
|
|
nameFILE2 ds 126
|
|
|
|
*--- GS/Operating System
|
|
|
|
proERR ds 2
|
|
|
|
proCREATE dw 7
|
|
ds 4 ; Pathname
|
|
dw $e3 ; AccessCode
|
|
ds 2 ; FileType
|
|
ds 4 ; AuxType
|
|
dw $02 ; Type d'enregistrement
|
|
ds 4 ; Data segment
|
|
ds 4 ; Resource segment
|
|
|
|
proDESTROY dw 1
|
|
ds 4 ; Pathname
|
|
|
|
proINFO dw 9
|
|
ds 4 ; Pathname
|
|
dw $e3 ; AccessCode
|
|
ds 2 ; FileType
|
|
ds 4 ; AuxType
|
|
dw $02 ; StorageType
|
|
ds 8 ; CreateTD
|
|
ds 8 ; ModifyTD
|
|
ds 4 ; OptionList
|
|
ds 4 ; EOF
|
|
|
|
proSETPFXOPEN dw 2
|
|
dw 8 ; PrefixNum
|
|
adrl pfxOPEN2 ; Prefix
|
|
|
|
proSETPFXSAVE dw 2
|
|
dw 8 ; PrefixNum
|
|
adrl pfxSAVE2 ; Prefix
|
|
|
|
proGETPFXOPEN dw 2
|
|
dw 8 ; PrefixNum
|
|
adrl pfxOPEN ; Prefix
|
|
|
|
proGETPFXSAVE dw 2
|
|
dw 8 ; PrefixNum
|
|
adrl pfxSAVE ; Prefix
|
|
|
|
proOPEN dw 12
|
|
ds 2 ; Id
|
|
adrl pCODE ; Pathname
|
|
ds 2 ; RequestAccess
|
|
ds 2 ; ResourceNum
|
|
ds 2 ; AccessCode
|
|
ds 2 ; FileType
|
|
ds 4 ; AuxType
|
|
ds 2 ; StorageType
|
|
ds 8 ; CreateTD
|
|
ds 8 ; ModifyTD
|
|
ds 4 ; OptionList
|
|
proEOF ds 4 ; EOF
|
|
|
|
proREAD dw 5
|
|
ds 2 ; Id
|
|
ds 4 ; Where
|
|
ds 4 ; Length
|
|
ds 4 ; Read
|
|
ds 2 ; CachePriority
|
|
|
|
proWRITE dw 5
|
|
ds 2 ; Id
|
|
ds 4 ; Where
|
|
ds 4 ; Length
|
|
ds 4 ; Written
|
|
ds 2 ; CachePriority
|
|
|
|
proCLOSE dw 1
|
|
ds 2 ; Id
|
|
|
|
proGETMARK dw 2
|
|
ds 2 ; Id
|
|
ds 4 ; Displacement
|
|
|
|
proSETMARK dw 3
|
|
ds 2 ; Id
|
|
ds 2 ; Base
|
|
ds 4 ; Displacement
|
|
|
|
proGETEOF dw 2
|
|
ds 2 ; Id
|
|
ds 4 ; Eof
|
|
|
|
proGETDIR dw 13
|
|
ds 2 ; ref_num
|
|
ds 2 ; flags
|
|
dw 1 ; base
|
|
dw 1 ; displacement
|
|
adrl nameFILE ; name_buffer
|
|
dw 2 ; entry_num
|
|
dw 2 ; file_type
|
|
adrl 4 ; eof
|
|
ds 4 ; block_count
|
|
ds 8 ; create_td
|
|
ds 8 ; modify_td
|
|
ds 2 ; access
|
|
ds 4 ; aux_type
|
|
|
|
proVERSION dw 1
|
|
ds 2 ; Version
|
|
|
|
proQUIT dw 2
|
|
ds 4 ; PathName
|
|
ds 2 ; Flags
|
|
|
|
proDINFO dw 10
|
|
ds 2 ; DevNum
|
|
adrl pfxINFO ; DevName
|
|
ds 2 ; Characteristics
|
|
ds 4 ; TotalBlocks
|
|
ds 2 ; SlotNum
|
|
ds 2 ; UnitNum
|
|
ds 2 ; Version
|
|
ds 2 ; DeviceIDNum
|
|
ds 2 ; HeadLink
|
|
ds 2 ; ForwardLink
|
|
|
|
proVOLUME dw 6
|
|
adrl pfxINFO2 ; DevName
|
|
adrl pfxVOLUME ; VolName
|
|
ds 4 ; TotalBlocks
|
|
ds 4 ; FreeBlocks
|
|
ds 2 ; FileSysID
|
|
ds 2 ; BlockSize
|
|
|
|
proJUDGE dw 6
|
|
ds 2 ; FileSystem
|
|
ds 2 ; NameType
|
|
ds 4 ; NameSyntax
|
|
ds 2 ; MaxLen
|
|
adrl nameFILE ; NameBuffer
|
|
ds 2 ; Flags
|
|
|
|
*---
|
|
|
|
put Conv.Pack
|
|
|
|
put Unpack.GS ; 1
|
|
put Unpack.PNT ; .
|
|
put Unpack.PACK ; .
|
|
put Unpack.APF ; .
|
|
put Unpack.DG ; .
|
|
put Unpack.PIC ; .
|
|
put Unpack.APP ; .
|
|
put Unpack.DYA ; .
|
|
put Unpack.BMP ; 2
|
|
put Unpack.GIF ; 3
|
|
put Unpack.IFF ; 4
|
|
put Unpack.PCX ; 5
|
|
put Unpack.TIFF ; 6
|
|
put Unpack.BIN ; 7
|
|
put Unpack.ST ; 8
|
|
put Unpack.ICON ; 9-10 (Icons & Cursors)
|
|
put Unpack.MAC ; 11
|
|
|
|
put Pack.PACK
|
|
put Pack.APF ; 1
|
|
put Pack.BMP ; 2
|
|
put Pack.PCX ; 3
|
|
put Pack.TIFF ; 4
|
|
put Pack.BIN ; 5
|
|
put Pack.RAW ; 6
|
|
|
|
* put VGA.Lib
|
|
|
|
*----------------------------------------
|
|
* TABLES LONGUES EN FIN DE PROGRAMME
|
|
*----------------------------------------
|
|
|
|
*--- Les prefixes
|
|
|
|
pfxOPEN dw 512
|
|
pfxOPEN2 ds 510
|
|
pfxSAVE dw 512
|
|
pfxSAVE2 ds 510
|
|
pfxINFO dw 512
|
|
pfxINFO2 ds 510
|
|
pfxVOLUME dw 512
|
|
pfxVOLUME2 ds 510
|
|
|
|
*--- Palette
|
|
|
|
pcPALETTE ds 256*3 ; de l'image source
|
|
pcPALETTE1 ds 256*3 ; vers l'image destination
|
|
|
|
*--- Table temporaire GS & GIF
|
|
|
|
tempTABLE ds 2048
|
|
tempTABLE1 ds 2048
|
|
|
|
*--- Table de palettes 3200 & de GIF
|
|
|
|
countLENGTH ds 2
|
|
|
|
zoneTAMPON ds 4096*2
|
|
zoneTAMPON1 ds 4096*2
|
|
|
|
hex 0d0d
|
|
asc 'Convert 3200 2.0 (c) Brutal Deluxe'0d
|
|
asc '----------------------------------'0d
|
|
asc 'System & Formats : Antoine Vignau'0d
|
|
asc 'Conversion : Olivier Zardini'0d
|
|
hex 0d0d
|