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
|
||||
* 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
|
||||
*-----------------------
|
||||
|
@ -201,53 +167,38 @@ fenetre_yy dw 0,190,190,190,190,190,190,190,190,190
|
|||
|
||||
*---
|
||||
|
||||
objetTEXT da $bdbd ; !NOM DE CHAQUE OBJET
|
||||
da objetSTR1
|
||||
da objetSTR2
|
||||
da objetSTR3
|
||||
da objetSTR4
|
||||
da objetSTR5
|
||||
da objetSTR6
|
||||
da objetSTR7
|
||||
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"
|
||||
* "LUNETTES"
|
||||
* "CUILLERE"
|
||||
* "FLEUR"
|
||||
* "CARNET"
|
||||
* "DICO"
|
||||
* "BIJOUX"
|
||||
* "CLES"
|
||||
* "ARGENT"
|
||||
|
||||
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_xx dw 0,283,268,266,57,106,178,319,188
|
||||
objet_yy dw 0,88,151,39,54,103,64,50,101
|
||||
*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_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...)
|
||||
da pecheSTR1
|
||||
da pecheSTR2
|
||||
da pecheSTR3
|
||||
da pecheSTR4
|
||||
da pecheSTR5
|
||||
da pecheSTR6
|
||||
da pecheSTR7
|
||||
|
||||
pecheSTR1 asc "ORGUEIL"
|
||||
pecheSTR2 asc "AVARICE"
|
||||
pecheSTR3 asc "GOURMANDISE"
|
||||
pecheSTR4 asc "ENVIE"
|
||||
pecheSTR5 asc "LUXURE"
|
||||
pecheSTR6 asc "COLERE"
|
||||
pecheSTR7 asc "PARESSE"
|
||||
* "ORGUEIL"
|
||||
* "AVARICE"
|
||||
* "GOURMANDISE"
|
||||
* "ENVIE"
|
||||
* "LUXURE"
|
||||
* "COLERE"
|
||||
* "PARESSE"
|
||||
|
||||
peche_x dw 0,184,0,46,276,92,138,230
|
||||
peche_y dw 0,162,162,162,162,162,162,162
|
||||
peche_xx dw 0,227,43,89,319,135,181,273
|
||||
peche_yy dw 0,199,199,199,199,199,199,199
|
||||
*peche_xx dw 0,227,43,89,319,135,181,273
|
||||
*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
|
||||
* SNDxy.SND where x is the scene, y the file index (0..9)
|
||||
|
|
|
@ -146,6 +146,8 @@ to_1 inx
|
|||
|
||||
*-------- Affichage des objets
|
||||
|
||||
affiche_objets
|
||||
|
||||
ldx #1
|
||||
]lp phx
|
||||
jsr affiche_objet
|
||||
|
@ -264,6 +266,8 @@ tp_1 inx
|
|||
|
||||
*-------- Affichage des peches
|
||||
|
||||
affiche_peches
|
||||
|
||||
ldx #1
|
||||
]lp phx
|
||||
jsr affiche_peche
|
||||
|
@ -353,7 +357,6 @@ efface_peche
|
|||
|
||||
fondParamPtr
|
||||
adrl fondToSourceLocInfo
|
||||
* adrl iconToDestLocInfo
|
||||
adrl contentToSourceLocInfo
|
||||
adrl iconToSourceRect
|
||||
adrl iconToDestPoint
|
||||
|
@ -362,7 +365,6 @@ fondParamPtr
|
|||
|
||||
iconParamPtr
|
||||
adrl iconToSourceLocInfo
|
||||
* adrl iconToDestLocInfo
|
||||
adrl contentToSourceLocInfo
|
||||
adrl iconToSourceRect
|
||||
adrl iconToDestPoint
|
||||
|
@ -374,23 +376,13 @@ fondToSourceLocInfo
|
|||
ds 4 ; ptrFOND - $0000 on entry, high set after _NewHandle
|
||||
dw 160
|
||||
dw 0,0,200,320
|
||||
fondRect
|
||||
dw 0,0,200,320
|
||||
|
||||
iconToSourceLocInfo
|
||||
dw mode_320 ; mode 320
|
||||
adrl $8000 ; ptrICON - $8000 on entry, high set after ptrFOND
|
||||
dw 160
|
||||
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
|
||||
dw 3,0,109,272
|
||||
iconToDestPoint
|
||||
|
@ -794,13 +786,6 @@ ai_affiche sep #$20
|
|||
rep #$20
|
||||
|
||||
@loadfile #pIMAGE;ptrCONTENT
|
||||
|
||||
* @fadein ptrCONTENT;#TRUE
|
||||
* PushLong ptrCONTENT
|
||||
* PushLong ptrSCREEN
|
||||
* PushLong #32768
|
||||
* _BlockMove
|
||||
|
||||
jmp cree_fenetre
|
||||
|
||||
*-----------------------
|
||||
|
@ -1128,7 +1113,8 @@ musique lda fgSND ; can we play?
|
|||
bne mu_1 ; yes
|
||||
rts ; no
|
||||
|
||||
mu_1 jsr init_musique
|
||||
mu_1 jsr ensoniq_stopall
|
||||
jsr init_musique
|
||||
|
||||
lda #1
|
||||
sta i
|
||||
|
@ -1139,6 +1125,9 @@ mu_1 jsr init_musique
|
|||
lda i
|
||||
jsr charge_son ; charge les sons
|
||||
jsr clavier_sonore ; joue les sons
|
||||
php
|
||||
jsr ensoniq_stopall
|
||||
plp
|
||||
bcs mu_exit ; si *, on quitte le clavier sonore
|
||||
jsr nettoie_musique
|
||||
inc i
|
||||
|
@ -1318,6 +1307,46 @@ ry_err1 jsl GSOS
|
|||
clc
|
||||
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
|
||||
*-----------------------
|
||||
|
|
|
@ -42,13 +42,6 @@
|
|||
jsr loadFILE
|
||||
eom
|
||||
|
||||
@fadein mac
|
||||
lda ]2
|
||||
ldx ]1+2
|
||||
ldy ]1
|
||||
jsr fadeIN
|
||||
eom
|
||||
|
||||
*----------------------------------- Constantes
|
||||
|
||||
*-------------- Softswitches
|
||||
|
@ -127,11 +120,6 @@ fgRESTART = 2
|
|||
tdc
|
||||
sta myDP
|
||||
|
||||
lda #MES_DONNEES
|
||||
stal $300
|
||||
lda #^MES_DONNEES
|
||||
stal $302
|
||||
|
||||
*--- Version du systeme
|
||||
|
||||
jsl GSOS
|
||||
|
@ -231,7 +219,6 @@ okTOOL PushWord #0
|
|||
|
||||
lda #^ptrE12000 ; shadowing is off, use slow RAM
|
||||
sta ptrSCREEN+2
|
||||
sta iconToDestLocInfo+4
|
||||
|
||||
*--- Et la musique...
|
||||
|
||||
|
@ -253,16 +240,26 @@ noSOUND _HideMenuBar
|
|||
_FlushEvents
|
||||
pla
|
||||
|
||||
PushLong #0
|
||||
PushWord #5 ; SetDeskPat
|
||||
PushWord #$4000
|
||||
PushWord #$0000
|
||||
_Desktop
|
||||
pla
|
||||
pla
|
||||
|
||||
*----------------------------------------
|
||||
* INITIALISATIONS
|
||||
*----------------------------------------
|
||||
|
||||
entryPOINT
|
||||
jsr TWILIGHToff
|
||||
jsr set_language
|
||||
jsr antoine ; le menu principal
|
||||
jsr init
|
||||
|
||||
jsr initMIDI
|
||||
jsr doSOUNDON
|
||||
|
||||
restartPOINT
|
||||
jsr init2
|
||||
|
||||
|
@ -285,9 +282,7 @@ refreshLOOP
|
|||
* TASK MASTER
|
||||
*----------------------------------------
|
||||
|
||||
taskLOOP inc VBLCounter0
|
||||
|
||||
PushWord #0
|
||||
taskLOOP PushWord #0
|
||||
PushWord #0
|
||||
PushWord #$c000
|
||||
PushWord #0
|
||||
|
@ -295,7 +290,7 @@ taskLOOP inc VBLCounter0
|
|||
pla
|
||||
pla
|
||||
|
||||
* jsr checkREPLAY
|
||||
jsr checkREPLAY
|
||||
|
||||
PushWord #0
|
||||
PushWord #%11111111_11111111
|
||||
|
@ -329,24 +324,21 @@ doKEYDOWN lda taskMODIFIERS
|
|||
|
||||
doOPENAPPLE
|
||||
ldx #-1
|
||||
sep #$20
|
||||
]lp inx
|
||||
lda tblKEYVALUE,x ; get key
|
||||
and #$ff
|
||||
cmp #$ff ; end of table
|
||||
beq doOPENAPPLE99 ; so exit
|
||||
cmp taskMESSAGE ; same as pressed key?
|
||||
bne ]lp ; no, loop
|
||||
|
||||
rep #$20
|
||||
txa
|
||||
asl
|
||||
tax
|
||||
jmp (tblKEYADDRESS,x)
|
||||
|
||||
doOPENAPPLE99
|
||||
doNOT
|
||||
rep #$20
|
||||
rts
|
||||
doNOT rts
|
||||
|
||||
mx %00
|
||||
|
||||
|
@ -365,8 +357,6 @@ tblKEYADDRESS
|
|||
da doMUSIK,doMUSIK
|
||||
da monitor
|
||||
|
||||
doMUSIK rts
|
||||
|
||||
*----------------------------------- Gestion du mouseUp
|
||||
* on compare les coordonnées avec celles du incontent
|
||||
* 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
|
||||
domu_4 rts
|
||||
|
||||
*----------------------------------- Gestion des controles
|
||||
|
||||
doCONTROL lda taskREC+38
|
||||
asl
|
||||
tax
|
||||
jmp (ctrlTBL,x)
|
||||
|
||||
*----------------------------------- Clic dans le contenu de la fenêtre
|
||||
|
||||
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
|
||||
*----------------------------------------
|
||||
|
||||
refreshME pea $0000 ; la palette
|
||||
refreshME
|
||||
pea $0000 ; la palette
|
||||
lda ptrCONTENT+2
|
||||
pha
|
||||
lda ptrCONTENT
|
||||
|
@ -452,18 +436,18 @@ refreshME pea $0000 ; la palette
|
|||
pha
|
||||
_SetColorTable
|
||||
|
||||
lda #$0fff ; LOGO - force les couleurs en attendant !
|
||||
stal $019e1e
|
||||
stal $e19e1e
|
||||
* lda #$0fff ; LOGO - force les couleurs en attendant !
|
||||
* stal $019e1e
|
||||
* stal $e19e1e
|
||||
|
||||
PushLong #0
|
||||
_RefreshDesktop
|
||||
|
||||
PushWord #0
|
||||
PushWord #%11111111_11111111
|
||||
PushWord #0
|
||||
_FlushEvents
|
||||
pla
|
||||
* PushWord #0
|
||||
* PushWord #%11111111_11111111
|
||||
* PushWord #0
|
||||
* _FlushEvents
|
||||
* pla
|
||||
|
||||
rts
|
||||
|
||||
|
@ -541,24 +525,29 @@ pm_none _SetPort
|
|||
|
||||
*----------------------------------- Open
|
||||
|
||||
doLOAD
|
||||
doLOAD lda texte_selectionne
|
||||
ora objet_selectionne
|
||||
ora peche_selectionne
|
||||
beq doLOAD0
|
||||
rts
|
||||
|
||||
doLOAD0
|
||||
* jsr suspendMUSIC ; NTP off
|
||||
jsr saveBACK
|
||||
|
||||
PushWord #30
|
||||
PushWord #43
|
||||
PushLong #strLOADFILE
|
||||
PushLong #0
|
||||
PushLong #typeLIST
|
||||
PushLong #replyPTR
|
||||
PushWord #30
|
||||
PushWord #43
|
||||
PushLong #strLOADFILE
|
||||
PushLong #0
|
||||
PushLong #typeLIST
|
||||
PushLong #replyPTR
|
||||
_SFGetFile
|
||||
|
||||
jsr loadBACK
|
||||
|
||||
jsr init_souris
|
||||
|
||||
lda replyPTR
|
||||
bne doLOAD1
|
||||
* jsr resumeMUSIC ; NTP on
|
||||
rts
|
||||
loadKO99 rts
|
||||
* jmp resumeMUSIC ; NTP on
|
||||
|
||||
doLOAD1 jsr copyPATH
|
||||
|
||||
|
@ -579,28 +568,61 @@ doLOAD1 jsr copyPATH
|
|||
dw $2014
|
||||
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
|
||||
|
||||
doSAVE
|
||||
* jsr suspendMUSIC ; NTP off
|
||||
jsr saveBACK
|
||||
doSAVE lda texte_selectionne
|
||||
ora objet_selectionne
|
||||
ora peche_selectionne
|
||||
beq doSAVE0
|
||||
rts
|
||||
|
||||
PushWord #25
|
||||
PushWord #36
|
||||
PushLong #strSAVEFILE
|
||||
PushLong #namePATH
|
||||
PushWord #15
|
||||
PushLong #replyPTR
|
||||
doSAVE0
|
||||
* jsr suspendMUSIC ; NTP off
|
||||
|
||||
PushWord #25
|
||||
PushWord #36
|
||||
PushLong #strSAVEFILE
|
||||
PushLong #namePATH
|
||||
PushWord #15
|
||||
PushLong #replyPTR
|
||||
_SFPutFile
|
||||
|
||||
jsr loadBACK
|
||||
* jsr resumeMUSIC ; NTP on
|
||||
|
||||
jsr init_souris
|
||||
|
||||
lda replyPTR
|
||||
bne doSAVE1
|
||||
saveKO99
|
||||
rts
|
||||
* jmp resumeMUSIC
|
||||
|
||||
doSAVE1 jsr copyPATH
|
||||
|
||||
|
@ -629,8 +651,7 @@ doSAVE1 jsr copyPATH
|
|||
jsl GSOS
|
||||
dw $2014
|
||||
adrl proCLOSE
|
||||
|
||||
saveKO99 rts
|
||||
rts
|
||||
|
||||
*--- Recopie le filename du fichier de sauvegarde
|
||||
|
||||
|
@ -652,23 +673,22 @@ copyPATH sep #$20
|
|||
|
||||
doRESTART
|
||||
* jsr suspendMUSIC ; NTP off
|
||||
jsr saveBACK
|
||||
|
||||
PushWord #0
|
||||
PushWord #5
|
||||
PushLong #0
|
||||
PushWord #0
|
||||
PushWord #5
|
||||
PushLong #0
|
||||
pea $0000
|
||||
lda #alertRESTART
|
||||
ora saveLANGUAGE
|
||||
pha
|
||||
_AlertWindow
|
||||
|
||||
jsr loadBACK
|
||||
* jsr resumeMUSIC
|
||||
|
||||
pla
|
||||
beq re1
|
||||
* jmp resumeMUSIC ; NTP on
|
||||
|
||||
lda #0
|
||||
rts
|
||||
re1 lda #$bcbc
|
||||
rts
|
||||
|
||||
|
@ -676,7 +696,6 @@ re1 lda #$bcbc
|
|||
|
||||
doQUIT
|
||||
* jsr suspendMUSIC ; NTP off
|
||||
jsr saveBACK
|
||||
|
||||
PushWord #0
|
||||
PushWord #5
|
||||
|
@ -687,18 +706,14 @@ doQUIT
|
|||
pha
|
||||
_AlertWindow
|
||||
|
||||
jsr loadBACK
|
||||
* jsr resumeMUSIC ; NTP on
|
||||
|
||||
pla
|
||||
beq meQUIT
|
||||
rts
|
||||
* jmp resumeMUSIC
|
||||
|
||||
*----------------------------------- Quit
|
||||
|
||||
meQUIT
|
||||
* jsr stopNTP
|
||||
jsr TWILIGHTon
|
||||
meQUIT jsr stopMIDI
|
||||
|
||||
meQUIT0 PushWord #refIsHandle
|
||||
PushLong SStopREC
|
||||
|
@ -721,113 +736,6 @@ meQUIT1 PushWord myID
|
|||
|
||||
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
|
||||
*----------------------------------------
|
||||
|
@ -857,191 +765,6 @@ make64KB pha
|
|||
* 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
|
||||
* 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
|
||||
|
||||
*--- 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
|
||||
sta LZ4_Literal_3+2
|
||||
sta LZ4_ReadToken+3
|
||||
sta LZ4_Match_1+3
|
||||
sta LZ4_GetLength_1+3
|
||||
lda ptrIMAGE+2 ; Destination
|
||||
sta LZ4_Literal_3+1
|
||||
sta LZ4_Match_5+1
|
||||
sta LZ4_Match_5+2
|
||||
|
||||
*--- Destination
|
||||
|
||||
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
|
||||
rep #$20
|
||||
|
||||
*--
|
||||
|
||||
ldy #0 ; Init Target unpacked Data offset
|
||||
ldx #16 ; Offset after header
|
||||
ldy #0 ; Init Target unpacked Data offset
|
||||
ldx #16 ; Offset after header
|
||||
|
||||
LZ4_ReadToken LDAL $AA0000,X ; Read Token Byte
|
||||
INX
|
||||
STA LZ4_Match_2+1
|
||||
LZ4_ReadToken
|
||||
LDAL $AA0000,X ; Read Token Byte
|
||||
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 <<<
|
||||
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_Limit CPX #$AAAA ; End Of Packed Data buffer ?
|
||||
BEQ LZ4_End
|
||||
|
||||
*----------------
|
||||
|
||||
LZ4_Limit CPX #$AAAA ; End Of Packed Data buffer ?
|
||||
BEQ LZ4_End
|
||||
LZ4_Match TYA ; >>> Process Match Bytes <<<
|
||||
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 <<<
|
||||
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_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_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
|
||||
* jmp resumeMUSIC
|
||||
rts
|
||||
|
||||
*---
|
||||
|
||||
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
|
||||
* Wait A seconds
|
||||
|
@ -1393,7 +1081,7 @@ taskTBL da doNOT ; 0 Null
|
|||
da doNOT ; wInCalledSysEdit
|
||||
da doNOT ; wInTrackZoom
|
||||
da doNOT ; wInHitFrame
|
||||
da doCONTROL ; wInControl
|
||||
da doNOT ; wInControl
|
||||
da doNOT ; wInControlMenu
|
||||
|
||||
ctrlTBL da doNOT ; 0
|
||||
|
@ -1427,13 +1115,17 @@ loadPATH1
|
|||
* GS/OS
|
||||
*----------------------------------------
|
||||
|
||||
loadFILE sta proOPEN+4 ; filename
|
||||
sty proREAD+4 ; RAM pointer low
|
||||
stx proREAD+6 ; RAM pointer high
|
||||
loadFILE sta proOPEN+4 ; filename
|
||||
|
||||
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
|
||||
adrl proOPEN
|
||||
bcs loadERR
|
||||
|
@ -1455,14 +1147,21 @@ loadFILE1 stz proERR
|
|||
loadFILE2 jsl GSOS
|
||||
dw $2014
|
||||
adrl proCLOSE
|
||||
|
||||
ldy proREAD+12 ; length read
|
||||
ldx proREAD+14
|
||||
|
||||
lda proREAD+12 ; length read
|
||||
jsr unpackLZ4
|
||||
|
||||
PushLong ptrIMAGE
|
||||
PushLong proDEST
|
||||
PushLong #32768
|
||||
_BlockMove
|
||||
clc
|
||||
rts
|
||||
|
||||
loadERR sta proERR
|
||||
jsr loadFILE2
|
||||
loadERR jsl GSOS
|
||||
dw $2014
|
||||
adrl proCLOSE
|
||||
|
||||
ldy #0
|
||||
tyx
|
||||
sec
|
||||
|
@ -1470,7 +1169,7 @@ loadERR sta proERR
|
|||
|
||||
*--- GS/OS data
|
||||
|
||||
proERR ds 2
|
||||
proDEST ds 4 ; where to put the image at the end
|
||||
|
||||
*--- For the game party
|
||||
|
||||
|
@ -1549,9 +1248,9 @@ proVERS dw 1 ; pcount
|
|||
* 1 2 3
|
||||
* 23456789012345678901234567890123456789
|
||||
|
||||
pIMAGE strl '1/data/images/PIC1.PIC'
|
||||
pFOND strl '1/data/images/PIC10.PIC'
|
||||
pICONES strl '1/data/images/PIC11.PIC'
|
||||
pIMAGE strl '1/data/images/PIC1.LZ4'
|
||||
pFOND strl '1/data/images/PIC10.LZ4'
|
||||
pICONES strl '1/data/images/PIC11.LZ4'
|
||||
pTXT strl '1/data/textes/fr/TEXTES'
|
||||
pBEAT strl '1/data/musiques/BEAT1.SPL'
|
||||
pSND strl '1/data/musiques/SND10.SND'
|
||||
|
@ -1564,6 +1263,7 @@ pGAME strl '0/ '
|
|||
|
||||
put data.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
|