mirror of
https://github.com/antoinevignau/source.git
synced 2025-01-02 06:30:17 +00:00
1236 lines
29 KiB
ArmAsm
1236 lines
29 KiB
ArmAsm
;------------------------------------------------------------------
|
|
;
|
|
; FILE : SHOWIO.S - routines d'acces ProDOS -
|
|
; --------
|
|
;------------------------------------------------------------------
|
|
;...............................................................
|
|
;
|
|
; Bload_Bitmap : charge les Bitmaps des Fenetres
|
|
;
|
|
;...............................................................
|
|
Bload_Bitmap START
|
|
Using ProdosData
|
|
Using GlobalData
|
|
|
|
lda #BMOptionName |fichier bitmap FENETRE OPTION
|
|
sta nameptr
|
|
lda #^BMOptionName
|
|
sta nameptr+2
|
|
|
|
lda #4056
|
|
sta readlg
|
|
stz readlg+2
|
|
|
|
lda Hdl_PPI_Option |Lock
|
|
ldx Hdl_PPI_Option+2
|
|
jsr Deref
|
|
sta ReadDest
|
|
stx ReadDest+2
|
|
|
|
jsl Simple_Load |LOAD SANS VERIF
|
|
bcc ok
|
|
jsr Err_Ressource |Erreur Prodos
|
|
bcc Bload_Bitmap
|
|
|
|
_Quit QuitParams |BOING !!!!!
|
|
;--
|
|
ok jsr U_Hdl_PPI_Opt |unlock
|
|
|
|
rts
|
|
|
|
END
|
|
;---------------------------------------------------------------
|
|
;
|
|
; Simple_Load : chargement d'un fichier
|
|
;
|
|
;---------------------------------------------------------------
|
|
Simple_Load START
|
|
Using ProdosData
|
|
|
|
phb
|
|
phk
|
|
plb
|
|
|
|
_WaitCursor
|
|
|
|
_OPEN OpenParams |ouvre le fichier
|
|
bcc cont1
|
|
jmp Error
|
|
|
|
cont1 anop
|
|
lda OpenID
|
|
sta ReadID
|
|
sta CloseID
|
|
|
|
_READ ReadParams |le lit
|
|
bcc cont2
|
|
jmp Error
|
|
|
|
cont2 anop
|
|
_Close CloseParams |le ferme
|
|
|
|
_InitCursor
|
|
plb
|
|
|
|
clc
|
|
rtl
|
|
|
|
Error Pha
|
|
_InitCursor
|
|
pla
|
|
plb
|
|
|
|
sec
|
|
rtl
|
|
;--------------------------------------
|
|
; Simple_Load2
|
|
;--------------------------------------
|
|
Simple_Load2 ENTRY
|
|
phb
|
|
phk
|
|
plb
|
|
|
|
_WaitCursor
|
|
;--
|
|
jsr OpenFile |ouvre le fichier
|
|
bcc cont12
|
|
jmp Error
|
|
;--
|
|
cont12 anop
|
|
lda OpenID
|
|
sta ReadID
|
|
sta CloseID
|
|
|
|
jsr ReadFile |le lit
|
|
bcc cont22
|
|
jmp Error
|
|
;--
|
|
cont22 anop
|
|
_Close CloseParams |le ferme
|
|
|
|
_InitCursor
|
|
plb
|
|
|
|
clc
|
|
rtl
|
|
;--
|
|
END
|
|
;...............................................................
|
|
;
|
|
; Load_FileIcon : load en memoire l'icone in acc (00-0n)
|
|
;
|
|
;...............................................................
|
|
Load_FileIcon START
|
|
Using GlobalData
|
|
Using ProdosData
|
|
Using SelectIdata
|
|
|
|
jsr Find_NameIcon
|
|
|
|
bra SLoad_FileIcon
|
|
;--------------------------------------
|
|
Load_FileBorder ENTRY
|
|
|
|
PushLong #0 |CalCul le nom de l'icone
|
|
pha
|
|
_HexIt
|
|
pla
|
|
lda namebor
|
|
and #$00FF
|
|
dec a
|
|
tax
|
|
pla
|
|
sta namebor,x
|
|
|
|
lda #namebor
|
|
sta NamePtr
|
|
lda #^namebor
|
|
sta NamePtr+2
|
|
|
|
lda #$c0
|
|
sta TypeOfIcon
|
|
|
|
;--------------------------------------
|
|
Sload_FileIcon ENTRY
|
|
|
|
jsr D_Hdl_FIcon |le Coince
|
|
|
|
again lda Ptr_FIcon |buffer Icon
|
|
sta adptr |buffer ou mettre l'image
|
|
lda Ptr_FIcon+2
|
|
sta adptr+2
|
|
|
|
_WaitCursor
|
|
;--
|
|
jsr Load_pak |unpack icone bordure
|
|
;--
|
|
sagain php
|
|
pha
|
|
_InitCursor
|
|
pla
|
|
plp
|
|
;--------------------------------------
|
|
bcc finok
|
|
jsr Err_Ressource |AFFICHE ERREUR ALERT
|
|
bcc again
|
|
_InitCursor
|
|
jsr U_Hdl_FIcon
|
|
sec |ERREUR
|
|
rts
|
|
;--------------------------------------
|
|
finok jsr U_Hdl_FIcon |le libere
|
|
;--
|
|
;--------------------------------------
|
|
; Copy_Name
|
|
;--------------------------------------
|
|
Copy_Name ENTRY
|
|
|
|
ldy #14 |Nom du Fichier sur Page
|
|
|
|
LOOP1 lda NameIcon,y
|
|
sta NameTxt1,y
|
|
dey
|
|
dey
|
|
bpl LOOP1
|
|
;--
|
|
clc
|
|
rts
|
|
;--------------------------------------
|
|
; Find_NameIcon
|
|
;--------------------------------------
|
|
Find_NameIcon ENTRY
|
|
;--
|
|
PushLong #0
|
|
inc a
|
|
pha
|
|
PushWord #140
|
|
_Multiply
|
|
ply
|
|
plx
|
|
;--
|
|
ldx #138
|
|
dey
|
|
dey
|
|
RLName lda TableNameIcon,y
|
|
sta NameFIcon,x
|
|
dey
|
|
dey
|
|
dex
|
|
dex
|
|
bpl RLName
|
|
;--
|
|
ldx #126
|
|
RLFull lda NameFIcon,x
|
|
sta Reply_FullName,x
|
|
dex
|
|
dex
|
|
bpl RLFull
|
|
;--
|
|
lda #NameFIcon
|
|
sta NamePtr
|
|
lda #^NameFIcon
|
|
sta NamePtr+2
|
|
;--
|
|
sep #$20
|
|
longa off
|
|
|
|
ldy FilePos
|
|
ldx #1
|
|
RLName1 lda NameFIcon,y
|
|
sta NameIcon,x
|
|
iny
|
|
inx
|
|
cpx FileLg
|
|
bcc RLName1
|
|
beq RLName1
|
|
|
|
lda FileLg
|
|
sta NameIcon
|
|
|
|
rep #$20
|
|
longa on
|
|
|
|
rts
|
|
|
|
END
|
|
;...............................................................
|
|
;
|
|
; Load_Titre
|
|
;
|
|
;...............................................................
|
|
Load_Titre START
|
|
Using GlobalData
|
|
Using ProdosData
|
|
|
|
Show_Broder ENTRY
|
|
|
|
jsr alloc_BitMap
|
|
|
|
jsr D_Hdl_Bitmap
|
|
|
|
lda #NameBroder
|
|
sta NamePtr
|
|
lda #^NameBroder
|
|
sta NamePtr+2
|
|
|
|
lda Ptr_Bitmap
|
|
sta AdPtr
|
|
lda Ptr_Bitmap+2
|
|
sta AdPtr+2
|
|
|
|
jsr Load_Pak1 |charge l'image
|
|
|
|
jsr LoadSet_Color
|
|
|
|
jsr Copie_Titre
|
|
|
|
rts
|
|
;--
|
|
Show_Showoff ENTRY
|
|
|
|
lda #NameShowoff
|
|
sta NamePtr
|
|
lda #^NameShowoff
|
|
sta NamePtr+2
|
|
|
|
lda Ptr_Bitmap
|
|
sta AdPtr
|
|
lda Ptr_Bitmap+2
|
|
sta AdPtr+2
|
|
|
|
jsr Load_Pak1 |charge l'image
|
|
|
|
jsr LoadSet_Color
|
|
|
|
jsr Copie_Titre
|
|
|
|
jsr Dealloc_BitMap
|
|
|
|
rts
|
|
;--
|
|
Copie_Titre ENTRY
|
|
|
|
lda #$E12000
|
|
sta Ptr_Pzero
|
|
lda #^$E12000
|
|
sta Ptr_Pzero+2
|
|
|
|
ldy #$7CFE
|
|
Loop lda [Ptr_Bitmap],y
|
|
sta [Ptr_Pzero],y
|
|
dey
|
|
dey
|
|
bpl Loop
|
|
|
|
rts
|
|
;--
|
|
LoadSet_Color ENTRY
|
|
|
|
jsr Alloc_PBuffer |buffer de decompactage
|
|
jsr D_Hdl_Pbuffer |le coince
|
|
;--
|
|
_OPEN OpenParams
|
|
bcc cont0
|
|
jmp err_pak
|
|
|
|
cont0 anop
|
|
lda OpenID
|
|
sta ReadID
|
|
sta CloseID
|
|
|
|
lda Ptr_Pbuffer
|
|
sta ReadDest
|
|
lda Ptr_Pbuffer+2
|
|
sta ReadDest+2
|
|
|
|
lda #$20 |Only Palette
|
|
sta readlg
|
|
stz readlg+2
|
|
|
|
cont1 _READ ReadParams
|
|
bcc cont2
|
|
jmp err_pak1
|
|
|
|
cont2 _Close CloseParams
|
|
|
|
PushWord #0 |palette zero
|
|
PushLong Ptr_PBuffer
|
|
_SetColorTable
|
|
|
|
jsr Dealloc_Pbuffer |deallouer buffer decompactage
|
|
|
|
clc
|
|
|
|
exit rts
|
|
;--
|
|
err_pak1 pha
|
|
_Close CloseParams |Erreur mais on CLOSE
|
|
pla
|
|
err_pak pha
|
|
jsr Dealloc_Pbuffer
|
|
pla
|
|
sec
|
|
|
|
rts
|
|
|
|
END
|
|
;...............................................................
|
|
;
|
|
; load_pak : charge image en Ptr_GEN nom en nameptr de read
|
|
;
|
|
;...............................................................
|
|
load_pak START
|
|
Using GlobalData
|
|
Using ProdosData
|
|
;--
|
|
lda TypeOfIcon |type $c0 compacte
|
|
cmp #$c0 | $c1 ecran 32 k
|
|
beq Load_Pak1
|
|
;--
|
|
LoadEcran32k lda #$7D00
|
|
sta readlg
|
|
lda #0
|
|
sta Readlg+2
|
|
;-
|
|
lda Ptr_FIcon
|
|
sta ReadDest
|
|
lda Ptr_FIcon+2
|
|
sta ReadDest+2
|
|
jsl Simple_Load
|
|
rts
|
|
;--
|
|
Load_Pak1 ENTRY
|
|
jsr Alloc_PBuffer |buffer de decompactage
|
|
jsr D_Hdl_Pbuffer |le coince
|
|
;--
|
|
_OPEN OpenParams
|
|
bcc cont0
|
|
jmp err_pak
|
|
|
|
cont0 anop
|
|
lda OpenID
|
|
sta ReadID
|
|
sta CloseID
|
|
sta SetMarkID
|
|
|
|
lda #$7d00 |160 * 200 octets
|
|
sta PicSize
|
|
|
|
lda Ptr_Pbuffer
|
|
sta ReadDest
|
|
lda Ptr_Pbuffer+2
|
|
sta ReadDest+2
|
|
|
|
lda #512 |longueur buffer
|
|
sta readlg
|
|
stz readlg+2
|
|
|
|
lda #$222 |pos sur packed image
|
|
sta SetMarkPos
|
|
stz SetMarkPos+2
|
|
|
|
Unpackloop _SETMARK SetMarkParams
|
|
bcc cont1
|
|
jmp err_pak1
|
|
|
|
cont1 _READ ReadParams
|
|
bcc cont2
|
|
jmp err_pak1
|
|
|
|
cont2 PushWord #0 ; space for result
|
|
PushLong Ptr_PBuffer
|
|
PushWord #512
|
|
PushLong #adPtr ; These get changed by UnPackBytes
|
|
PushLong #PicSize
|
|
|
|
_UnPackBytes
|
|
|
|
pla ; Add the number of source bytes that
|
|
clc ; we unpacked to the file offset.
|
|
adc SetMarkpos
|
|
sta SetMarkpos
|
|
lda setmarkpos+2
|
|
adc #0
|
|
sta SetMarkpos+2 ; new starting loc.
|
|
|
|
lda PicSize ; done?
|
|
bne UnPackLoop
|
|
|
|
_Close CloseParams
|
|
|
|
jsr Dealloc_Pbuffer |deallouer buffer decompactage
|
|
clc
|
|
exit rts
|
|
;--
|
|
err_pak1 pha
|
|
_Close CloseParams |Erreur mais on CLOSE
|
|
pla
|
|
err_pak pha
|
|
jsr Dealloc_Pbuffer
|
|
pla
|
|
sec
|
|
|
|
rts
|
|
|
|
END
|
|
;...............................................................
|
|
;
|
|
; DoSaveBitmap : Sauve la Page au Format PAINTWORK 32 K
|
|
;
|
|
;...............................................................
|
|
DoSaveBitMap START
|
|
Using GlobalData
|
|
Using WindowData
|
|
Using ProdosData
|
|
|
|
PushWord #20
|
|
PushWord #20
|
|
PushLong #TxSaveBitmap
|
|
PushLong #0
|
|
PushWord #15
|
|
PushLong #reply
|
|
_SFPutFile
|
|
|
|
lda reply_good
|
|
bne DoSaveBitmap1
|
|
rts
|
|
;--
|
|
DoSaveBitmap1 ENTRY
|
|
|
|
lda #1
|
|
sta Top_BitMap
|
|
sta Force_BitMap
|
|
|
|
jsr swap_palette |palette standard
|
|
|
|
PushLong #PortFond |port = port fond
|
|
_SetPort
|
|
|
|
PushLong #FullRect |tout le port
|
|
_ClipRect
|
|
|
|
jsl maj_FrameW |le calcule
|
|
|
|
jsr Save_Bitmap |sauve bitmap
|
|
|
|
php
|
|
;--
|
|
finsave jsr Swap_palette
|
|
|
|
plp |STATUS CARRY +++
|
|
|
|
rts
|
|
|
|
END
|
|
;...............................................................
|
|
;
|
|
; Save_Bitmap : sauve la bitmap
|
|
;
|
|
;...............................................................
|
|
Save_Bitmap START
|
|
Using GlobalData
|
|
Using ProdosData
|
|
;--
|
|
_WaitCursor |la montre
|
|
;--
|
|
lda #reply_fullname |init open create
|
|
sta nameptr
|
|
lda #^reply_fullname
|
|
sta nameptr+2
|
|
lda #$c1
|
|
sta Createfiletype
|
|
;--
|
|
OuvronsLe _OPEN OpenParams |ouvre le fichier
|
|
bcc OkOpen
|
|
;--
|
|
CreonsLe ANOP
|
|
jsr CreateFile
|
|
bcc OuvronsLe
|
|
bra DEHORS
|
|
;--
|
|
OkOpen anop
|
|
lda OpenID
|
|
sta WriteID
|
|
sta CloseID
|
|
;--
|
|
lda ptr_Fond |Write 32000 OCTETS
|
|
sta WriteDest
|
|
lda ptr_Fond+2
|
|
sta WriteDest+2
|
|
|
|
lda #$7D00 |la bitmap 32000 octets
|
|
sta writelg
|
|
stz writelg+2
|
|
|
|
jsr WriteFile
|
|
bcc Lereste
|
|
bra OnDelete
|
|
;--
|
|
lereste lda #$E19D00 |768 octets de palette
|
|
sta WriteDest
|
|
lda #^$E19D00
|
|
sta WriteDest+2
|
|
|
|
lda #$300
|
|
sta writelg
|
|
stz writelg+2
|
|
|
|
jsr WriteFile
|
|
bcc OkClose
|
|
;--
|
|
OnDelete _Close CloseParams |ca va mal on CLOSE et on DELETE
|
|
|
|
lda NamePtr
|
|
sta DestroyNamePtr
|
|
lda NamePtr+2
|
|
sta DestroyNamePtr+2
|
|
|
|
_Destroy DestroyParams
|
|
;--
|
|
DEHORS ANOP
|
|
_InitCursor
|
|
sec
|
|
rts
|
|
;--
|
|
OkClose anop
|
|
_Close CloseParams |le ferme
|
|
|
|
_InitCursor
|
|
|
|
clc
|
|
rts
|
|
|
|
END
|
|
;...............................................................
|
|
;
|
|
; Read volume text : lit le nom du volume dans NamePtr
|
|
;
|
|
;...............................................................
|
|
ReadVolTxt START
|
|
USING ProdosData
|
|
|
|
lda NamePtr
|
|
sta Ptr_PZero
|
|
lda NamePtr+2
|
|
sta Ptr_PZero+2
|
|
|
|
sep #$30
|
|
longa off
|
|
longi off
|
|
|
|
lda #6
|
|
sta AltVolTxt ; remet longueur de insert
|
|
|
|
ldx #0
|
|
ldy #1
|
|
|
|
NextRead lda [Ptr_Pzero],y
|
|
cmp #'1'
|
|
beq TestSquiz
|
|
cmp #'/'
|
|
beq IsItEnd
|
|
|
|
StockeLettre inx
|
|
sta VolumeTxt,x
|
|
iny
|
|
bra NextRead
|
|
|
|
TestSquiz cpy #1
|
|
bne StockeLettre
|
|
dey
|
|
|
|
CopyNSq lda Tx_ErrRes,y
|
|
sta AltVolTxt,y
|
|
iny
|
|
cpy #20
|
|
bcc copyNSq ; copie : insert system disk
|
|
|
|
bra ReadVolExit
|
|
|
|
IsItEnd cpy #3
|
|
bcc StockeLettre
|
|
|
|
inx ; pour le blanc
|
|
txa
|
|
clc
|
|
adc AltVolTxt
|
|
sta AltVolTxt ; remet longueur AltVolTxt
|
|
|
|
ReadVolExit rep #$30
|
|
longa on
|
|
longi on
|
|
|
|
rts
|
|
|
|
END
|
|
|
|
;...............................................................
|
|
;
|
|
; OpenFile : Ouvrir un fichier
|
|
;
|
|
;...............................................................
|
|
OpenFile START
|
|
Using ProdosData
|
|
|
|
_Open OpenParams
|
|
bcs KoOpen
|
|
clc
|
|
rts
|
|
;--
|
|
KoOpen cmp #PathNotFound
|
|
beq Alert_Dial
|
|
cmp #VolNotFound
|
|
beq Alert_Dial
|
|
cmp #FileNotFound
|
|
beq Alert_Dial
|
|
cmp #IoError
|
|
beq Alert_IO
|
|
;--
|
|
jsr Alert_Gloup
|
|
ErrOpen sec
|
|
rts
|
|
;--
|
|
Alert_Dial ENTRY
|
|
jsr Alert_PVFNFnd
|
|
bcc OpenFile
|
|
bra ErrOpen
|
|
;--
|
|
Alert_IO jsr Alert_IOError
|
|
bra ErrOpen
|
|
|
|
END
|
|
;...............................................................
|
|
;
|
|
; CreateFile : creation d'un Fichier
|
|
;
|
|
;...............................................................
|
|
CreateFile START
|
|
Using ProdosData
|
|
Using WindowData
|
|
|
|
lda NamePtr
|
|
sta CreateNamePtr
|
|
lda NamePtr+2
|
|
sta CreateNamePtr+2
|
|
_Create CreateParams
|
|
bcs KoCreate
|
|
OkCreate clc
|
|
rts
|
|
;--
|
|
KoCreate cmp #WriteProtect
|
|
beq Alert_WP
|
|
cmp #PathNotFound
|
|
beq Alert_Dial
|
|
cmp #VolNotFound
|
|
beq Alert_Dial
|
|
cmp #FileNotFound
|
|
beq Alert_Dial
|
|
cmp #VolumeFull
|
|
beq Alert_VF
|
|
cmp #VolumeDirFull
|
|
beq Alert_VDF
|
|
cmp #IoError
|
|
beq Alert_IO
|
|
cmp #DuplicatePN
|
|
beq OkCreate
|
|
|
|
;--
|
|
jsr Alert_Gloup
|
|
ErrCreate sec
|
|
rts
|
|
|
|
;--
|
|
Alert_Dial jsr Alert_PVFNFnd
|
|
bcc CreateFile
|
|
bra ErrCreate
|
|
;--
|
|
Alert_WP jsr Alert_WProtect
|
|
bra CreateFile
|
|
;--
|
|
Alert_VF jsr Alert_VFULL
|
|
bra ErrCreate
|
|
;--
|
|
Alert_VDF jsr Alert_VDFULL
|
|
bra ErrCreate
|
|
;--
|
|
Alert_IO jsr Alert_IOError
|
|
bra ErrCreate
|
|
|
|
END
|
|
;...............................................................
|
|
;
|
|
; WriteFile : Ecrire des DONNEES
|
|
;
|
|
;...............................................................
|
|
WriteFile START
|
|
Using ProdosData
|
|
|
|
_Write WriteParams
|
|
bcs KoWrite
|
|
clc
|
|
rts
|
|
;--
|
|
KoWrite cmp #WriteProtect
|
|
beq Alert_WP
|
|
cmp #VolumeFull
|
|
beq Alert_VF
|
|
cmp #IoError
|
|
beq Alert_IO
|
|
;--
|
|
jsr Alert_Gloup
|
|
ErrWrite sec
|
|
rts
|
|
;--
|
|
Alert_WP jsr Alert_WProtect
|
|
bra WriteFile
|
|
;--
|
|
Alert_VF jsr Alert_VFull
|
|
bra ErrWrite
|
|
;--
|
|
Alert_IO jsr Alert_IOError
|
|
bra ErrWrite
|
|
|
|
END
|
|
;...............................................................
|
|
;
|
|
; ReadFile : Lire des DONNEES
|
|
;
|
|
;...............................................................
|
|
ReadFile START
|
|
Using ProdosData
|
|
|
|
_Read ReadParams
|
|
bcs KoRead
|
|
clc
|
|
rts
|
|
;-
|
|
KoRead cmp #IoError
|
|
beq Alert_IO
|
|
;--
|
|
jsr Alert_Gloup
|
|
ErrRead sec
|
|
rts
|
|
;--
|
|
Alert_IO jsr Alert_IOError
|
|
bra ErrRead
|
|
|
|
END
|
|
|
|
;...............................................................
|
|
;
|
|
; RenameFile : Renomer un fichier
|
|
;
|
|
;...............................................................
|
|
RenameFile START
|
|
Using ProdosData
|
|
|
|
_ChangePath RenameParams
|
|
bcs KoRename
|
|
clc
|
|
rts
|
|
;--
|
|
KoRename cmp #WriteProtect
|
|
beq Alert_WP
|
|
cmp #PathNotFound
|
|
beq Alert_Dial
|
|
cmp #VolNotFound
|
|
beq Alert_Dial
|
|
cmp #FileNotFound
|
|
beq Alert_Dial
|
|
cmp #VolumeFull
|
|
beq Alert_VF
|
|
cmp #VolumeDirFull
|
|
beq Alert_VDF
|
|
cmp #IoError
|
|
beq Alert_IO
|
|
|
|
;--
|
|
jsr Alert_Gloup
|
|
ErrRename sec
|
|
rts
|
|
|
|
;--
|
|
Alert_Dial jsr Alert_PVFNFnd
|
|
bcc RenameFile
|
|
bra ErrRename
|
|
;--
|
|
Alert_WP jsr Alert_WProtect
|
|
bra RenameFile
|
|
;--
|
|
Alert_VF jsr Alert_VFULL
|
|
bra ErrRename
|
|
;--
|
|
Alert_VDF jsr Alert_VDFULL
|
|
bra ErrRename
|
|
;--
|
|
Alert_IO jsr Alert_IOError
|
|
bra ErrRename
|
|
|
|
END
|
|
;...............................................................
|
|
;
|
|
; Err_Ressource : err sur icone bordure
|
|
;
|
|
;...............................................................
|
|
Err_Ressource START
|
|
Using GlobalData
|
|
Using ProdosData
|
|
Using WindowData
|
|
|
|
cmp #$44
|
|
beq Err_Insert
|
|
cmp #$45
|
|
beq Err_Insert
|
|
cmp #$46
|
|
beq Err_Insert
|
|
;--
|
|
Err_IO jsr Alert_Gloup |Erreur grave CANCEL
|
|
sec
|
|
rts
|
|
;--
|
|
Err_Insert jsr Alert_Pvfnfnd |Erreur Not Found (Retry) (cancel)
|
|
rts
|
|
; cmp #1
|
|
; beq ok_Insert
|
|
;
|
|
;Cancel_Insert sec
|
|
; rts
|
|
;
|
|
;ok_insert clc
|
|
; rts
|
|
|
|
END
|
|
;...............................................................
|
|
;
|
|
; Alert_Protect : ALERT BOX
|
|
;
|
|
;...............................................................
|
|
Alert_Box START
|
|
Using WindowData
|
|
Using ProdosData
|
|
;--
|
|
Alert_WProtect ENTRY
|
|
|
|
lda #TX_ERRWP
|
|
sta ItemAp2tx
|
|
lda #^TX_ERRWP
|
|
sta ItemAP2tx+2
|
|
brl Note_Alert
|
|
;--
|
|
Alert_VFull ENTRY
|
|
|
|
lda #TX_ERRVF
|
|
sta ItemAp2tx
|
|
lda #^TX_ERRVF
|
|
sta ItemAP2tx+2
|
|
brl Stop_Alert
|
|
;--
|
|
Alert_VDFull ENTRY
|
|
|
|
lda #TX_ERRVDF
|
|
sta ItemAp2tx
|
|
lda #^TX_ERRVDF
|
|
sta ItemAP2tx+2
|
|
brl Stop_Alert
|
|
;--
|
|
Alert_ResErr ENTRY
|
|
lda #TX_ERRRES
|
|
sta ItemAp2tx
|
|
lda #^TX_ERRRES
|
|
sta ItemAp2tx+2
|
|
brl Note_AlertRes
|
|
;--
|
|
Alert_IOError ENTRY
|
|
|
|
lda #TX_ERRIO
|
|
sta ItemAp2tx
|
|
lda #^TX_ERRIO
|
|
sta ItemAP2tx+2
|
|
brl Stop_Alert
|
|
;--
|
|
Alert_Gloup ENTRY
|
|
|
|
PushLong #0
|
|
pha
|
|
_HexIt
|
|
pla
|
|
sta TX_ERRGL+16
|
|
pla
|
|
sta TX_ERRGL+18
|
|
|
|
lda #TX_ERRGL
|
|
sta ItemAp2tx
|
|
lda #^TX_ERRGL
|
|
sta ItemAp2tx+2
|
|
brl Stop_Alert
|
|
;--
|
|
Alert_LoadBM ENTRY
|
|
|
|
lda #Tx_ErrLBM
|
|
sta ItemAp2tx
|
|
lda #^Tx_ErrLBM
|
|
sta ItemAp2tx+2
|
|
brl Stop_Alert
|
|
;--
|
|
Alert_PVFNFnd ENTRY
|
|
|
|
jsr ReadVolTxt
|
|
|
|
lda #AltVolTxt
|
|
sta ItemAP2tx
|
|
lda #^AltVolTxt
|
|
sta ItemAP2tx+2
|
|
|
|
_InitCursor
|
|
PushWord #0
|
|
PushLong #Alert_Res
|
|
PushLong #0
|
|
_StopAlert
|
|
_WaitCursor
|
|
pla
|
|
cmp #1
|
|
beq Alert_PVFNF0
|
|
sec
|
|
rts
|
|
|
|
Alert_PVFNF0 clc
|
|
rts
|
|
|
|
;--
|
|
Stop_Alert _InitCursor
|
|
PushWord #0
|
|
PushLong #Alert_Prodos
|
|
PushLong #0
|
|
_StopAlert
|
|
_WaitCursor
|
|
pla
|
|
rts
|
|
;--
|
|
Note_Alert _InitCursor
|
|
PushWord #0
|
|
PushLong #Alert_Prodos
|
|
PushLong #0
|
|
_NoteAlert
|
|
_WaitCursor
|
|
pla
|
|
rts
|
|
;--
|
|
Note_AlertRes _InitCursor
|
|
PushWord #0
|
|
PushLong #Alert_Res
|
|
PushLong #0
|
|
_NoteAlert
|
|
_WaitCursor
|
|
pla
|
|
rts
|
|
;--
|
|
Ok_Alert ENTRY
|
|
_InitCursor
|
|
PushWord #0
|
|
PushLong #Alert_Ok
|
|
PushLong #0
|
|
_NoteAlert
|
|
_WaitCursor
|
|
pla
|
|
rts
|
|
|
|
END
|
|
;...............................................................
|
|
;
|
|
; Save_PakIcon : Save a Icon File Packed
|
|
;
|
|
;...............................................................
|
|
Save_PakIcon START
|
|
Using GlobalData
|
|
Using ProdosData
|
|
;--
|
|
lda TypeOfIcon |Format $c0
|
|
cmp #$C0 |Format $c1
|
|
beq Save_Compacte
|
|
|
|
;--
|
|
jsr Alloc_PBuffer |buffer de compactage pour branchemant
|
|
lda Ptr_Fond |sur SPSI avec dealloc pbuffer
|
|
pha
|
|
lda Ptr_Fond+2
|
|
pha
|
|
|
|
jsr D_Hdl_FIcon |Format 32 k
|
|
sta Ptr_Fond
|
|
stx Ptr_Fond+2
|
|
|
|
jsr Save_BitMap
|
|
|
|
pla
|
|
sta Ptr_Fond+2
|
|
pla
|
|
sta Ptr_Fond
|
|
|
|
bra SSPI
|
|
;--
|
|
Save_Compacte _WaitCursor |Watch
|
|
|
|
jsr Alloc_PBuffer |buffer de compactage
|
|
jsr D_Hdl_Pbuffer
|
|
jsr D_Hdl_FIcon |Coince buffer ICON
|
|
;--
|
|
lda #Reply_FullName |Init Name etc
|
|
sta NamePtr
|
|
lda #^Reply_FullName
|
|
sta NamePtr+2
|
|
|
|
lda #$C0 |File Packed
|
|
sta CreateFileType
|
|
|
|
jsr OpenIcon
|
|
;--
|
|
SSPI php
|
|
jsr Dealloc_PBuffer
|
|
jsr U_Hdl_FIcon
|
|
plp
|
|
rts
|
|
;-----------------------------------------------------------------------
|
|
OpenIcon ANOP
|
|
jsr CreateFile
|
|
bcc SOpenIcon
|
|
;--
|
|
erropenicon brl Dehors
|
|
;--
|
|
SOpenIcon _OPEN OpenParams |ouvre le fichier
|
|
bcc OkOpen
|
|
bra erropenicon
|
|
;--
|
|
OkOpen ANOP
|
|
lda OpenID
|
|
sta WriteID
|
|
sta CloseID
|
|
sta SetMarkId
|
|
;--
|
|
SavePalette ANOP
|
|
PushWord #0
|
|
PushLong Ptr_PBuffer
|
|
_GetColorTable
|
|
lda #15 |white
|
|
ldy #$20
|
|
sta [Ptr_PBuffer],y
|
|
|
|
lda Ptr_PBuffer
|
|
sta WriteDest
|
|
lda Ptr_Pbuffer+2
|
|
sta WriteDest+2
|
|
|
|
lda #$22
|
|
sta WriteLg
|
|
stz WriteLg+2
|
|
|
|
jsr WriteFile
|
|
bcc SavePattern
|
|
brl OnDelete
|
|
;--
|
|
SavePattern ANOP
|
|
lda #512
|
|
sta WriteLg
|
|
stz WriteLg+2
|
|
|
|
jsr WriteFile
|
|
bcc SavePicture
|
|
brl OnDelete
|
|
;--
|
|
SavePicture ANOP
|
|
lda Ptr_FIcon
|
|
sta Ptr_Picture
|
|
lda Ptr_FIcon+2
|
|
sta Ptr_Picture+2
|
|
|
|
ldy #200 |only 200 Lines
|
|
;--
|
|
LoopWrite ANOP |like PaintWorks
|
|
phy
|
|
|
|
lda #160
|
|
sta PicSize
|
|
|
|
lda Ptr_Picture
|
|
sta AdPtr
|
|
lda Ptr_Picture+2
|
|
sta AdPtr+2
|
|
;--
|
|
LoopWrite2 ANOP
|
|
pha
|
|
PushLong #AdPtr
|
|
PushLong #PicSize
|
|
PushLong Ptr_PBuffer
|
|
PushWord #160
|
|
_PackBytes
|
|
pla
|
|
sta Writelg
|
|
jsr WriteFile
|
|
bcc SLW2
|
|
;--
|
|
ply
|
|
bra OnDelete
|
|
;--
|
|
SLW2 lda PicSize
|
|
bne LoopWrite2
|
|
|
|
lda Ptr_Picture
|
|
clc
|
|
adc #160
|
|
sta Ptr_Picture
|
|
lda Ptr_Picture+2
|
|
adc #0
|
|
sta Ptr_Picture+2
|
|
|
|
ply
|
|
dey
|
|
bne LoopWrite
|
|
|
|
bra OkClose
|
|
;--
|
|
OnDelete _Close CloseParams |ca va mal on CLOSE et on DELETE
|
|
|
|
lda NamePtr
|
|
sta DestroyNamePtr
|
|
lda NamePtr+2
|
|
sta DestroyNamePtr+2
|
|
|
|
_Destroy DestroyParams
|
|
;--
|
|
DEHORS ANOP
|
|
_InitCursor
|
|
sec
|
|
rts
|
|
;--
|
|
OkClose anop
|
|
_Close CloseParams |le ferme
|
|
|
|
_InitCursor
|
|
|
|
clc
|
|
rts
|
|
|
|
Ptr_Picture ds 4 |Icon File is here
|
|
|
|
END
|
|
;...............................................................
|
|
;
|
|
; DoFormat
|
|
;
|
|
;...............................................................
|
|
DoFormat START
|
|
Using GlobalData
|
|
|
|
lda #11
|
|
sta SegNumber
|
|
jsr Disk_Present
|
|
;--
|
|
jsl DoFormatSbr
|
|
PushWord MyID
|
|
pea 1
|
|
pea 11
|
|
_UnLoadSegNum
|
|
;--
|
|
rts
|
|
|
|
END
|