It's the end!
Before Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 9.7 KiB |
Before Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 9.7 KiB After Width: | Height: | Size: 9.7 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
|
@ -1 +0,0 @@
|
||||||
LaBelleZohra=Type(B3),AuxType(DB00),VersionCreate(70),MinVersion(BE),Access(E3),FolderInfo1(000000000000000000000000000000000000),FolderInfo2(000000000000000000000000000000000000)
|
|
|
@ -39,40 +39,6 @@ strMENU3 str '3- La Belle Zohra'
|
||||||
* CE OE B4
|
* CE OE B4
|
||||||
* CF oe B5
|
* CF oe B5
|
||||||
|
|
||||||
tblATARI hex 000102030405060708090A0B0C0D0E0F
|
|
||||||
hex 101112131415161718191A1B1C1D1E1F
|
|
||||||
hex 202122232425262728292A2B2C2D2E2F
|
|
||||||
hex 303132333435363738393A3B3C3D3E3F
|
|
||||||
hex 404142434445464748494A4B4C4D4E4F
|
|
||||||
hex 505152535455565758595A5B5C5D5E5F
|
|
||||||
hex 606162636465666768696A6B6C6D6E6F
|
|
||||||
hex 707172737475767778797A7B7C7D227F
|
|
||||||
hex 82818E898488868D90898F95948D8E8F
|
|
||||||
hex 9091929994959E9D98999A9B9C9D9E9F
|
|
||||||
hex A0A1A2A3A4A5A6A7A8A9AAABACADAEAF
|
|
||||||
hex B0B1B2B3CFCEB6B7B8B9BBBABCBDBEBF
|
|
||||||
hex C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF
|
|
||||||
hex D0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF
|
|
||||||
hex E0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF
|
|
||||||
hex F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF
|
|
||||||
|
|
||||||
tblUPPER hex 000102030405060708090A0B0C0D0E0F
|
|
||||||
hex 101112131415161718191A1B1C1D1E1F
|
|
||||||
hex 202122232425262728292A2B2C2D2E2F
|
|
||||||
hex 303132333435363738393A3B3C3D3E3F
|
|
||||||
hex 404142434445464748494A4B4C4D4E4F
|
|
||||||
hex 505152535455565758595A5B5C5D5E5F
|
|
||||||
hex 604142434445464748494A4B4C4D4E4F ; a-z => A-Z
|
|
||||||
hex 505152535455565758595A7B7C7D7E7F
|
|
||||||
hex 808182838485868788898A8B8C8D8E8F
|
|
||||||
hex 909192939495969798999A9B9C9D9E9F
|
|
||||||
hex A0A1A2A3A4A5A6A7A8A9AAABACADAEAF
|
|
||||||
hex B0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF
|
|
||||||
hex C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF
|
|
||||||
hex D0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF
|
|
||||||
hex E0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF
|
|
||||||
hex F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF
|
|
||||||
|
|
||||||
*-----------------------
|
*-----------------------
|
||||||
* DATA
|
* DATA
|
||||||
*-----------------------
|
*-----------------------
|
||||||
|
@ -201,53 +167,38 @@ fenetre_yy dw 0,190,190,190,190,190,190,190,190,190
|
||||||
|
|
||||||
*---
|
*---
|
||||||
|
|
||||||
objetTEXT da $bdbd ; !NOM DE CHAQUE OBJET
|
* "LUNETTES"
|
||||||
da objetSTR1
|
* "CUILLERE"
|
||||||
da objetSTR2
|
* "FLEUR"
|
||||||
da objetSTR3
|
* "CARNET"
|
||||||
da objetSTR4
|
* "DICO"
|
||||||
da objetSTR5
|
* "BIJOUX"
|
||||||
da objetSTR6
|
* "CLES"
|
||||||
da objetSTR7
|
* "ARGENT"
|
||||||
da objetSTR8
|
|
||||||
|
|
||||||
objetSTR1 asc "LUNETTES"
|
|
||||||
objetSTR2 asc "CUILLERE"
|
|
||||||
objetSTR3 asc "FLEUR"
|
|
||||||
objetSTR4 asc "CARNET"
|
|
||||||
objetSTR5 asc "DICO"
|
|
||||||
objetSTR6 asc "BIJOUX"
|
|
||||||
objetSTR7 asc "CLES"
|
|
||||||
objetSTR8 asc "ARGENT"
|
|
||||||
|
|
||||||
objet_x dw 0,238,222,195,0,27,131,276,133
|
objet_x dw 0,238,222,195,0,27,131,276,133
|
||||||
objet_y dw 0,51,110,0,17,55,32,19,69
|
objet_y dw 0,51,110,0,17,55,32,19,69
|
||||||
objet_xx dw 0,283,268,266,57,106,178,319,188
|
*objet_xx dw 0,283,268,266,57,106,178,319,188
|
||||||
objet_yy dw 0,88,151,39,54,103,64,50,101
|
*objet_yy dw 0,88,151,39,54,103,64,50,101
|
||||||
|
objet_xx dw 0,284,269,267,58,107,179,320,189
|
||||||
|
objet_yy dw 0,89,152,40,55,104,65,51,102
|
||||||
|
|
||||||
*---
|
*---
|
||||||
|
|
||||||
pecheTEXT da $bdbd ; NOM DE CHAQUE PECHE (+1 POUR L'INDIC SUITE...)
|
* "ORGUEIL"
|
||||||
da pecheSTR1
|
* "AVARICE"
|
||||||
da pecheSTR2
|
* "GOURMANDISE"
|
||||||
da pecheSTR3
|
* "ENVIE"
|
||||||
da pecheSTR4
|
* "LUXURE"
|
||||||
da pecheSTR5
|
* "COLERE"
|
||||||
da pecheSTR6
|
* "PARESSE"
|
||||||
da pecheSTR7
|
|
||||||
|
|
||||||
pecheSTR1 asc "ORGUEIL"
|
|
||||||
pecheSTR2 asc "AVARICE"
|
|
||||||
pecheSTR3 asc "GOURMANDISE"
|
|
||||||
pecheSTR4 asc "ENVIE"
|
|
||||||
pecheSTR5 asc "LUXURE"
|
|
||||||
pecheSTR6 asc "COLERE"
|
|
||||||
pecheSTR7 asc "PARESSE"
|
|
||||||
|
|
||||||
peche_x dw 0,184,0,46,276,92,138,230
|
peche_x dw 0,184,0,46,276,92,138,230
|
||||||
peche_y dw 0,162,162,162,162,162,162,162
|
peche_y dw 0,162,162,162,162,162,162,162
|
||||||
peche_xx dw 0,227,43,89,319,135,181,273
|
*peche_xx dw 0,227,43,89,319,135,181,273
|
||||||
peche_yy dw 0,199,199,199,199,199,199,199
|
*peche_yy dw 0,199,199,199,199,199,199,199
|
||||||
|
peche_xx dw 0,228,44,90,320,136,182,274
|
||||||
|
peche_yy dw 0,200,200,200,200,200,200,200
|
||||||
|
|
||||||
*--- Sound files
|
*--- Sound files
|
||||||
* SNDxy.SND where x is the scene, y the file index (0..9)
|
* SNDxy.SND where x is the scene, y the file index (0..9)
|
||||||
|
|
|
@ -146,6 +146,8 @@ to_1 inx
|
||||||
|
|
||||||
*-------- Affichage des objets
|
*-------- Affichage des objets
|
||||||
|
|
||||||
|
affiche_objets
|
||||||
|
|
||||||
ldx #1
|
ldx #1
|
||||||
]lp phx
|
]lp phx
|
||||||
jsr affiche_objet
|
jsr affiche_objet
|
||||||
|
@ -264,6 +266,8 @@ tp_1 inx
|
||||||
|
|
||||||
*-------- Affichage des peches
|
*-------- Affichage des peches
|
||||||
|
|
||||||
|
affiche_peches
|
||||||
|
|
||||||
ldx #1
|
ldx #1
|
||||||
]lp phx
|
]lp phx
|
||||||
jsr affiche_peche
|
jsr affiche_peche
|
||||||
|
@ -353,7 +357,6 @@ efface_peche
|
||||||
|
|
||||||
fondParamPtr
|
fondParamPtr
|
||||||
adrl fondToSourceLocInfo
|
adrl fondToSourceLocInfo
|
||||||
* adrl iconToDestLocInfo
|
|
||||||
adrl contentToSourceLocInfo
|
adrl contentToSourceLocInfo
|
||||||
adrl iconToSourceRect
|
adrl iconToSourceRect
|
||||||
adrl iconToDestPoint
|
adrl iconToDestPoint
|
||||||
|
@ -362,7 +365,6 @@ fondParamPtr
|
||||||
|
|
||||||
iconParamPtr
|
iconParamPtr
|
||||||
adrl iconToSourceLocInfo
|
adrl iconToSourceLocInfo
|
||||||
* adrl iconToDestLocInfo
|
|
||||||
adrl contentToSourceLocInfo
|
adrl contentToSourceLocInfo
|
||||||
adrl iconToSourceRect
|
adrl iconToSourceRect
|
||||||
adrl iconToDestPoint
|
adrl iconToDestPoint
|
||||||
|
@ -374,23 +376,13 @@ fondToSourceLocInfo
|
||||||
ds 4 ; ptrFOND - $0000 on entry, high set after _NewHandle
|
ds 4 ; ptrFOND - $0000 on entry, high set after _NewHandle
|
||||||
dw 160
|
dw 160
|
||||||
dw 0,0,200,320
|
dw 0,0,200,320
|
||||||
fondRect
|
|
||||||
dw 0,0,200,320
|
|
||||||
|
|
||||||
iconToSourceLocInfo
|
iconToSourceLocInfo
|
||||||
dw mode_320 ; mode 320
|
dw mode_320 ; mode 320
|
||||||
adrl $8000 ; ptrICON - $8000 on entry, high set after ptrFOND
|
adrl $8000 ; ptrICON - $8000 on entry, high set after ptrFOND
|
||||||
dw 160
|
dw 160
|
||||||
dw 0,0,200,320
|
dw 0,0,200,320
|
||||||
iconRect
|
|
||||||
dw 0,0,200,320
|
|
||||||
|
|
||||||
iconToDestLocInfo
|
|
||||||
dw mode_320 ; +0 mode 320
|
|
||||||
adrl ptr012000 ; +2
|
|
||||||
dw 160
|
|
||||||
dw 0,0,200,320
|
|
||||||
|
|
||||||
iconToSourceRect
|
iconToSourceRect
|
||||||
dw 3,0,109,272
|
dw 3,0,109,272
|
||||||
iconToDestPoint
|
iconToDestPoint
|
||||||
|
@ -794,13 +786,6 @@ ai_affiche sep #$20
|
||||||
rep #$20
|
rep #$20
|
||||||
|
|
||||||
@loadfile #pIMAGE;ptrCONTENT
|
@loadfile #pIMAGE;ptrCONTENT
|
||||||
|
|
||||||
* @fadein ptrCONTENT;#TRUE
|
|
||||||
* PushLong ptrCONTENT
|
|
||||||
* PushLong ptrSCREEN
|
|
||||||
* PushLong #32768
|
|
||||||
* _BlockMove
|
|
||||||
|
|
||||||
jmp cree_fenetre
|
jmp cree_fenetre
|
||||||
|
|
||||||
*-----------------------
|
*-----------------------
|
||||||
|
@ -1128,7 +1113,8 @@ musique lda fgSND ; can we play?
|
||||||
bne mu_1 ; yes
|
bne mu_1 ; yes
|
||||||
rts ; no
|
rts ; no
|
||||||
|
|
||||||
mu_1 jsr init_musique
|
mu_1 jsr ensoniq_stopall
|
||||||
|
jsr init_musique
|
||||||
|
|
||||||
lda #1
|
lda #1
|
||||||
sta i
|
sta i
|
||||||
|
@ -1139,6 +1125,9 @@ mu_1 jsr init_musique
|
||||||
lda i
|
lda i
|
||||||
jsr charge_son ; charge les sons
|
jsr charge_son ; charge les sons
|
||||||
jsr clavier_sonore ; joue les sons
|
jsr clavier_sonore ; joue les sons
|
||||||
|
php
|
||||||
|
jsr ensoniq_stopall
|
||||||
|
plp
|
||||||
bcs mu_exit ; si *, on quitte le clavier sonore
|
bcs mu_exit ; si *, on quitte le clavier sonore
|
||||||
jsr nettoie_musique
|
jsr nettoie_musique
|
||||||
inc i
|
inc i
|
||||||
|
@ -1318,6 +1307,46 @@ ry_err1 jsl GSOS
|
||||||
clc
|
clc
|
||||||
ry_err2 rts
|
ry_err2 rts
|
||||||
|
|
||||||
|
*-----------------------
|
||||||
|
* ENSONIQ_STOPALL - OK
|
||||||
|
*-----------------------
|
||||||
|
* ensoniq_stopall = stoppe tous les oscillateurs
|
||||||
|
|
||||||
|
ensoniq_stopall
|
||||||
|
sei
|
||||||
|
|
||||||
|
phd
|
||||||
|
lda #$c000
|
||||||
|
tcd
|
||||||
|
sep #$20
|
||||||
|
|
||||||
|
]lp lda soundctl
|
||||||
|
bmi ]lp
|
||||||
|
|
||||||
|
ldal $e100ca
|
||||||
|
and #%0000_1111
|
||||||
|
sta soundctl
|
||||||
|
|
||||||
|
ldx #2 ; boucle 2 fois
|
||||||
|
esa_1 ldy #$0
|
||||||
|
]lp tya
|
||||||
|
ora #$a0
|
||||||
|
sta soundadrl
|
||||||
|
lda #$01
|
||||||
|
sta sounddata
|
||||||
|
iny
|
||||||
|
cpy #32
|
||||||
|
bcc ]lp
|
||||||
|
dex
|
||||||
|
bne esa_1
|
||||||
|
|
||||||
|
rep #$20
|
||||||
|
pld
|
||||||
|
cli
|
||||||
|
rts
|
||||||
|
|
||||||
|
mx %00
|
||||||
|
|
||||||
*-----------------------
|
*-----------------------
|
||||||
* RYTHME_JOUE - OK
|
* RYTHME_JOUE - OK
|
||||||
*-----------------------
|
*-----------------------
|
||||||
|
|
|
@ -42,13 +42,6 @@
|
||||||
jsr loadFILE
|
jsr loadFILE
|
||||||
eom
|
eom
|
||||||
|
|
||||||
@fadein mac
|
|
||||||
lda ]2
|
|
||||||
ldx ]1+2
|
|
||||||
ldy ]1
|
|
||||||
jsr fadeIN
|
|
||||||
eom
|
|
||||||
|
|
||||||
*----------------------------------- Constantes
|
*----------------------------------- Constantes
|
||||||
|
|
||||||
*-------------- Softswitches
|
*-------------- Softswitches
|
||||||
|
@ -127,11 +120,6 @@ fgRESTART = 2
|
||||||
tdc
|
tdc
|
||||||
sta myDP
|
sta myDP
|
||||||
|
|
||||||
lda #MES_DONNEES
|
|
||||||
stal $300
|
|
||||||
lda #^MES_DONNEES
|
|
||||||
stal $302
|
|
||||||
|
|
||||||
*--- Version du systeme
|
*--- Version du systeme
|
||||||
|
|
||||||
jsl GSOS
|
jsl GSOS
|
||||||
|
@ -231,7 +219,6 @@ okTOOL PushWord #0
|
||||||
|
|
||||||
lda #^ptrE12000 ; shadowing is off, use slow RAM
|
lda #^ptrE12000 ; shadowing is off, use slow RAM
|
||||||
sta ptrSCREEN+2
|
sta ptrSCREEN+2
|
||||||
sta iconToDestLocInfo+4
|
|
||||||
|
|
||||||
*--- Et la musique...
|
*--- Et la musique...
|
||||||
|
|
||||||
|
@ -253,16 +240,26 @@ noSOUND _HideMenuBar
|
||||||
_FlushEvents
|
_FlushEvents
|
||||||
pla
|
pla
|
||||||
|
|
||||||
|
PushLong #0
|
||||||
|
PushWord #5 ; SetDeskPat
|
||||||
|
PushWord #$4000
|
||||||
|
PushWord #$0000
|
||||||
|
_Desktop
|
||||||
|
pla
|
||||||
|
pla
|
||||||
|
|
||||||
*----------------------------------------
|
*----------------------------------------
|
||||||
* INITIALISATIONS
|
* INITIALISATIONS
|
||||||
*----------------------------------------
|
*----------------------------------------
|
||||||
|
|
||||||
entryPOINT
|
entryPOINT
|
||||||
jsr TWILIGHToff
|
|
||||||
jsr set_language
|
jsr set_language
|
||||||
jsr antoine ; le menu principal
|
jsr antoine ; le menu principal
|
||||||
jsr init
|
jsr init
|
||||||
|
|
||||||
|
jsr initMIDI
|
||||||
|
jsr doSOUNDON
|
||||||
|
|
||||||
restartPOINT
|
restartPOINT
|
||||||
jsr init2
|
jsr init2
|
||||||
|
|
||||||
|
@ -285,9 +282,7 @@ refreshLOOP
|
||||||
* TASK MASTER
|
* TASK MASTER
|
||||||
*----------------------------------------
|
*----------------------------------------
|
||||||
|
|
||||||
taskLOOP inc VBLCounter0
|
taskLOOP PushWord #0
|
||||||
|
|
||||||
PushWord #0
|
|
||||||
PushWord #0
|
PushWord #0
|
||||||
PushWord #$c000
|
PushWord #$c000
|
||||||
PushWord #0
|
PushWord #0
|
||||||
|
@ -295,7 +290,7 @@ taskLOOP inc VBLCounter0
|
||||||
pla
|
pla
|
||||||
pla
|
pla
|
||||||
|
|
||||||
* jsr checkREPLAY
|
jsr checkREPLAY
|
||||||
|
|
||||||
PushWord #0
|
PushWord #0
|
||||||
PushWord #%11111111_11111111
|
PushWord #%11111111_11111111
|
||||||
|
@ -329,24 +324,21 @@ doKEYDOWN lda taskMODIFIERS
|
||||||
|
|
||||||
doOPENAPPLE
|
doOPENAPPLE
|
||||||
ldx #-1
|
ldx #-1
|
||||||
sep #$20
|
|
||||||
]lp inx
|
]lp inx
|
||||||
lda tblKEYVALUE,x ; get key
|
lda tblKEYVALUE,x ; get key
|
||||||
|
and #$ff
|
||||||
cmp #$ff ; end of table
|
cmp #$ff ; end of table
|
||||||
beq doOPENAPPLE99 ; so exit
|
beq doOPENAPPLE99 ; so exit
|
||||||
cmp taskMESSAGE ; same as pressed key?
|
cmp taskMESSAGE ; same as pressed key?
|
||||||
bne ]lp ; no, loop
|
bne ]lp ; no, loop
|
||||||
|
|
||||||
rep #$20
|
|
||||||
txa
|
txa
|
||||||
asl
|
asl
|
||||||
tax
|
tax
|
||||||
jmp (tblKEYADDRESS,x)
|
jmp (tblKEYADDRESS,x)
|
||||||
|
|
||||||
doOPENAPPLE99
|
doOPENAPPLE99
|
||||||
doNOT
|
doNOT rts
|
||||||
rep #$20
|
|
||||||
rts
|
|
||||||
|
|
||||||
mx %00
|
mx %00
|
||||||
|
|
||||||
|
@ -365,8 +357,6 @@ tblKEYADDRESS
|
||||||
da doMUSIK,doMUSIK
|
da doMUSIK,doMUSIK
|
||||||
da monitor
|
da monitor
|
||||||
|
|
||||||
doMUSIK rts
|
|
||||||
|
|
||||||
*----------------------------------- Gestion du mouseUp
|
*----------------------------------- Gestion du mouseUp
|
||||||
* on compare les coordonnées avec celles du incontent
|
* on compare les coordonnées avec celles du incontent
|
||||||
* si dans le même rectangle, on traite
|
* si dans le même rectangle, on traite
|
||||||
|
@ -402,13 +392,6 @@ domu_3 jsr aiguillage ; choisit le texte correspondant
|
||||||
lda #$bebe ; il faudra rafraîchir l'écran
|
lda #$bebe ; il faudra rafraîchir l'écran
|
||||||
domu_4 rts
|
domu_4 rts
|
||||||
|
|
||||||
*----------------------------------- Gestion des controles
|
|
||||||
|
|
||||||
doCONTROL lda taskREC+38
|
|
||||||
asl
|
|
||||||
tax
|
|
||||||
jmp (ctrlTBL,x)
|
|
||||||
|
|
||||||
*----------------------------------- Clic dans le contenu de la fenêtre
|
*----------------------------------- Clic dans le contenu de la fenêtre
|
||||||
|
|
||||||
doCONTENT lda textes_encore_presents
|
doCONTENT lda textes_encore_presents
|
||||||
|
@ -443,7 +426,8 @@ doco_3 PushLong haCONTROL ; on enlève le contrôle
|
||||||
* RAFRAICHIT LES PALETTES ET LA FENETRE
|
* RAFRAICHIT LES PALETTES ET LA FENETRE
|
||||||
*----------------------------------------
|
*----------------------------------------
|
||||||
|
|
||||||
refreshME pea $0000 ; la palette
|
refreshME
|
||||||
|
pea $0000 ; la palette
|
||||||
lda ptrCONTENT+2
|
lda ptrCONTENT+2
|
||||||
pha
|
pha
|
||||||
lda ptrCONTENT
|
lda ptrCONTENT
|
||||||
|
@ -452,18 +436,18 @@ refreshME pea $0000 ; la palette
|
||||||
pha
|
pha
|
||||||
_SetColorTable
|
_SetColorTable
|
||||||
|
|
||||||
lda #$0fff ; LOGO - force les couleurs en attendant !
|
* lda #$0fff ; LOGO - force les couleurs en attendant !
|
||||||
stal $019e1e
|
* stal $019e1e
|
||||||
stal $e19e1e
|
* stal $e19e1e
|
||||||
|
|
||||||
PushLong #0
|
PushLong #0
|
||||||
_RefreshDesktop
|
_RefreshDesktop
|
||||||
|
|
||||||
PushWord #0
|
* PushWord #0
|
||||||
PushWord #%11111111_11111111
|
* PushWord #%11111111_11111111
|
||||||
PushWord #0
|
* PushWord #0
|
||||||
_FlushEvents
|
* _FlushEvents
|
||||||
pla
|
* pla
|
||||||
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
@ -541,24 +525,29 @@ pm_none _SetPort
|
||||||
|
|
||||||
*----------------------------------- Open
|
*----------------------------------- Open
|
||||||
|
|
||||||
doLOAD
|
doLOAD lda texte_selectionne
|
||||||
|
ora objet_selectionne
|
||||||
|
ora peche_selectionne
|
||||||
|
beq doLOAD0
|
||||||
|
rts
|
||||||
|
|
||||||
|
doLOAD0
|
||||||
* jsr suspendMUSIC ; NTP off
|
* jsr suspendMUSIC ; NTP off
|
||||||
jsr saveBACK
|
|
||||||
|
|
||||||
PushWord #30
|
PushWord #30
|
||||||
PushWord #43
|
PushWord #43
|
||||||
PushLong #strLOADFILE
|
PushLong #strLOADFILE
|
||||||
PushLong #0
|
PushLong #0
|
||||||
PushLong #typeLIST
|
PushLong #typeLIST
|
||||||
PushLong #replyPTR
|
PushLong #replyPTR
|
||||||
_SFGetFile
|
_SFGetFile
|
||||||
|
|
||||||
jsr loadBACK
|
jsr init_souris
|
||||||
|
|
||||||
lda replyPTR
|
lda replyPTR
|
||||||
bne doLOAD1
|
bne doLOAD1
|
||||||
* jsr resumeMUSIC ; NTP on
|
loadKO99 rts
|
||||||
rts
|
* jmp resumeMUSIC ; NTP on
|
||||||
|
|
||||||
doLOAD1 jsr copyPATH
|
doLOAD1 jsr copyPATH
|
||||||
|
|
||||||
|
@ -579,28 +568,61 @@ doLOAD1 jsr copyPATH
|
||||||
dw $2014
|
dw $2014
|
||||||
adrl proCLOSE
|
adrl proCLOSE
|
||||||
|
|
||||||
loadKO99 rts
|
lda #$bcbc
|
||||||
|
rts
|
||||||
|
|
||||||
|
*---
|
||||||
|
|
||||||
|
lda texte_selectionne
|
||||||
|
beq load_notxt
|
||||||
|
jsr ai_affiche ; texte selectionne = image 1..8 et c'est tout
|
||||||
|
bra load_exit
|
||||||
|
|
||||||
|
load_notxt jsr init_souris
|
||||||
|
|
||||||
|
PushLong ptrFOND ; 1. on met le fond
|
||||||
|
PushLong ptrCONTENT
|
||||||
|
PushLong #32768
|
||||||
|
_BlockMove
|
||||||
|
|
||||||
|
lda peche_selectionne
|
||||||
|
beq load_nosin
|
||||||
|
jsr affiche_peches
|
||||||
|
|
||||||
|
load_nosin lda objet_selectionne
|
||||||
|
beq load_exit
|
||||||
|
jsr affiche_objets
|
||||||
|
|
||||||
|
load_exit jsr resumeMUSIC
|
||||||
|
lda #$bcbc ; force le refresh
|
||||||
|
rts
|
||||||
|
|
||||||
*----------------------------------- Save
|
*----------------------------------- Save
|
||||||
|
|
||||||
doSAVE
|
doSAVE lda texte_selectionne
|
||||||
* jsr suspendMUSIC ; NTP off
|
ora objet_selectionne
|
||||||
jsr saveBACK
|
ora peche_selectionne
|
||||||
|
beq doSAVE0
|
||||||
|
rts
|
||||||
|
|
||||||
PushWord #25
|
doSAVE0
|
||||||
PushWord #36
|
* jsr suspendMUSIC ; NTP off
|
||||||
PushLong #strSAVEFILE
|
|
||||||
PushLong #namePATH
|
PushWord #25
|
||||||
PushWord #15
|
PushWord #36
|
||||||
PushLong #replyPTR
|
PushLong #strSAVEFILE
|
||||||
|
PushLong #namePATH
|
||||||
|
PushWord #15
|
||||||
|
PushLong #replyPTR
|
||||||
_SFPutFile
|
_SFPutFile
|
||||||
|
|
||||||
jsr loadBACK
|
jsr init_souris
|
||||||
* jsr resumeMUSIC ; NTP on
|
|
||||||
|
|
||||||
lda replyPTR
|
lda replyPTR
|
||||||
bne doSAVE1
|
bne doSAVE1
|
||||||
|
saveKO99
|
||||||
rts
|
rts
|
||||||
|
* jmp resumeMUSIC
|
||||||
|
|
||||||
doSAVE1 jsr copyPATH
|
doSAVE1 jsr copyPATH
|
||||||
|
|
||||||
|
@ -629,8 +651,7 @@ doSAVE1 jsr copyPATH
|
||||||
jsl GSOS
|
jsl GSOS
|
||||||
dw $2014
|
dw $2014
|
||||||
adrl proCLOSE
|
adrl proCLOSE
|
||||||
|
rts
|
||||||
saveKO99 rts
|
|
||||||
|
|
||||||
*--- Recopie le filename du fichier de sauvegarde
|
*--- Recopie le filename du fichier de sauvegarde
|
||||||
|
|
||||||
|
@ -652,23 +673,22 @@ copyPATH sep #$20
|
||||||
|
|
||||||
doRESTART
|
doRESTART
|
||||||
* jsr suspendMUSIC ; NTP off
|
* jsr suspendMUSIC ; NTP off
|
||||||
jsr saveBACK
|
|
||||||
|
|
||||||
PushWord #0
|
PushWord #0
|
||||||
PushWord #5
|
PushWord #5
|
||||||
PushLong #0
|
PushLong #0
|
||||||
pea $0000
|
pea $0000
|
||||||
lda #alertRESTART
|
lda #alertRESTART
|
||||||
ora saveLANGUAGE
|
ora saveLANGUAGE
|
||||||
pha
|
pha
|
||||||
_AlertWindow
|
_AlertWindow
|
||||||
|
|
||||||
jsr loadBACK
|
* jsr resumeMUSIC
|
||||||
|
|
||||||
pla
|
pla
|
||||||
beq re1
|
beq re1
|
||||||
* jmp resumeMUSIC ; NTP on
|
lda #0
|
||||||
|
rts
|
||||||
re1 lda #$bcbc
|
re1 lda #$bcbc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
@ -676,7 +696,6 @@ re1 lda #$bcbc
|
||||||
|
|
||||||
doQUIT
|
doQUIT
|
||||||
* jsr suspendMUSIC ; NTP off
|
* jsr suspendMUSIC ; NTP off
|
||||||
jsr saveBACK
|
|
||||||
|
|
||||||
PushWord #0
|
PushWord #0
|
||||||
PushWord #5
|
PushWord #5
|
||||||
|
@ -687,18 +706,14 @@ doQUIT
|
||||||
pha
|
pha
|
||||||
_AlertWindow
|
_AlertWindow
|
||||||
|
|
||||||
jsr loadBACK
|
|
||||||
* jsr resumeMUSIC ; NTP on
|
|
||||||
|
|
||||||
pla
|
pla
|
||||||
beq meQUIT
|
beq meQUIT
|
||||||
rts
|
rts
|
||||||
|
* jmp resumeMUSIC
|
||||||
|
|
||||||
*----------------------------------- Quit
|
*----------------------------------- Quit
|
||||||
|
|
||||||
meQUIT
|
meQUIT jsr stopMIDI
|
||||||
* jsr stopNTP
|
|
||||||
jsr TWILIGHTon
|
|
||||||
|
|
||||||
meQUIT0 PushWord #refIsHandle
|
meQUIT0 PushWord #refIsHandle
|
||||||
PushLong SStopREC
|
PushLong SStopREC
|
||||||
|
@ -721,113 +736,6 @@ meQUIT1 PushWord myID
|
||||||
|
|
||||||
monitor brk $bd
|
monitor brk $bd
|
||||||
|
|
||||||
*----------------------------------------
|
|
||||||
* TWILIGHT
|
|
||||||
*----------------------------------------
|
|
||||||
|
|
||||||
*----------------------------
|
|
||||||
* TWILIGHToff
|
|
||||||
* Turns Twilight II off
|
|
||||||
*
|
|
||||||
* Entry:
|
|
||||||
* n/a
|
|
||||||
*
|
|
||||||
* Exit:
|
|
||||||
* n/a
|
|
||||||
*
|
|
||||||
*----------------------------
|
|
||||||
|
|
||||||
lenV1 = $49bf
|
|
||||||
lenV2 = $539a
|
|
||||||
|
|
||||||
offV1 = $117a
|
|
||||||
offV2 = $154c
|
|
||||||
|
|
||||||
TWILIGHToff
|
|
||||||
ldal $e11600
|
|
||||||
sta Debut
|
|
||||||
ldal $e11602
|
|
||||||
sta Debut+2
|
|
||||||
|
|
||||||
TWILIGHToff1
|
|
||||||
ldy #8
|
|
||||||
lda [Debut],y
|
|
||||||
ldx #offV1
|
|
||||||
cmp #lenV1
|
|
||||||
beq TWILIGHToff2
|
|
||||||
ldx #offV2
|
|
||||||
cmp #lenV2
|
|
||||||
bne TWILIGHToff3
|
|
||||||
|
|
||||||
TWILIGHToff2
|
|
||||||
stx offTWILIGHT
|
|
||||||
|
|
||||||
lda [Debut]
|
|
||||||
sta Arrivee
|
|
||||||
sta ptrTWILIGHT
|
|
||||||
ldy #2
|
|
||||||
lda [Debut],y
|
|
||||||
sta Arrivee+2
|
|
||||||
sta ptrTWILIGHT+2
|
|
||||||
|
|
||||||
txy
|
|
||||||
lda [Arrivee],y
|
|
||||||
cmp #$0ef0
|
|
||||||
bne TWILIGHToff3
|
|
||||||
lda #$0e80
|
|
||||||
sta [Arrivee],y
|
|
||||||
inc fgTWILIGHT
|
|
||||||
rts
|
|
||||||
|
|
||||||
TWILIGHToff3
|
|
||||||
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
|
|
||||||
* Turns Twilight II on
|
|
||||||
*
|
|
||||||
* Entry:
|
|
||||||
* n/a
|
|
||||||
*
|
|
||||||
* Exit:
|
|
||||||
* n/a
|
|
||||||
*
|
|
||||||
*----------------------------
|
|
||||||
|
|
||||||
TWILIGHTon
|
|
||||||
lda fgTWILIGHT
|
|
||||||
bne TWILIGHTon1
|
|
||||||
rts
|
|
||||||
|
|
||||||
TWILIGHTon1
|
|
||||||
lda ptrTWILIGHT
|
|
||||||
sta Arrivee
|
|
||||||
lda ptrTWILIGHT+2
|
|
||||||
sta Arrivee+2
|
|
||||||
ldy offTWILIGHT
|
|
||||||
lda #$0ef0
|
|
||||||
sta [Arrivee],y
|
|
||||||
rts
|
|
||||||
|
|
||||||
*--- Twilight II
|
|
||||||
|
|
||||||
ptrTWILIGHT ds 4
|
|
||||||
fgTWILIGHT ds 2
|
|
||||||
offTWILIGHT ds 2
|
|
||||||
|
|
||||||
*----------------------------------------
|
*----------------------------------------
|
||||||
* MEMOIRE
|
* MEMOIRE
|
||||||
*----------------------------------------
|
*----------------------------------------
|
||||||
|
@ -857,191 +765,6 @@ make64KB pha
|
||||||
* GFX
|
* GFX
|
||||||
*----------------------------------------
|
*----------------------------------------
|
||||||
|
|
||||||
*--------------------------------------
|
|
||||||
|
|
||||||
nextVBL lda #75
|
|
||||||
pha
|
|
||||||
]lp ldal $e0c02e
|
|
||||||
and #$7f
|
|
||||||
cmp 1,s
|
|
||||||
blt ]lp
|
|
||||||
cmp #100
|
|
||||||
bge ]lp
|
|
||||||
pla
|
|
||||||
|
|
||||||
waitVBL ldal RDVBLBAR-1
|
|
||||||
bpl waitVBL
|
|
||||||
rts
|
|
||||||
|
|
||||||
waitKEY ldal KBD-1
|
|
||||||
bpl waitKEY
|
|
||||||
stal KBDSTROBE-1
|
|
||||||
rts
|
|
||||||
|
|
||||||
*--- On attend un clic ou une combinaison de touches
|
|
||||||
|
|
||||||
waitEVENT inc VBLCounter0
|
|
||||||
|
|
||||||
PushWord #0
|
|
||||||
PushWord #%00000000_00001010
|
|
||||||
PushLong #taskREC
|
|
||||||
_GetNextEvent
|
|
||||||
pla
|
|
||||||
beq waitEVENT
|
|
||||||
|
|
||||||
lda taskREC
|
|
||||||
cmp #mouseDownEvt
|
|
||||||
beq we_1
|
|
||||||
rts
|
|
||||||
|
|
||||||
we_1 inc VBLCounter0
|
|
||||||
|
|
||||||
PushWord #0
|
|
||||||
PushWord #0
|
|
||||||
_StillDown
|
|
||||||
pla
|
|
||||||
bne we_1
|
|
||||||
|
|
||||||
lda #mouseDownEvt
|
|
||||||
rts
|
|
||||||
|
|
||||||
*--------------------------------------
|
|
||||||
|
|
||||||
fadeIN pha
|
|
||||||
sty Debut
|
|
||||||
stx Debut+2
|
|
||||||
|
|
||||||
_HideCursor
|
|
||||||
|
|
||||||
ldy #$2000
|
|
||||||
sty Arrivee
|
|
||||||
ldx ptrSCREEN+2
|
|
||||||
stx Arrivee+2
|
|
||||||
|
|
||||||
ldy #$7e00
|
|
||||||
lda #0
|
|
||||||
]lp sta [Arrivee],y
|
|
||||||
iny
|
|
||||||
iny
|
|
||||||
bpl ]lp
|
|
||||||
|
|
||||||
pla ; ne copie pas les données
|
|
||||||
cmp #FALSE ; si à FALSE
|
|
||||||
beq fadeIN1
|
|
||||||
|
|
||||||
ldy #$7dfe
|
|
||||||
]lp lda [Debut],y
|
|
||||||
sta [Arrivee],y
|
|
||||||
dey
|
|
||||||
dey
|
|
||||||
bpl ]lp
|
|
||||||
|
|
||||||
fadeIN1 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
|
|
||||||
jsr nextVBL
|
|
||||||
dex
|
|
||||||
bpl fadeIN2
|
|
||||||
|
|
||||||
_ShowCursor
|
|
||||||
rts
|
|
||||||
|
|
||||||
*---
|
|
||||||
|
|
||||||
fadeOUT lda #$9e00
|
|
||||||
sta Debut
|
|
||||||
lda ptrSCREEN+2
|
|
||||||
sta Debut+2
|
|
||||||
|
|
||||||
_HideCursor
|
|
||||||
|
|
||||||
ldx #$000f
|
|
||||||
fadeOUT1 ldy #$01fe
|
|
||||||
fadeOUT2 lda [Debut],y
|
|
||||||
and #$000f
|
|
||||||
beq fadeOUT3
|
|
||||||
lda [Debut],y
|
|
||||||
sec
|
|
||||||
sbc #$0001
|
|
||||||
sta [Debut],y
|
|
||||||
fadeOUT3 lda [Debut],y
|
|
||||||
and #$00f0
|
|
||||||
beq fadeOUT4
|
|
||||||
lda [Debut],y
|
|
||||||
sec
|
|
||||||
sbc #$0010
|
|
||||||
sta [Debut],y
|
|
||||||
fadeOUT4 lda [Debut],y
|
|
||||||
and #$0f00
|
|
||||||
beq fadeOUT5
|
|
||||||
lda [Debut],y
|
|
||||||
sec
|
|
||||||
sbc #$0100
|
|
||||||
sta [Debut],y
|
|
||||||
|
|
||||||
fadeOUT5 dey
|
|
||||||
dey
|
|
||||||
bpl fadeOUT2
|
|
||||||
jsr nextVBL
|
|
||||||
dex
|
|
||||||
bpl fadeOUT1
|
|
||||||
|
|
||||||
_ShowCursor
|
|
||||||
* jmp noircit_ecran
|
|
||||||
rts
|
|
||||||
|
|
||||||
*----------------------------
|
*----------------------------
|
||||||
* unpackLZ4
|
* unpackLZ4
|
||||||
* Unpacks a LZ4 file
|
* Unpacks a LZ4 file
|
||||||
|
@ -1057,150 +780,115 @@ fadeOUT5 dey
|
||||||
*
|
*
|
||||||
*----------------------------
|
*----------------------------
|
||||||
|
|
||||||
unpackLZ4 sta LZ4_Limit+1
|
mx %00
|
||||||
|
|
||||||
* jsr suspendMUSIC
|
unpackLZ4 sta LZ4_Limit+1
|
||||||
sep #$20
|
sep #$20
|
||||||
|
|
||||||
*--- Source
|
lda ptrUNPACK+2 ; Source
|
||||||
|
sta LZ4_Literal_3+2
|
||||||
|
sta LZ4_ReadToken+3
|
||||||
|
sta LZ4_Match_1+3
|
||||||
|
sta LZ4_GetLength_1+3
|
||||||
|
|
||||||
lda ptrUNPACK+2
|
lda ptrIMAGE+2 ; Destination
|
||||||
sta LZ4_Literal_3+2
|
sta LZ4_Literal_3+1
|
||||||
sta LZ4_ReadToken+3
|
sta LZ4_Match_5+1
|
||||||
sta LZ4_Match_1+3
|
sta LZ4_Match_5+2
|
||||||
sta LZ4_GetLength_1+3
|
|
||||||
|
|
||||||
*--- Destination
|
rep #$20
|
||||||
|
|
||||||
lda ptrIMAGE+2
|
|
||||||
sta LZ4_Literal_3+1
|
|
||||||
sta LZ4_Match_5+1
|
|
||||||
sta LZ4_Match_5+2
|
|
||||||
|
|
||||||
rep #$20
|
|
||||||
|
|
||||||
* REP #$30
|
|
||||||
* STY LZ4_Limit+1
|
|
||||||
|
|
||||||
*--
|
*--
|
||||||
|
|
||||||
ldy #0 ; Init Target unpacked Data offset
|
ldy #0 ; Init Target unpacked Data offset
|
||||||
ldx #16 ; Offset after header
|
ldx #16 ; Offset after header
|
||||||
|
|
||||||
LZ4_ReadToken LDAL $AA0000,X ; Read Token Byte
|
LZ4_ReadToken
|
||||||
INX
|
LDAL $AA0000,X ; Read Token Byte
|
||||||
STA LZ4_Match_2+1
|
INX
|
||||||
|
STA LZ4_Match_2+1
|
||||||
|
|
||||||
|
*----------------
|
||||||
|
|
||||||
|
LZ4_Literal
|
||||||
|
AND #$00F0 ; >>> Process Literal Bytes <<<
|
||||||
|
BEQ LZ4_Limit ; No Literal
|
||||||
|
CMP #$00F0
|
||||||
|
BNE LZ4_Literal_1
|
||||||
|
JSR LZ4_GetLengthLit ; Compute Literal Length with next bytes
|
||||||
|
BRA LZ4_Literal_2
|
||||||
|
LZ4_Literal_1
|
||||||
|
LSR ; Literal Length use the 4 bit
|
||||||
|
LSR
|
||||||
|
LSR
|
||||||
|
LSR
|
||||||
|
|
||||||
|
LZ4_Literal_2
|
||||||
|
DEC ; Copy A+1 Bytes
|
||||||
|
LZ4_Literal_3
|
||||||
|
MVN $AA,$BB ; Copy Literal Bytes from packed data buffer
|
||||||
|
PHK ; X and Y are auto incremented
|
||||||
|
PLB
|
||||||
|
|
||||||
*----------------
|
*----------------
|
||||||
|
|
||||||
LZ4_Literal AND #$00F0 ; >>> Process Literal Bytes <<<
|
LZ4_Limit CPX #$AAAA ; End Of Packed Data buffer ?
|
||||||
BEQ LZ4_Limit ; No Literal
|
BEQ LZ4_End
|
||||||
CMP #$00F0
|
|
||||||
BNE LZ4_Literal_1
|
|
||||||
JSR LZ4_GetLengthLit ; Compute Literal Length with next bytes
|
|
||||||
BRA LZ4_Literal_2
|
|
||||||
LZ4_Literal_1 LSR ; Literal Length use the 4 bit
|
|
||||||
LSR
|
|
||||||
LSR
|
|
||||||
LSR
|
|
||||||
|
|
||||||
LZ4_Literal_2 DEC ; Copy A+1 Bytes
|
|
||||||
LZ4_Literal_3 MVN $AA,$BB ; Copy Literal Bytes from packed data buffer
|
|
||||||
PHK ; X and Y are auto incremented
|
|
||||||
PLB
|
|
||||||
|
|
||||||
*----------------
|
*----------------
|
||||||
|
|
||||||
LZ4_Limit CPX #$AAAA ; End Of Packed Data buffer ?
|
LZ4_Match TYA ; >>> Process Match Bytes <<<
|
||||||
BEQ LZ4_End
|
SEC
|
||||||
|
LZ4_Match_1 SBCL $AA0000,X ; Match Offset
|
||||||
|
INX
|
||||||
|
INX
|
||||||
|
STA LZ4_Match_4+1
|
||||||
|
|
||||||
|
LZ4_Match_2 LDA #$0000 ; Current Token Value
|
||||||
|
AND #$000F
|
||||||
|
CMP #$000F
|
||||||
|
BNE LZ4_Match_3
|
||||||
|
JSR LZ4_GetLengthMat ; Compute Match Length with next bytes
|
||||||
|
LZ4_Match_3 CLC
|
||||||
|
ADC #$0003 ; Minimum Match Length is 4 (-1 for the MVN)
|
||||||
|
PHX
|
||||||
|
LZ4_Match_4 LDX #$AAAA ; Match Byte Offset
|
||||||
|
LZ4_Match_5 MVN $BB,$BB ; Copy Match Bytes from unpacked data buffer
|
||||||
|
PHK ; X and Y are auto incremented
|
||||||
|
PLB
|
||||||
|
PLX
|
||||||
|
BRA LZ4_ReadToken
|
||||||
|
|
||||||
*----------------
|
*----------------
|
||||||
|
|
||||||
LZ4_Match TYA ; >>> Process Match Bytes <<<
|
LZ4_GetLengthLit
|
||||||
SEC
|
LDA #$000F ; Compute Variable Length (Literal or Match)
|
||||||
LZ4_Match_1 SBCL $AA0000,X ; Match Offset
|
LZ4_GetLengthMat
|
||||||
INX
|
STA LZ4_GetLength_2+1
|
||||||
INX
|
LZ4_GetLength_1
|
||||||
STA LZ4_Match_4+1
|
LDAL $AA0000,X ; Read Length Byte
|
||||||
|
INX
|
||||||
LZ4_Match_2 LDA #$0000 ; Current Token Value
|
AND #$00FF
|
||||||
AND #$000F
|
CMP #$00FF
|
||||||
CMP #$000F
|
BNE LZ4_GetLength_3
|
||||||
BNE LZ4_Match_3
|
CLC
|
||||||
JSR LZ4_GetLengthMat ; Compute Match Length with next bytes
|
LZ4_GetLength_2
|
||||||
LZ4_Match_3 CLC
|
ADC #$000F
|
||||||
ADC #$0003 ; Minimum Match Length is 4 (-1 for the MVN)
|
STA LZ4_GetLength_2+1
|
||||||
|
BRA LZ4_GetLength_1
|
||||||
PHX
|
LZ4_GetLength_3
|
||||||
LZ4_Match_4 LDX #$AAAA ; Match Byte Offset
|
ADC LZ4_GetLength_2+1
|
||||||
LZ4_Match_5 MVN $BB,$BB ; Copy Match Bytes from unpacked data buffer
|
RTS
|
||||||
PHK ; X and Y are auto incremented
|
|
||||||
PLB
|
|
||||||
PLX
|
|
||||||
BRA LZ4_ReadToken
|
|
||||||
|
|
||||||
*----------------
|
|
||||||
|
|
||||||
LZ4_GetLengthLit LDA #$000F ; Compute Variable Length (Literal or Match)
|
|
||||||
LZ4_GetLengthMat STA LZ4_GetLength_2+1
|
|
||||||
LZ4_GetLength_1 LDAL $AA0000,X ; Read Length Byte
|
|
||||||
INX
|
|
||||||
AND #$00FF
|
|
||||||
CMP #$00FF
|
|
||||||
BNE LZ4_GetLength_3
|
|
||||||
CLC
|
|
||||||
LZ4_GetLength_2 ADC #$000F
|
|
||||||
STA LZ4_GetLength_2+1
|
|
||||||
BRA LZ4_GetLength_1
|
|
||||||
LZ4_GetLength_3 ADC LZ4_GetLength_2+1
|
|
||||||
RTS
|
|
||||||
|
|
||||||
*----------------
|
*----------------
|
||||||
|
|
||||||
LZ4_End sty lenDATA ; Y = length of unpacked data
|
LZ4_End sty lenDATA ; Y = length of unpacked data
|
||||||
* jmp resumeMUSIC
|
rts
|
||||||
|
|
||||||
*---
|
*---
|
||||||
|
|
||||||
lenDATA ds 4
|
lenDATA ds 4
|
||||||
|
|
||||||
*-----------------------------------
|
|
||||||
* SAVE THE SHR SCREEN
|
|
||||||
*-----------------------------------
|
|
||||||
|
|
||||||
saveBACK _HideCursor
|
|
||||||
PushLong ptrSCREEN
|
|
||||||
PushLong ptrBACKGND
|
|
||||||
PushLong #32768
|
|
||||||
_BlockMove
|
|
||||||
_ShowCursor
|
|
||||||
rts
|
|
||||||
|
|
||||||
*-----------------------------------
|
|
||||||
* RESTORE THE SHR SCREEN
|
|
||||||
*-----------------------------------
|
|
||||||
|
|
||||||
loadBACK _HideCursor
|
|
||||||
PushLong ptrBACKGND
|
|
||||||
PushLong ptrSCREEN
|
|
||||||
PushLong #32768
|
|
||||||
_BlockMove
|
|
||||||
_ShowCursor
|
|
||||||
rts
|
|
||||||
|
|
||||||
*--- Genere un nombre aleatoire
|
|
||||||
|
|
||||||
Random
|
|
||||||
ldal $e0c02e
|
|
||||||
xba
|
|
||||||
clc
|
|
||||||
adc VBLCounter0
|
|
||||||
sta VBLCounter0
|
|
||||||
and #$ff
|
|
||||||
rts
|
|
||||||
|
|
||||||
VBLCounter0 ds 2
|
|
||||||
|
|
||||||
*----------------------------
|
*----------------------------
|
||||||
* nowWAIT
|
* nowWAIT
|
||||||
* Wait A seconds
|
* Wait A seconds
|
||||||
|
@ -1393,7 +1081,7 @@ taskTBL da doNOT ; 0 Null
|
||||||
da doNOT ; wInCalledSysEdit
|
da doNOT ; wInCalledSysEdit
|
||||||
da doNOT ; wInTrackZoom
|
da doNOT ; wInTrackZoom
|
||||||
da doNOT ; wInHitFrame
|
da doNOT ; wInHitFrame
|
||||||
da doCONTROL ; wInControl
|
da doNOT ; wInControl
|
||||||
da doNOT ; wInControlMenu
|
da doNOT ; wInControlMenu
|
||||||
|
|
||||||
ctrlTBL da doNOT ; 0
|
ctrlTBL da doNOT ; 0
|
||||||
|
@ -1427,13 +1115,17 @@ loadPATH1
|
||||||
* GS/OS
|
* GS/OS
|
||||||
*----------------------------------------
|
*----------------------------------------
|
||||||
|
|
||||||
loadFILE sta proOPEN+4 ; filename
|
loadFILE sta proOPEN+4 ; filename
|
||||||
sty proREAD+4 ; RAM pointer low
|
|
||||||
stx proREAD+6 ; RAM pointer high
|
|
||||||
|
|
||||||
loadFILE1 stz proERR
|
sty proDEST ; where to put at the end
|
||||||
|
stx proDEST+2
|
||||||
|
|
||||||
jsl GSOS
|
ldy ptrUNPACK ; where to load
|
||||||
|
sty proREAD+4 ; the packed image
|
||||||
|
ldx ptrUNPACK+2
|
||||||
|
stx proREAD+6
|
||||||
|
|
||||||
|
loadFILE1 jsl GSOS
|
||||||
dw $2010
|
dw $2010
|
||||||
adrl proOPEN
|
adrl proOPEN
|
||||||
bcs loadERR
|
bcs loadERR
|
||||||
|
@ -1455,14 +1147,21 @@ loadFILE1 stz proERR
|
||||||
loadFILE2 jsl GSOS
|
loadFILE2 jsl GSOS
|
||||||
dw $2014
|
dw $2014
|
||||||
adrl proCLOSE
|
adrl proCLOSE
|
||||||
|
|
||||||
ldy proREAD+12 ; length read
|
lda proREAD+12 ; length read
|
||||||
ldx proREAD+14
|
jsr unpackLZ4
|
||||||
|
|
||||||
|
PushLong ptrIMAGE
|
||||||
|
PushLong proDEST
|
||||||
|
PushLong #32768
|
||||||
|
_BlockMove
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
loadERR sta proERR
|
loadERR jsl GSOS
|
||||||
jsr loadFILE2
|
dw $2014
|
||||||
|
adrl proCLOSE
|
||||||
|
|
||||||
ldy #0
|
ldy #0
|
||||||
tyx
|
tyx
|
||||||
sec
|
sec
|
||||||
|
@ -1470,7 +1169,7 @@ loadERR sta proERR
|
||||||
|
|
||||||
*--- GS/OS data
|
*--- GS/OS data
|
||||||
|
|
||||||
proERR ds 2
|
proDEST ds 4 ; where to put the image at the end
|
||||||
|
|
||||||
*--- For the game party
|
*--- For the game party
|
||||||
|
|
||||||
|
@ -1549,9 +1248,9 @@ proVERS dw 1 ; pcount
|
||||||
* 1 2 3
|
* 1 2 3
|
||||||
* 23456789012345678901234567890123456789
|
* 23456789012345678901234567890123456789
|
||||||
|
|
||||||
pIMAGE strl '1/data/images/PIC1.PIC'
|
pIMAGE strl '1/data/images/PIC1.LZ4'
|
||||||
pFOND strl '1/data/images/PIC10.PIC'
|
pFOND strl '1/data/images/PIC10.LZ4'
|
||||||
pICONES strl '1/data/images/PIC11.PIC'
|
pICONES strl '1/data/images/PIC11.LZ4'
|
||||||
pTXT strl '1/data/textes/fr/TEXTES'
|
pTXT strl '1/data/textes/fr/TEXTES'
|
||||||
pBEAT strl '1/data/musiques/BEAT1.SPL'
|
pBEAT strl '1/data/musiques/BEAT1.SPL'
|
||||||
pSND strl '1/data/musiques/SND10.SND'
|
pSND strl '1/data/musiques/SND10.SND'
|
||||||
|
@ -1564,6 +1263,7 @@ pGAME strl '0/ '
|
||||||
|
|
||||||
put data.s
|
put data.s
|
||||||
put game.s
|
put game.s
|
||||||
|
put midi.s
|
||||||
|
|
||||||
*---
|
*---
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,523 @@
|
||||||
|
*
|
||||||
|
* Midi routines
|
||||||
|
*
|
||||||
|
* (c) 2020, Brutal Deluxe Software
|
||||||
|
* Antoine Vignau & Olivier Zardini
|
||||||
|
*
|
||||||
|
|
||||||
|
dpSEQ = $f8
|
||||||
|
|
||||||
|
seqOFFSET = $006
|
||||||
|
seqTEMPO = $18A
|
||||||
|
seqTPB = $190
|
||||||
|
|
||||||
|
*--------------------------------------
|
||||||
|
|
||||||
|
mx %00
|
||||||
|
|
||||||
|
stopMIDI lda fgMIDI
|
||||||
|
bne stopMIDI99
|
||||||
|
|
||||||
|
_SoundShutDown
|
||||||
|
|
||||||
|
PushWord #8
|
||||||
|
_UnloadOneTool
|
||||||
|
|
||||||
|
_KillAllNotes ; Stop MidiSynth
|
||||||
|
_MSShutDown
|
||||||
|
|
||||||
|
PushWord #35 ; unload MidiSynth
|
||||||
|
_UnloadOneTool
|
||||||
|
|
||||||
|
stopMIDI99 rts
|
||||||
|
|
||||||
|
*--------------------------------------
|
||||||
|
|
||||||
|
initMIDI pha ; Check for AppleTalk
|
||||||
|
_GetIRQEnable
|
||||||
|
pla
|
||||||
|
and #$20
|
||||||
|
beq initSOUND
|
||||||
|
|
||||||
|
inc fgMIDI
|
||||||
|
rts
|
||||||
|
|
||||||
|
initSOUND PushWord #8 ; Sound Tool Set
|
||||||
|
PushWord #0
|
||||||
|
_LoadOneTool
|
||||||
|
bcc initSOUND1
|
||||||
|
|
||||||
|
inc fgMIDI
|
||||||
|
rts
|
||||||
|
|
||||||
|
initSOUND1 lda myDP
|
||||||
|
clc
|
||||||
|
adc #256
|
||||||
|
pha
|
||||||
|
_SoundStartUp
|
||||||
|
bcc initSOUND2
|
||||||
|
|
||||||
|
inc fgMIDI
|
||||||
|
rts
|
||||||
|
|
||||||
|
initSOUND2 PushWord #%1111_1111_1111_1111 ; on arr<72>te tout pour MIDI Synth
|
||||||
|
_FFStopSound
|
||||||
|
|
||||||
|
*---
|
||||||
|
|
||||||
|
PushWord #35 ; MidiSynth
|
||||||
|
PushWord #0
|
||||||
|
_LoadOneTool
|
||||||
|
bcc initMIDI2
|
||||||
|
|
||||||
|
inc fgMIDI
|
||||||
|
rts
|
||||||
|
|
||||||
|
initMIDI2 _MSStartUp ; Start MidiSynth
|
||||||
|
bcc musicMEMORY
|
||||||
|
|
||||||
|
inc fgMIDI
|
||||||
|
rts
|
||||||
|
|
||||||
|
*-------------------------------------- Now, get RAM
|
||||||
|
|
||||||
|
musicMEMORY
|
||||||
|
PushLong #0
|
||||||
|
PushLong #$10000
|
||||||
|
PushWord myID
|
||||||
|
PushWord #%11000000_00011100
|
||||||
|
PushLong #0
|
||||||
|
_NewHandle
|
||||||
|
phd
|
||||||
|
tsc
|
||||||
|
tcd
|
||||||
|
lda [3]
|
||||||
|
sta ptrSEQ
|
||||||
|
ldy #2
|
||||||
|
lda [3],y
|
||||||
|
sta ptrSEQ+2
|
||||||
|
pld
|
||||||
|
pla
|
||||||
|
pla
|
||||||
|
bcc musicMEMORY1
|
||||||
|
|
||||||
|
inc fgMIDI ; cannot assign memory for MIDI sequences
|
||||||
|
rts
|
||||||
|
|
||||||
|
musicMEMORY1
|
||||||
|
PushLong #0
|
||||||
|
PushLong #$10000
|
||||||
|
PushWord myID
|
||||||
|
PushWord #%11000000_00011100
|
||||||
|
PushLong #0
|
||||||
|
_NewHandle
|
||||||
|
phd
|
||||||
|
tsc
|
||||||
|
tcd
|
||||||
|
lda [3]
|
||||||
|
sta ptrBNK
|
||||||
|
ldy #2
|
||||||
|
lda [3],y
|
||||||
|
sta ptrBNK+2
|
||||||
|
pld
|
||||||
|
pla
|
||||||
|
pla
|
||||||
|
bcc musicMEMORY2
|
||||||
|
|
||||||
|
inc fgMIDI ; cannot assign memory for MIDI sequences
|
||||||
|
rts
|
||||||
|
|
||||||
|
musicMEMORY2
|
||||||
|
PushLong #0
|
||||||
|
PushLong #$10000
|
||||||
|
PushWord myID
|
||||||
|
PushWord #%11000000_00011100
|
||||||
|
PushLong #0
|
||||||
|
_NewHandle
|
||||||
|
phd
|
||||||
|
tsc
|
||||||
|
tcd
|
||||||
|
lda [3]
|
||||||
|
sta ptrWAV
|
||||||
|
ldy #2
|
||||||
|
lda [3],y
|
||||||
|
sta ptrWAV+2
|
||||||
|
pld
|
||||||
|
pla
|
||||||
|
pla
|
||||||
|
bcc loadWAV
|
||||||
|
|
||||||
|
inc fgMIDI ; cannot assign memory for MIDI sequences
|
||||||
|
rts
|
||||||
|
|
||||||
|
*-------------------------------------- Load WAV
|
||||||
|
|
||||||
|
loadWAV
|
||||||
|
lda #pWAV
|
||||||
|
sta midiOPEN+4
|
||||||
|
|
||||||
|
jsl GSOS
|
||||||
|
dw $2010
|
||||||
|
adrl midiOPEN
|
||||||
|
sta midiERR
|
||||||
|
|
||||||
|
lda midiOPEN+2
|
||||||
|
sta midiSETMARK+2
|
||||||
|
sta midiREAD+2
|
||||||
|
sta midiCLOSE+2
|
||||||
|
|
||||||
|
jsl GSOS
|
||||||
|
dw $2016
|
||||||
|
adrl midiSETMARK
|
||||||
|
|
||||||
|
lda ptrWAV
|
||||||
|
sta midiREAD+4
|
||||||
|
lda ptrWAV+2
|
||||||
|
sta midiREAD+6
|
||||||
|
|
||||||
|
stz midiREAD+8
|
||||||
|
lda #1
|
||||||
|
sta midiREAD+10
|
||||||
|
|
||||||
|
jsl GSOS
|
||||||
|
dw $2012
|
||||||
|
adrl midiREAD
|
||||||
|
sta midiERR
|
||||||
|
|
||||||
|
jsl GSOS
|
||||||
|
dw $2014
|
||||||
|
adrl midiCLOSE
|
||||||
|
|
||||||
|
lda midiERR ; check err
|
||||||
|
beq loadBNK
|
||||||
|
|
||||||
|
inc fgMIDI ; exit
|
||||||
|
rts
|
||||||
|
|
||||||
|
*-------------------------------------- Load BNK
|
||||||
|
|
||||||
|
loadBNK
|
||||||
|
lda #pBNK ; load the MIDI bank
|
||||||
|
ldx ptrBNK+2
|
||||||
|
ldy ptrBNK
|
||||||
|
jsr loadGSOS
|
||||||
|
|
||||||
|
lda midiERR ; check err
|
||||||
|
beq loadSEQUENCE
|
||||||
|
|
||||||
|
inc fgMIDI
|
||||||
|
rts
|
||||||
|
|
||||||
|
*-------------------------------------- Load Sequence
|
||||||
|
|
||||||
|
loadSEQUENCE
|
||||||
|
lda #pSEQ
|
||||||
|
ldx ptrSEQ+2
|
||||||
|
ldy ptrSEQ
|
||||||
|
jsr loadGSOS
|
||||||
|
|
||||||
|
lda midiERR ; check err
|
||||||
|
beq initMUSIC
|
||||||
|
|
||||||
|
inc fgMIDI
|
||||||
|
rts
|
||||||
|
|
||||||
|
*-------------------------------------- Play sequence
|
||||||
|
|
||||||
|
initMUSIC
|
||||||
|
lda ptrSEQ
|
||||||
|
sta dpSEQ
|
||||||
|
lda ptrSEQ+2
|
||||||
|
sta dpSEQ+2
|
||||||
|
|
||||||
|
_KillAllNotes
|
||||||
|
|
||||||
|
ldy #seqOFFSET
|
||||||
|
lda [dpSEQ],y
|
||||||
|
clc
|
||||||
|
adc dpSEQ
|
||||||
|
sta seqPlayRec
|
||||||
|
lda #0
|
||||||
|
adc dpSEQ+2
|
||||||
|
sta seqPlayRec+2
|
||||||
|
|
||||||
|
ldy #seqTEMPO
|
||||||
|
lda [dpSEQ],y
|
||||||
|
asl
|
||||||
|
sec
|
||||||
|
sbc #10
|
||||||
|
pha
|
||||||
|
_SetTempo
|
||||||
|
|
||||||
|
ldy #seqTPB
|
||||||
|
lda [dpSEQ],y
|
||||||
|
pha
|
||||||
|
_SetBeat
|
||||||
|
|
||||||
|
*--- Toutes les pistes sont actives
|
||||||
|
|
||||||
|
lda ptrBNK
|
||||||
|
clc
|
||||||
|
adc #$400
|
||||||
|
sta ptrINST
|
||||||
|
lda ptrBNK+2
|
||||||
|
adc #0
|
||||||
|
sta ptrINST+2
|
||||||
|
|
||||||
|
stz myINDEX
|
||||||
|
|
||||||
|
]lp PushWord myINDEX
|
||||||
|
PushWord #$8000
|
||||||
|
_SetPlayTrack
|
||||||
|
|
||||||
|
PushWord myINDEX
|
||||||
|
PushWord #-1
|
||||||
|
_TrackToChannel
|
||||||
|
|
||||||
|
PushWord myINDEX
|
||||||
|
PushWord #2
|
||||||
|
_SetTrackOut
|
||||||
|
|
||||||
|
PushLong ptrINST
|
||||||
|
PushWord myINDEX
|
||||||
|
_SetInstrument
|
||||||
|
|
||||||
|
lda ptrINST
|
||||||
|
clc
|
||||||
|
adc #$120
|
||||||
|
sta ptrINST
|
||||||
|
lda ptrINST+2
|
||||||
|
adc #0
|
||||||
|
sta ptrINST+2
|
||||||
|
|
||||||
|
inc myINDEX
|
||||||
|
lda myINDEX
|
||||||
|
cmp #16
|
||||||
|
bne ]lp
|
||||||
|
|
||||||
|
*---
|
||||||
|
|
||||||
|
sei
|
||||||
|
|
||||||
|
PushLong ptrWAV
|
||||||
|
PushWord #0 ; docStart
|
||||||
|
PushWord #0 ; byteCount (=64ko)
|
||||||
|
_WriteRamBlock
|
||||||
|
|
||||||
|
PushLong #callBackRec
|
||||||
|
_SetCallBack
|
||||||
|
|
||||||
|
PushWord #0
|
||||||
|
PushWord #0
|
||||||
|
PushLong seqClock
|
||||||
|
PushLong seqPlayRec
|
||||||
|
_Locate
|
||||||
|
PullLong seqPlayRec
|
||||||
|
|
||||||
|
stz fgMIDI ; we are good!!!
|
||||||
|
cli ; end of the long init!
|
||||||
|
rts
|
||||||
|
|
||||||
|
*--------------------------------------
|
||||||
|
|
||||||
|
doMUSIK lda fgMIDI ; can we play?
|
||||||
|
bne nozik99
|
||||||
|
|
||||||
|
lda fgMIDIPLAY
|
||||||
|
eor #1
|
||||||
|
sta fgMIDIPLAY
|
||||||
|
beq doSOUNDON
|
||||||
|
bne doSOUNDOFF
|
||||||
|
|
||||||
|
nozik99 rts
|
||||||
|
|
||||||
|
fgMIDIPLAY ds 2
|
||||||
|
|
||||||
|
*--------------------------------------
|
||||||
|
|
||||||
|
doSOUNDON lda fgMIDI ; can we play?
|
||||||
|
bne playMUSIC99
|
||||||
|
|
||||||
|
jsr initMUSIC
|
||||||
|
|
||||||
|
lda #$0100 ; no, let's start playing!
|
||||||
|
sta seqPlay
|
||||||
|
PushLong #seqPlayRec
|
||||||
|
_SeqPlayer
|
||||||
|
stz fgLOOP
|
||||||
|
|
||||||
|
playMUSIC99
|
||||||
|
rts
|
||||||
|
|
||||||
|
*--------------------------------------
|
||||||
|
|
||||||
|
doSOUNDOFF lda fgMIDI
|
||||||
|
bne stopMUSIC99
|
||||||
|
|
||||||
|
stz seqPlay
|
||||||
|
PushLong #seqPlayRec
|
||||||
|
_SeqPlayer
|
||||||
|
_KillAllNotes
|
||||||
|
|
||||||
|
stopMUSIC99 rts
|
||||||
|
|
||||||
|
*-------------------------------------- Suspend music
|
||||||
|
|
||||||
|
suspendMUSIC
|
||||||
|
lda fgMIDI
|
||||||
|
ora fgMIDIPLAY
|
||||||
|
bne suspendMUSIC9
|
||||||
|
|
||||||
|
_MSSuspend
|
||||||
|
|
||||||
|
suspendMUSIC9
|
||||||
|
rts
|
||||||
|
|
||||||
|
*-------------------------------------- Resume music
|
||||||
|
|
||||||
|
resumeMUSIC
|
||||||
|
lda fgMIDI
|
||||||
|
ora fgMIDIPLAY
|
||||||
|
bne resumeMUSIC9
|
||||||
|
|
||||||
|
_MSResume
|
||||||
|
|
||||||
|
resumeMUSIC9
|
||||||
|
rts
|
||||||
|
|
||||||
|
*--------------------------------------
|
||||||
|
|
||||||
|
checkREPLAY lda fgMIDI
|
||||||
|
bne checkREPLAY99
|
||||||
|
|
||||||
|
lda fgLOOP
|
||||||
|
beq checkREPLAY99
|
||||||
|
jsr doSOUNDON
|
||||||
|
|
||||||
|
checkREPLAY99
|
||||||
|
rts
|
||||||
|
|
||||||
|
*--------------------------------------
|
||||||
|
|
||||||
|
replayMUSIC
|
||||||
|
lda #-1
|
||||||
|
stal fgLOOP
|
||||||
|
rtl
|
||||||
|
|
||||||
|
fgLOOP dw -1
|
||||||
|
|
||||||
|
*-------------------------------------- Load a file
|
||||||
|
|
||||||
|
loadGSOS sta midiOPEN+4
|
||||||
|
sty midiREAD+4
|
||||||
|
stx midiREAD+6
|
||||||
|
stz midiERR
|
||||||
|
|
||||||
|
jsl GSOS
|
||||||
|
dw $2010
|
||||||
|
adrl midiOPEN
|
||||||
|
bcs loadGSOSERR
|
||||||
|
|
||||||
|
lda midiOPEN+2
|
||||||
|
sta midiREAD+2
|
||||||
|
sta midiCLOSE+2
|
||||||
|
|
||||||
|
lda midiEOF
|
||||||
|
sta midiREAD+8
|
||||||
|
lda midiEOF+2
|
||||||
|
sta midiREAD+10
|
||||||
|
|
||||||
|
jsl GSOS
|
||||||
|
dw $2012
|
||||||
|
adrl midiREAD
|
||||||
|
bcs loadGSOSERR
|
||||||
|
|
||||||
|
loadGSOS2 jsl GSOS
|
||||||
|
dw $2014
|
||||||
|
adrl midiCLOSE
|
||||||
|
rts
|
||||||
|
|
||||||
|
loadGSOSERR jsr loadGSOS2
|
||||||
|
inc fgMIDI
|
||||||
|
rts
|
||||||
|
|
||||||
|
*-------------------------------------- DATA
|
||||||
|
|
||||||
|
myINDEX ds 2
|
||||||
|
|
||||||
|
*--- GS/OS
|
||||||
|
|
||||||
|
midiERR ds 2
|
||||||
|
|
||||||
|
midiOPEN dw 12
|
||||||
|
ds 2
|
||||||
|
adrl pSEQ
|
||||||
|
ds 2
|
||||||
|
ds 2
|
||||||
|
ds 2
|
||||||
|
ds 2
|
||||||
|
ds 4
|
||||||
|
ds 2
|
||||||
|
ds 8
|
||||||
|
ds 8
|
||||||
|
ds 4
|
||||||
|
midiEOF ds 4
|
||||||
|
|
||||||
|
midiREAD dw 4
|
||||||
|
ds 2
|
||||||
|
ds 4
|
||||||
|
ds 4
|
||||||
|
ds 4
|
||||||
|
|
||||||
|
midiCLOSE dw 1
|
||||||
|
ds 2
|
||||||
|
|
||||||
|
midiSETMARK dw 3
|
||||||
|
ds 2
|
||||||
|
ds 2
|
||||||
|
adrl $900 ; +$900 pour WAV
|
||||||
|
|
||||||
|
*--- GS/OS Strings
|
||||||
|
|
||||||
|
pSEQ strl '1/data/musiques/sequence'
|
||||||
|
pWAV strl '1/data/musiques/piano.Wav'
|
||||||
|
pBNK strl '1/data/musiques/piano.Bnk'
|
||||||
|
|
||||||
|
*--- Memory
|
||||||
|
|
||||||
|
ptrSEQ ds 4
|
||||||
|
ptrWAV ds 4
|
||||||
|
ptrBNK ds 4
|
||||||
|
|
||||||
|
*--- Flags
|
||||||
|
|
||||||
|
fgMIDI dw 1 ; can play MIDI if 0
|
||||||
|
|
||||||
|
*--- Instruments
|
||||||
|
|
||||||
|
ptrINST ds 4
|
||||||
|
|
||||||
|
*--- MidiSynth
|
||||||
|
|
||||||
|
seqPlayRec
|
||||||
|
ds 4
|
||||||
|
ds 4
|
||||||
|
ds 4
|
||||||
|
ds 4
|
||||||
|
seqPlay ds 2 ; Play
|
||||||
|
seqClock ds 4
|
||||||
|
|
||||||
|
callBackRec adrl replayMUSIC ; When sequence ends !
|
||||||
|
ds 4
|
||||||
|
ds 4
|
||||||
|
ds 4
|
||||||
|
ds 4
|
||||||
|
ds 4
|
||||||
|
ds 4
|
||||||
|
ds 4
|
||||||
|
ds 4
|
||||||
|
ds 4
|
||||||
|
ds 4
|
||||||
|
ds 4
|
||||||
|
ds 4
|
||||||
|
ds 4
|
|
@ -0,0 +1,116 @@
|
||||||
|
*
|
||||||
|
* PIC10 devient PIC11
|
||||||
|
*
|
||||||
|
|
||||||
|
org $800
|
||||||
|
lst off
|
||||||
|
mx %11
|
||||||
|
|
||||||
|
*----------
|
||||||
|
|
||||||
|
clc
|
||||||
|
xce
|
||||||
|
rep #$30
|
||||||
|
|
||||||
|
sep #$20
|
||||||
|
ldx #0
|
||||||
|
]lp lda palette,x
|
||||||
|
stal $e19e00,x
|
||||||
|
inx
|
||||||
|
cpx #32
|
||||||
|
bcc ]lp
|
||||||
|
|
||||||
|
*---
|
||||||
|
|
||||||
|
ldx #0
|
||||||
|
]lp ldal $e12000,x
|
||||||
|
tay
|
||||||
|
lda tblCONVERT,y
|
||||||
|
stal $e12000,x
|
||||||
|
inx
|
||||||
|
cpx #$7d00
|
||||||
|
bcc ]lp
|
||||||
|
|
||||||
|
sec
|
||||||
|
xce
|
||||||
|
sep #$30
|
||||||
|
rts
|
||||||
|
|
||||||
|
ds \
|
||||||
|
|
||||||
|
*----------
|
||||||
|
|
||||||
|
tblCONVERT
|
||||||
|
hex 000104050607080A0C0D0E0B0C0D0E0F
|
||||||
|
hex 101114151617181A1C1D1E1B1C1D1E1F
|
||||||
|
hex 404144454647484A4C4D4E4B4C4D4E4F
|
||||||
|
hex 505154555657585A5C5D5E5B5C5D5E5F
|
||||||
|
hex 606164656667686A6C6D6E6B6C6D6E6F
|
||||||
|
hex 707174757677787A7C7D7E7B7C7D7E7F
|
||||||
|
hex 808184858687888A8C8D8E8B8C8D8E8F
|
||||||
|
hex A0A1A4A5A6A7A8AAACADAEABACADAEAF
|
||||||
|
hex C0C1C4C5C6C7C8CACCCDCECBCCCDCECF
|
||||||
|
hex D0D1D4D5D6D7D8DADCDDDEDBDCDDDEDF
|
||||||
|
hex E0E1E4E5E6E7E8EAECEDEEEBECEDEEEF
|
||||||
|
hex B0B1B4B5B6B7B8BABCBDBEBBBCBDBEBF
|
||||||
|
hex C0C1C4C5C6C7C8CACCCDCECBCCCDCECF
|
||||||
|
hex D0D1D4D5D6D7D8DADCDDDEDBDCDDDEDF
|
||||||
|
hex E0E1E4E5E6E7E8EAECEDEEEBECEDEEEF
|
||||||
|
hex F0F1F4F5F6F7F8FAFCFDFEFBFCFDFEFF
|
||||||
|
|
||||||
|
tblREF
|
||||||
|
hex 000102030405060708090A0B0C0D0E0F
|
||||||
|
hex 101112131415161718191A1B1C1D1E1F
|
||||||
|
hex 202122232425262728292A2B2C2D2E2F
|
||||||
|
hex 303132333435363738393A3B3C3D3E3F
|
||||||
|
hex 404142434445464748494A4B4C4D4E4F
|
||||||
|
hex 505152535455565758595A5B5C5D5E5F
|
||||||
|
hex 606162636465666768696A6B6C6D6E6F
|
||||||
|
hex 707172737475767778797A7B7C7D7E7F
|
||||||
|
hex 808182838485868788898A8B8C8D8E8F
|
||||||
|
hex 909192939495969798999A9B9C9D9E9F
|
||||||
|
hex A0A1A2A3A4A5A6A7A8A9AAABACADAEAF
|
||||||
|
hex B0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF
|
||||||
|
hex C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF
|
||||||
|
hex D0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF
|
||||||
|
hex E0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF
|
||||||
|
hex F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF
|
||||||
|
|
||||||
|
*---
|
||||||
|
|
||||||
|
palette hex 0200,4600,6000,B000,6902,0006,2406,2009
|
||||||
|
hex 4609,9909,420B,BB0B,620D,9B0D,940F,FF0F
|
||||||
|
|
||||||
|
*---
|
||||||
|
*
|
||||||
|
* PIC10 - LE FOND
|
||||||
|
* IL FAUT ADAPTER LA PALETTE A CELLE DE PIC11
|
||||||
|
*
|
||||||
|
* 0 1 2 3 4 5 6 7 8 9 A B C D E F
|
||||||
|
* 00 00 46 00 69 02 00 06 24 06 20 09 46 09 42 0B 62 0D 9B 0D 94 0F 00 00 00 00 00 00 00 00 00 00
|
||||||
|
*
|
||||||
|
*-------------------------------------------
|
||||||
|
*
|
||||||
|
* PIC11 - LE FOND AVEC LES ICONES
|
||||||
|
* IL FAUT UTILISER CETTE PALETTE
|
||||||
|
*
|
||||||
|
* 0 1 2 3 4 5 6 7 8 9 A B C D E F
|
||||||
|
* 02 00 46 00 60 00 B0 00 69 02 00 06 24 06 20 09 46 09 99 09 42 0B BB 0B 62 0D 9B 0D 94 0F FF 0F
|
||||||
|
*
|
||||||
|
* PIC11 PIC10
|
||||||
|
* 0 0 0 = 0
|
||||||
|
* 1 1 1 = 1
|
||||||
|
* 2 4 2 = 4
|
||||||
|
* 3 5 3 = 5
|
||||||
|
* 4 6 4 = 6
|
||||||
|
* 5 7 5 = 7
|
||||||
|
* 6 8 6 = 8
|
||||||
|
* 7 A 7 = A
|
||||||
|
* 8 C 8 = C
|
||||||
|
* 9 D 9 = D
|
||||||
|
* A E A = E
|
||||||
|
* B B = B
|
||||||
|
* C C = C
|
||||||
|
* D D = D
|
||||||
|
* E E = E
|
||||||
|
* F F = F
|
|
@ -1,114 +0,0 @@
|
||||||
------+------------------------+-------------+----+---------+------+-----------------------+-------------------------------------------------------------------
|
|
||||||
Line | # File Line | Line Type | MX | Reloc | Size | Address Object Code | Source Code
|
|
||||||
------+------------------------+-------------+----+---------+------+-----------------------+-------------------------------------------------------------------
|
|
||||||
1 | 1 playasound.s 1 | Comment | 11 | | 0 | 00/8000 | *
|
|
||||||
2 | 1 playasound.s 2 | Comment | 11 | | 0 | 00/8000 | * Essai sonore
|
|
||||||
3 | 1 playasound.s 3 | Comment | 11 | | 0 | 00/8000 | *
|
|
||||||
4 | 1 playasound.s 4 | Empty | 11 | | 0 | 00/8000 |
|
|
||||||
5 | 1 playasound.s 5 | Directive | 11 | | 0 | 00/8000 | org $1000
|
|
||||||
6 | 1 playasound.s 6 | Directive | 11 | | 0 | 00/1000 | lst off
|
|
||||||
7 | 1 playasound.s 7 | Empty | 11 | | 0 | 00/1000 |
|
|
||||||
8 | 1 playasound.s 8 | Code | 11 | | 1 | 00/1000 : 18 | clc
|
|
||||||
9 | 1 playasound.s 9 | Code | 11 | | 1 | 00/1001 : FB | xce
|
|
||||||
10 | 1 playasound.s 10 | Code | 00 | | 2 | 00/1002 : C2 30 | rep #$30
|
|
||||||
11 | 1 playasound.s 11 | Empty | 00 | | 0 | 00/1004 |
|
|
||||||
12 | 1 playasound.s 12 | Code | 00 | | 1 | 00/1004 : 78 | sei
|
|
||||||
13 | 1 playasound.s 13 | Code | 10 | | 2 | 00/1005 : E2 20 | sep #$20
|
|
||||||
14 | 1 playasound.s 14 | Empty | 10 | | 0 | 00/1007 |
|
|
||||||
15 | 1 playasound.s 15 | Code | 10 | | 4 | 00/1007 : AF CA 00 E1 | ldal $e100ca
|
|
||||||
16 | 1 playasound.s 16 | Code | 10 | | 2 | 00/100B : 09 60 | ora #%0110_0000
|
|
||||||
17 | 1 playasound.s 17 | Code | 10 | | 4 | 00/100D : 8F 3C C0 00 | stal $c03c
|
|
||||||
18 | 1 playasound.s 18 | Empty | 10 | | 0 | 00/1011 |
|
|
||||||
19 | 1 playasound.s 19 | Code | 10 | | 2 | 00/1011 : A9 00 | lda #0
|
|
||||||
20 | 1 playasound.s 20 | Code | 10 | | 4 | 00/1013 : 8F 3E C0 00 | stal $c03e
|
|
||||||
21 | 1 playasound.s 21 | Code | 10 | | 4 | 00/1017 : 8F 3F C0 00 | stal $c03f
|
|
||||||
22 | 1 playasound.s 22 | Empty | 10 | | 0 | 00/101B |
|
|
||||||
23 | 1 playasound.s 23 | Code | 10 | | 3 | 00/101B : A0 00 00 | ldy #0
|
|
||||||
24 | 1 playasound.s 24 | Code | 10 | | 3 | 00/101E : B9 00 20 | ozunid_1 lda $2000,y
|
|
||||||
25 | 1 playasound.s 25 | Code | 10 | | 4 | 00/1021 : 8F 3D C0 00 | stal $c03d
|
|
||||||
26 | 1 playasound.s 26 | Code | 10 | | 1 | 00/1025 : C8 | iny
|
|
||||||
27 | 1 playasound.s 27 | Code | 10 | | 3 | 00/1026 : C0 00 40 | cpy #$4000
|
|
||||||
28 | 1 playasound.s 28 | Code | 10 | | 2 | 00/1029 : 90 F3 | bcc ozunid_1
|
|
||||||
29 | 1 playasound.s 29 | Empty | 10 | | 0 | 00/102B |
|
|
||||||
30 | 1 playasound.s 30 | Comment | 10 | | 0 | 00/102B | * 2. on lance le rythme en mode loop sur deux oscillos
|
|
||||||
31 | 1 playasound.s 31 | Empty | 10 | | 0 | 00/102B |
|
|
||||||
32 | 1 playasound.s 32 | Code | 10 | | 3 | 00/102B : A0 00 00 | ldy #0 ; oscillos 0 & 1
|
|
||||||
33 | 1 playasound.s 33 | Empty | 10 | | 0 | 00/102E |
|
|
||||||
34 | 1 playasound.s 34 | Code | 10 | | 4 | 00/102E : AF CA 00 E1 | ldal $e100ca ; volume
|
|
||||||
35 | 1 playasound.s 35 | Code | 10 | | 2 | 00/1032 : 29 0F | and #$0f
|
|
||||||
36 | 1 playasound.s 36 | Code | 10 | | 4 | 00/1034 : 8F 3C C0 00 | stal $c03c
|
|
||||||
37 | 1 playasound.s 37 | Empty | 10 | | 0 | 00/1038 |
|
|
||||||
38 | 1 playasound.s 38 | Code | 10 | | 1 | 00/1038 : 98 | tya ; frŽquence basse
|
|
||||||
39 | 1 playasound.s 39 | Code | 10 | | 4 | 00/1039 : 8F 3E 00 00 | stal $3e
|
|
||||||
40 | 1 playasound.s 40 | Code | 10 | | 2 | 00/103D : A9 D9 | lda #217
|
|
||||||
41 | 1 playasound.s 41 | Code | 10 | | 4 | 00/103F : 8F 3D C0 00 | stal $c03d
|
|
||||||
42 | 1 playasound.s 42 | Code | 10 | | 1 | 00/1043 : 98 | tya
|
|
||||||
43 | 1 playasound.s 43 | Code | 10 | | 2 | 00/1044 : 09 01 | ora #$01
|
|
||||||
44 | 1 playasound.s 44 | Code | 10 | | 4 | 00/1046 : 8F 3E C0 00 | stal $c03e
|
|
||||||
45 | 1 playasound.s 45 | Code | 10 | | 2 | 00/104A : A9 D9 | lda #217
|
|
||||||
46 | 1 playasound.s 46 | Code | 10 | | 4 | 00/104C : 8F 3D C0 00 | stal $c03d
|
|
||||||
47 | 1 playasound.s 47 | Empty | 10 | | 0 | 00/1050 |
|
|
||||||
48 | 1 playasound.s 48 | Code | 10 | | 1 | 00/1050 : 98 | tya ; frŽquence haute
|
|
||||||
49 | 1 playasound.s 49 | Code | 10 | | 2 | 00/1051 : 09 20 | ora #$20
|
|
||||||
50 | 1 playasound.s 50 | Code | 10 | | 4 | 00/1053 : 8F 3E C0 00 | stal $c03e
|
|
||||||
51 | 1 playasound.s 51 | Code | 10 | | 2 | 00/1057 : A9 00 | lda #0
|
|
||||||
52 | 1 playasound.s 52 | Code | 10 | | 4 | 00/1059 : 8F 3D C0 00 | stal $c03d
|
|
||||||
53 | 1 playasound.s 53 | Code | 10 | | 1 | 00/105D : 98 | tya
|
|
||||||
54 | 1 playasound.s 54 | Code | 10 | | 2 | 00/105E : 09 21 | ora #$21
|
|
||||||
55 | 1 playasound.s 55 | Code | 10 | | 4 | 00/1060 : 8F 3E C0 00 | stal $c03e
|
|
||||||
56 | 1 playasound.s 56 | Code | 10 | | 2 | 00/1064 : A9 00 | lda #0
|
|
||||||
57 | 1 playasound.s 57 | Code | 10 | | 4 | 00/1066 : 8F 3D C0 00 | stal $c03d
|
|
||||||
58 | 1 playasound.s 58 | Empty | 10 | | 0 | 00/106A |
|
|
||||||
59 | 1 playasound.s 59 | Code | 10 | | 1 | 00/106A : 98 | tya ; volume
|
|
||||||
60 | 1 playasound.s 60 | Code | 10 | | 2 | 00/106B : 09 40 | ora #$40
|
|
||||||
61 | 1 playasound.s 61 | Code | 10 | | 4 | 00/106D : 8F 3E C0 00 | stal $c03e
|
|
||||||
62 | 1 playasound.s 62 | Code | 10 | | 2 | 00/1071 : A9 FF | lda #$ff
|
|
||||||
63 | 1 playasound.s 63 | Code | 10 | | 4 | 00/1073 : 8F 3D C0 00 | stal $c03d
|
|
||||||
64 | 1 playasound.s 64 | Code | 10 | | 1 | 00/1077 : 98 | tya
|
|
||||||
65 | 1 playasound.s 65 | Code | 10 | | 2 | 00/1078 : 09 41 | ora #$41
|
|
||||||
66 | 1 playasound.s 66 | Code | 10 | | 4 | 00/107A : 8F 3E C0 00 | stal $c03e
|
|
||||||
67 | 1 playasound.s 67 | Code | 10 | | 2 | 00/107E : A9 FF | lda #$ff
|
|
||||||
68 | 1 playasound.s 68 | Code | 10 | | 4 | 00/1080 : 8F 3D C0 00 | stal $c03d
|
|
||||||
69 | 1 playasound.s 69 | Empty | 10 | | 0 | 00/1084 |
|
|
||||||
70 | 1 playasound.s 70 | Code | 10 | | 1 | 00/1084 : 98 | tya ; address pointer
|
|
||||||
71 | 1 playasound.s 71 | Code | 10 | | 2 | 00/1085 : 09 80 | ora #$80
|
|
||||||
72 | 1 playasound.s 72 | Code | 10 | | 4 | 00/1087 : 8F 3E C0 00 | stal $c03e
|
|
||||||
73 | 1 playasound.s 73 | Code | 10 | | 2 | 00/108B : A9 00 | lda #0
|
|
||||||
74 | 1 playasound.s 74 | Code | 10 | | 4 | 00/108D : 8F 3D C0 00 | stal $c03d
|
|
||||||
75 | 1 playasound.s 75 | Code | 10 | | 1 | 00/1091 : 98 | tya
|
|
||||||
76 | 1 playasound.s 76 | Code | 10 | | 2 | 00/1092 : 09 81 | ora #$81
|
|
||||||
77 | 1 playasound.s 77 | Code | 10 | | 4 | 00/1094 : 8F 3E C0 00 | stal $c03e
|
|
||||||
78 | 1 playasound.s 78 | Code | 10 | | 2 | 00/1098 : A9 00 | lda #0
|
|
||||||
79 | 1 playasound.s 79 | Code | 10 | | 4 | 00/109A : 8F 3D C0 00 | stal $c03d
|
|
||||||
80 | 1 playasound.s 80 | Empty | 10 | | 0 | 00/109E |
|
|
||||||
81 | 1 playasound.s 81 | Code | 10 | | 1 | 00/109E : 98 | tya ; waveform table size
|
|
||||||
82 | 1 playasound.s 82 | Code | 10 | | 2 | 00/109F : 09 C0 | ora #$c0
|
|
||||||
83 | 1 playasound.s 83 | Code | 10 | | 4 | 00/10A1 : 8F 3E C0 00 | stal $c03e
|
|
||||||
84 | 1 playasound.s 84 | Code | 10 | | 2 | 00/10A5 : A9 3F | lda #%00111111
|
|
||||||
85 | 1 playasound.s 85 | Code | 10 | | 4 | 00/10A7 : 8F 3D C0 00 | stal $c03d
|
|
||||||
86 | 1 playasound.s 86 | Code | 10 | | 1 | 00/10AB : 98 | tya
|
|
||||||
87 | 1 playasound.s 87 | Code | 10 | | 2 | 00/10AC : 09 C1 | ora #$c1
|
|
||||||
88 | 1 playasound.s 88 | Code | 10 | | 4 | 00/10AE : 8F 3E C0 00 | stal $c03e
|
|
||||||
89 | 1 playasound.s 89 | Code | 10 | | 2 | 00/10B2 : A9 3F | lda #%00111111
|
|
||||||
90 | 1 playasound.s 90 | Code | 10 | | 4 | 00/10B4 : 8F 3D C0 00 | stal $c03d
|
|
||||||
91 | 1 playasound.s 91 | Empty | 10 | | 0 | 00/10B8 |
|
|
||||||
92 | 1 playasound.s 92 | Code | 10 | | 1 | 00/10B8 : 98 | tya ; control register
|
|
||||||
93 | 1 playasound.s 93 | Code | 10 | | 2 | 00/10B9 : 09 A0 | ora #$a0
|
|
||||||
94 | 1 playasound.s 94 | Code | 10 | | 4 | 00/10BB : 8F 3E C0 00 | stal $c03e
|
|
||||||
95 | 1 playasound.s 95 | Code | 10 | | 2 | 00/10BF : A9 03 | lda #%0000_0011
|
|
||||||
96 | 1 playasound.s 96 | Code | 10 | | 4 | 00/10C1 : 8F 3D C0 00 | stal $c03d
|
|
||||||
97 | 1 playasound.s 97 | Code | 10 | | 1 | 00/10C5 : 98 | tya
|
|
||||||
98 | 1 playasound.s 98 | Code | 10 | | 2 | 00/10C6 : 09 A1 | ora #$a1
|
|
||||||
99 | 1 playasound.s 99 | Code | 10 | | 4 | 00/10C8 : 8F 3E C0 00 | stal $c03e
|
|
||||||
100 | 1 playasound.s 100 | Code | 10 | | 2 | 00/10CC : A9 13 | lda #%0001_0011
|
|
||||||
101 | 1 playasound.s 101 | Code | 10 | | 4 | 00/10CE : 8F 3D C0 00 | stal $c03d
|
|
||||||
102 | 1 playasound.s 102 | Empty | 10 | | 0 | 00/10D2 |
|
|
||||||
103 | 1 playasound.s 103 | Comment | 10 | | 0 | 00/10D2 | * 3. on sort et <20>a joue
|
|
||||||
104 | 1 playasound.s 104 | Empty | 10 | | 0 | 00/10D2 |
|
|
||||||
105 | 1 playasound.s 105 | Code | 10 | | 1 | 00/10D2 : 38 | sec
|
|
||||||
106 | 1 playasound.s 106 | Code | 11 | | 1 | 00/10D3 : FB | xce
|
|
||||||
107 | 1 playasound.s 107 | Code | 11 | | 2 | 00/10D4 : E2 30 | sep #$30
|
|
||||||
108 | 1 playasound.s 108 | Code | 11 | | 1 | 00/10D6 : 58 | cli
|
|
||||||
109 | 1 playasound.s 109 | Code | 11 | | 1 | 00/10D7 : 60 | rts
|
|
||||||
110 | 1 playasound.s 110 | Empty | 11 | | 0 | 00/10D8 |
|
|
||||||
------+------------------------+-------------+----+---------+------+-----------------------+-------------------------------------------------------------------
|
|
|
@ -0,0 +1,48 @@
|
||||||
|
LA BELLE ZOHRA
|
||||||
|
|
||||||
|
Le logiciel est conŽu pour
|
||||||
|
tourner en basse rŽsolution. Si votre
|
||||||
|
machine en est ŽquipŽe, il est
|
||||||
|
conseillŽ d'activer le blitter.
|
||||||
|
|
||||||
|
Le bon fonctionnement du
|
||||||
|
programme n'est pas garanti si d'autres
|
||||||
|
logiciels rŽsidents (accessoires de
|
||||||
|
bureau par exemple) sont prŽsents en
|
||||||
|
mŽmoire, surtout sur les machines de
|
||||||
|
512K.
|
||||||
|
|
||||||
|
Une sŽquence musicale ouvre le
|
||||||
|
programme. Essayez les touches de
|
||||||
|
fonction de F1 ˆ F9. La touche F10
|
||||||
|
permet de passer au couplet suivant et
|
||||||
|
Esc de court-circuiter cette partie.
|
||||||
|
|
||||||
|
Sur l'image de la table, cliquez
|
||||||
|
avec le bouton de gauche de la souris
|
||||||
|
sur un objet. Une ou plusieurs icones
|
||||||
|
apparaissent en bas de l'Žcran. Vous
|
||||||
|
pouvez revenir en arri<72>re en appuyant
|
||||||
|
sur le bouton droit de la souris.
|
||||||
|
|
||||||
|
Il est Žgalement possible
|
||||||
|
d'abandonner sa lecture en appuyant sur
|
||||||
|
Esc. On revient alors sur le bureau. Au
|
||||||
|
prochain lancement du programme, la
|
||||||
|
lecture sera reprise ˆ l'endroit o<>
|
||||||
|
vous l'aviez laissŽe. Il est d'ailleurs
|
||||||
|
conseillŽ de lire chaque jour quelques
|
||||||
|
paragraphes plut™t que "d'avaler" tout
|
||||||
|
le logiciel d'une traite.
|
||||||
|
|
||||||
|
Pour faire dŽfiler un texte vers
|
||||||
|
le haut ou vers le bas, et plus ou
|
||||||
|
moins rapidement, cliquez sur l'endroit
|
||||||
|
correspondant de la fen<65>tre. Quand vous
|
||||||
|
avez fini de le lire, appuyez sur le
|
||||||
|
bouton droit de la souris pour passer ˆ
|
||||||
|
la suite.
|
||||||
|
|
||||||
|
LES LOGICIELS D'EN FACE
|
||||||
|
147, rue La Fayette
|
||||||
|
75010 PARIS
|