diff --git a/leretour/apple2/fr/fr.s b/leretour/apple2/fr/fr.s index 0ab324e..631bb5e 100644 --- a/leretour/apple2/fr/fr.s +++ b/leretour/apple2/fr/fr.s @@ -13,57 +13,39 @@ strVOUSDETENEZ asc 8D"Vous avez en votre possession : "00 strVOUSRIEN - asc 8D"Pas la peine de regarder, vous n"A7"avez"8D - asc "rien sur vous"00 + asc 8D"Vous ne devez pas etre fatigue, vous"8D + asc "n"A7"avez rien sur vous"00 strPOINT asc "."00 -strEVIDENT - asc 8D"Vous vous prenez pour HULK..., vous ne"8D - asc "pouvez porter tant de choses !"8D00 - strVOUSLAVEZ - asc 8D"Vous l"A7"avez deja. Si votre memoire"8D - asc "est mauvaise, faites une liste"8D00 - + asc 8D"Vous avez deja cela... Etourdi !"8D00 + strNOTOWNED - asc 8D"Jusqu"A7"a nouvel ordre, on ne peut poser"8D - asc "ce que l"A7"on ne possede pas..."8D00 + asc 8D"Je ne savais pas qu"A7"on pouvait poser"8D + asc "ce qu"A7"on ne possede pas..."8D00 strDACCORD asc "D"A7"accord"00 strILFAITNOIR - asc "Il fait trop sombre pour voir quelque"8D - asc "chose, il faudrait peut-etre allumer"8D00 + asc "La salle n"A7"est pas eclairee."8D00 -strILYA asc 8D"Ici, il y a egalement :"00 +strVOSYEUX asc "Vos yeux ne voient plus rien."8D00 + +strNIVEAU asc "NIVEAU : 0"00 + +strILYA asc 8D"Il y a aussi :"00 strCOMMA asc ","00 strSPACE asc 8D" "00 strRETURN asc 8D00 -strCMD asc 8D"Votre commande ? "00 +strCOMMANDE asc 8D"Ordre ? "00 -strCOMMANDE asc 8D"Commande (" -strTEMPS asc "5000) ? "00 - -tbl580 da $bdbd - da str581,str582,str583,str584,str585 - da str586,str587,str588,str589,str590 +strJENECOMPRENDS + asc 8D"Je ne comprends pas"00 -str581 asc 8D"Ne racontez pas n"A7"importe quoi"8D00 -str582 asc 8D"Pardon"8D00 -str583 asc 8D"Comment"8D00 -str584 asc 8D"Je ne comprends pas"8D00 -str585 asc 8D"Sorry, I don"A7"t understand"8D00 -str586 asc 8D"Les rigolos qui m"A7"ont programme ne m"A7"ont" - asc "pas appris ce vocabulaire"8D00 -str587 asc 8D"Je n"A7"ai pas compris"8D00 -str588 asc 8D"OK"8D00 -str589 asc 8D"Ca marche"8D00 -str590 asc 8D"D"A7"accord"8D00 - strIMPOSSIBLE asc 8D"Impossible "00 strCECHEMIN @@ -74,37 +56,21 @@ strEXCLAM strREPLAY asc 8D"Voulez-vous rejouer ? "00 strPERDU - asc "EN CETTE HEURE PENIBLE, MOI APPLE ]["8D8D - asc "J"A7"ai le terrible devoir de vous"8D - asc "annoncer la mort tragique de votre"8D - asc "propre personne dans la redoutable"8D - asc "KIKEKANKOI, mais peut-etre vous en"8D - asc "etiez vous rendu compte...?"8D - asc 8D - asc "Vos funerailles furent respectables,"8D - asc "de par la preuve de courage que vous"8D - asc "aviez donnee et pour la personne qui"8D - asc "a cette heure-ci est encore prison-"8D - asc "niere de la cite mysterieuse... "00 -strPERDU2 - asc 8D8D"OUF..... oui je sais, c"A7"est toujours"8D - asc "trop long les sepultures..."8D8D00 +strGAGNE asc " D"A7"accord,"8D + asc "vous m"A7"avez battu, mais c"A7"est un coup"8D + asc "de chance, et la prochaine fois ma"8D + asc "vengeance sera terrible."8D + asc "Prenez peur, car le jour ou je serai"8D + asc "a nouveau la, ma puissance n"A7"aura plus"8D + asc "de limites, alors l"A7"heure de la souf-"8D + asc "-france aura sonne..."8D + asc " Dr GENIUS."00 -strGAGNE - asc "Quelle classe..., ressortir vivant de"8D - asc "KIKEKANKOI, il fallait le faire,"8D - asc "d"A7"autant plus que vous ne vous etes"8D - asc "meme pas ecorche un doigt! Mais ne"8D - asc "restez pas trop dans les parages, car"8D - asc "le savant fou a peut-etre encore"8D - asc "quelques experiences a faire sur vous,"8D - asc "comme vous greffer une tete de singe"8D - asc "ou un cerveau electronique de 64 Ko..."8D - asc 8D - asc "Merci d"A7"etre reste si longtemps a"8D - asc "votre clavier et encore toutes mes"8D - asc "felicitations"8D8D00 +strINTRO asc " LE RETOUR DU Dr GENIUS"8D + asc " Vous avez 20 minutes et"8D + asc " 400 unites de force pour"8D + asc " remplir votre mission..."00 *----------------------------------- * LES DONNEES @@ -809,7 +775,7 @@ str4520 asc "Le systeme automatique est deregle, il met du gaz carbonique a la p str4530 asc "Vous respirez un grand coup."00 str4540 asc "Que voulez-vous respirer, il n"A7"y a plus d"A7"oxygene."00 str4550 asc "Vous avez deux essais pour"00 -str4552 asc "Entrez le mot de passe."00 +str4552 asc "entrer le mot de passe."00 str4558 asc "Exact, vous etes perspicace!"00 str4559 asc "UIN LOI QRU ILD ESP ECU TAS ASU VIE RAL HOU MEA"00 str4560 asc "C"A7"est d"A7"accord."00 @@ -818,7 +784,7 @@ str4580 asc "Vous mourrez deshydrate."00 str4610 asc "Le sas se referme derriere vous, le tableau de controle s"A7"allume et l"A7"ordinateur de bord vous demande le mot de passe pour le retour ?"00 str4615 asc "Le vaisseau de secours s"A7"eloigne, au loin vous voyez Genius qui pleure derriere un hublot"00 str4616 asc " VOUS AVEZ GAGNE"00 -str4618 asc "Mais, que se passe-t-il,vous avez du vous tromper de mot de passe,votre "00 +str4618 asc "Mais, que se passe-t-il,vous avez du vous tromper de mot de passe, votre "00 str4620 asc "La soucoupe a explose au decollage."00 str4630 asc "Energie restante :"00 str4640 asc "Petit drole...Le chronometre est affiche en permanence"00 @@ -828,7 +794,7 @@ str4656 asc "Le mot de passe pour le retour est : "00 ; MP$ str4660 asc "Votre trajectoire est bonne, pourquoi la corriger ?"00 str4670 asc "Le mur au nord coulisse, vous avancez dans cette salle."00 str4680 asc "Quel livre ?"00 -str4690 asc "au dos du boitier est marque :"00 +str4690 asc "Au dos du boitier est marque :"00 str4692 asc " "A7"PROTEGEZ MOI"A7""00 str4700 asc "Vous remarquez un boitier de radiocommande."00 str4730 asc "Que regardez vous ?"00 @@ -857,7 +823,7 @@ str4920 asc "Vous etes entre dans le vaisseau par le sas a l"A7"ouest qui ne s"A str5500 asc "Etes-vous sur (O/N) ?"00 -str16000 asc "vaisseau de poche fonce sur le soleil,"00 +str16000 asc "vaisseau de poche fonce sur le soleil, "00 str16010 asc "Vous venez de realiser que Genius"00 str16020 asc "pleurait de JOIE...!"00 str18005 asc "Comme je le pensais , vous vous etes stupidement fait avoir, et votre cadavre (ou ce qu"A7"il en reste) reposera a jamais dans l"A7"espace..."00 @@ -865,19 +831,3 @@ str18005 asc "Comme je le pensais , vous vous etes stupidement fait avoir, et vo str19050 asc " Merci d"A7"avoir essaye...!"00 str19060 asc " Reveillez-vous , c"A7"est fini !"00 -strGAGNE - asc " D"A7"accord,"8D - asc "vous m"A7"avez battu, mais c"A7"est un coup"8D - asc "de chance, et la prochaine fois ma"8D - asc "vengeance sera terrible."8D - asc "Prenez peur, car le jour ou je serai"8D - asc "a nouveau la, ma puissance n"A7"aura plus"8D - asc "de limites, alors l"A7"heure de la souf-"8D - asc "france aura sonne..."8D - asc " Dr GENIUS."00 - -strINTRO - asc " LE RETOUR DU Dr GENIUS"8D - asc " Vous avez 20 minutes , et"8D - asc " str400 unites de force pour"8D - asc " remplir votre mission..."00 diff --git a/leretour/apple2/fr/leretour.s b/leretour/apple2/fr/leretour.s index 6f00b52..3ff76fe 100644 --- a/leretour/apple2/fr/leretour.s +++ b/leretour/apple2/fr/leretour.s @@ -204,6 +204,11 @@ REPLAY jsr initALL @print #strILFAITNOIR jmp :500 +:140 jsr HGR + jsr setMIXEDON + @print #strVOSYEUX + jmp :500 + *----------------------------------- * 200 - description salle *----------------------------------- @@ -313,11 +318,7 @@ REPLAY jsr initALL sta N jmp :1000 -:530 lda switchENERGIE+1 - beq :531 - @print #strCMD ; commande sans energie - jmp :535 -:531 @print #strCOMMANDE ; commande avec energie +:530 @print #strCOMMANDE ; commande avec energie :535 jsr GETLN1 jsr rewriteSTRING ; from lower to upper @@ -326,17 +327,7 @@ REPLAY jsr initALL lda MO$1 bne :900 - lda VBL ; LOGO - Use a better RND? - eor VERTCNT - and #7 - clc - adc #1 - asl - tax - ldy tbl580,x - lda tbl580+1,x - tax - jsr printCSTRING + @print #strJENECOMPRENDS jmp :100 *----------------------------------- @@ -756,17 +747,7 @@ tbl1800 da :1800,:1900 *-------- B -:1900 lda S - cmp #nbOaP ; nombre d'objets porter - bcc :1930 - - @print #strEVIDENT - -:1920 lda #1 - sta BREAK - rts - -:1930 ldx N +:1900 ldx N lda O,x cmp #-1 bne :1960 @@ -937,15 +918,16 @@ tbl1800 da :1800,:1900 * 4000 - LES REPONSES *----------------------------------- -tbl4000 da $bdbd - da :4010,:4020,:4030,:4040,:4050,:4060,:4070,:4080,:4090 +tbl4000 da $bdbd,:4010,:4020,:4030,:4040,:4050,:4060,:4070,:4080,:4090 da :4100,:4110,:4120,:4130,:4140,:4150,:4160,:4170,:4180,:4190 da :4200,:4210,:4220,:4230,:4240,:4250,:4260,:4270,:4280,:4290 da :4300,:4310,:4320,:4330,:4340,:4350,:4360,:4370,:4380,:4390 da :4400,:4410,:4420,:4430,:4440,:4450,:4460,:4470,:4480,:4490 da :4500,:4510,:4520,:4530,:4540,:4550,:4560,:4570,:4580,:4590 da :4600,:4610,:4620,:4630,:4640,:4650,:4660,:4670,:4680,:4690 - da :4700,:4710,:4720,:4730,:4740,:4750 + da :4700,:4710,:4720,:4730,:4740,:4750,:4760,:4770,:4780,:4790 + da :4800,:4810,:4820,:4830,:4840,:4850,:4860,:4870,:4880,:4890 + da :4900,:4910,:4920 *-------- @@ -1043,6 +1025,7 @@ tbl4000 da $bdbd rts :4320 @print #str4320 + @print #str4321 rts :4330 @print #str4330 @@ -1094,6 +1077,7 @@ tbl4000 da $bdbd rts :4490 @print #str4490 + #print #str4491 rts :4500 @print #str4500 @@ -1112,6 +1096,8 @@ tbl4000 da $bdbd rts :4550 @print #str4550 + @print #str4552 + @print #str4558 rts :4560 @print #str4560 @@ -1130,6 +1116,7 @@ tbl4000 da $bdbd rts :4610 @print #str4610 + #print #str4615 rts :4620 @print #str4620 @@ -1142,49 +1129,93 @@ tbl4000 da $bdbd rts :4650 @print #str4650 + @print #str4655 + @print #str4656 rts -*--- - -:4660 lda VBL ; LOGO - Use a better RND? - eor VERTCNT - and #7 - clc - adc #1 -:4665 asl - tax - ldy tbl4660,x - lda tbl4660+1,x - tax - jsr printCSTRING +:4660 @print #str4660 rts -:4670 lda #1 - bne :4665 - -:4680 lda #2 - bne :4665 - -:4690 lda #3 - bne :4665 - -:4700 lda #4 - bne :4665 - -:4710 lda #5 - bne :4665 +:4670 @print #str4670 + rts -:4720 lda #6 - bne :4665 - -:4730 lda #7 - bne :4665 - -:4740 lda #8 - bne :4665 - -:4750 lda #9 - bne :4665 +:4680 @print #str4680 + rts + +:4690 @print #str4690 + @print #str4692 + rts + +:4700 @print #str4700 + rts + +:4710 @print #str4710 + rts + +:4720 @print #str4720 + rts + +:4730 @print #str4730 + rts + +:4740 @print #str4740 + rts + +:4750 @print #str4750 + rts + +:4760 @print #str4760 + rts + +:4770 @print #str4770 + rts + +:4780 @print #str4780 + rts + +:4790 @print #str4790 + rts + +:4800 @print #str4800 + rts + +:4810 @print #str4810 + rts + +:4820 @print #str4820 + rts + +:4830 @print #str4830 + rts + +:4840 @print #str4840 + rts + +:4850 @print #str4850 + rts + +:4860 @print #str4860 + rts + +:4870 @print #str4870 + @print #str4874 + rts + +:4880 @print #str4880 + rts + +:4890 @print #str4890 + @print #str4891 + rts + +:4900 @print #str4900 + rts + +:4910 @print #str4910 + rts + +:4920 @print #str4920 + rts *----------------------------------- * 6000 - ANALYSE DU MOT @@ -2318,4 +2349,11 @@ tblD2H dfb 0,10,20,30,40,50,60,70,80,90 put ../common/images.s put ../common/musiques.s -*--- It's the end \ No newline at end of file +*--- It's the end + +tblIMAGES da L423B,L786F,L7974,L4F61,L4E95,L7CC8,L6BDC,L5EFA,L7DE2,L7F38 + da L62EF,L57EA,L5925,L63F6,L47C3,L5A21,L5021,L4DFF,L64EF,L4700 + da L5D77,L52CA,L4E41,L6AF2,L81EA,L827B,L61DF,L497F,L4C16,L4A8D + da L4CEE,L5B40,L6FDD,L6F05,L65FF,L8088,L7A40,L774C,L7B63,L5CC6 + da L5BEE,L50F6,L6D58,L6C6E,L74D2,L70F6,L487A,L71E0,L4DAB,L55C8 + da L72CA,L6958,$0000,L5F6B,L60EB,L6812,L6E33,L8367 \ No newline at end of file diff --git a/leretour/images/les images.xlsx b/leretour/images/les images.xlsx new file mode 100644 index 0000000..81b5971 Binary files /dev/null and b/leretour/images/les images.xlsx differ diff --git a/leretour/leretour.2mg b/leretour/leretour.2mg index a44e7e7..021d02c 100644 Binary files a/leretour/leretour.2mg and b/leretour/leretour.2mg differ diff --git a/leretour/oric/LERETOUR.S b/leretour/oric/LERETOUR.S new file mode 100644 index 0000000..dfec08c --- /dev/null +++ b/leretour/oric/LERETOUR.S @@ -0,0 +1,20409 @@ +* +* Le retour du Dr Genius +* +* (c) 1983, Loriciels +* (c) 2023, Brutal Deluxe Software (Apple II) +* + + mx %11 + org $423b + lst off + +*----------------------------------- +* SOFTSWITCHES AND FRIENDS +*----------------------------------- + +P = $0480 ; les pointeurs +C = $04A0 ; les conditions +O = $04C0 ; les objets + +SALLE = $BFFF + +IRQ_HANDLER = $EE22 +CURSET = $F0C8 +CURMOV = $F0FD ; not used +DRAW = $F110 +CHAR = $F12D ; not used +CHAR_ALT = $F15D +PAPER = $F204 +INK = $F210 +FILL = $F268 +CIRCLE = $F37F + +*----------------------------------- +* CODE AND DATA +*----------------------------------- + +L423B DB $41 + DB $80 + DB $00 + DB $48 + DB $45 + DB $00 + DB $00 + DB $49 + DB $00 + DB $84 + DB $00 + DB $00 + DB $00 + DB $00 + DB $58 + DB $80 + DB $00 + DB $48 + DB $45 + DB $00 + DB $00 + DB $41 + DB $00 + DB $85 + DB $28 + DB $00 + DB $00 + DB $00 + DB $42 + DB $00 + DB $81 + DB $00 + DB $00 + DB $00 + DB $00 + DB $43 + DB $00 + DB $81 + DB $00 + DB $00 + DB $00 + DB $00 + DB $56 + DB $4F + DB $82 + DB $00 + DB $00 + DB $00 + DB $00 + DB $43 + DB $48 + DB $8C + DB $78 + DB $98 + DB $00 + DB $00 + DB $4E + DB $00 + DB $90 + DB $3F + DB $B8 + DB $00 + DB $00 + DB $5A + DB $5A + DB $80 + DB $79 + DB $1F + DB $81 + DB $94 + DB $4F + DB $00 + DB $85 + DB $18 + DB $00 + DB $00 + DB $00 + DB $4D + DB $D0 + DB $05 + DB $03 + DB $38 + DB $00 + DB $00 + DB $57 + DB $57 + DB $87 + DB $1B + DB $00 + DB $00 + DB $00 + DB $53 + DB $41 + DB $84 + DB $30 + DB $00 + DB $00 + DB $00 + DB $50 + DB $50 + DB $81 + DB $00 + DB $00 + DB $00 + DB $00 + DB $48 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $4B + DB $00 + DB $80 + DB $00 + DB $00 + DB $00 + DB $00 + DB $41 + DB $41 + DB $86 + DB $04 + DB $00 + DB $00 + DB $00 + DB $4D + DB $80 + DB $A9 + DB $00 + DB $01 + DB $00 + DB $36 + DB $00 + DB $00 + DB $00 + DB $07 + DB $1C + DB $34 + DB $07 + DB $24 + DB $34 + DB $0A + DB $2C + DB $34 + DB $0A + DB $37 + DB $34 + DB $0A + DB $42 + DB $34 + DB $07 + DB $4D + DB $34 + DB $0A + DB $55 + DB $34 + DB $07 + DB $65 + DB $34 + DB $0D + DB $6D + DB $34 + DB $04 + DB $7B + DB $34 + DB $0A + DB $80 + DB $34 + DB $07 + DB $8B + DB $34 + DB $07 + DB $93 + DB $34 + DB $04 + DB $9B + DB $34 + DB $07 + DB $A0 + DB $34 + DB $07 + DB $AD + DB $34 + DB $04 + DB $B5 + DB $34 + DB $01 + DB $BA + DB $34 + DB $0A + DB $BC + DB $34 + DB $04 + DB $C7 + DB $34 + DB $04 + DB $CC + DB $34 + DB $07 + DB $D1 + DB $34 + DB $0A + DB $D9 + DB $34 + DB $04 + DB $E4 + DB $34 + DB $07 + DB $E9 + DB $34 + DB $04 + DB $F6 + DB $34 + DB $0A + DB $FB + DB $34 + DB $07 + DB $06 + DB $35 + DB $07 + DB $0E + DB $35 + DB $04 + DB $16 + DB $35 + DB $07 + DB $1B + DB $35 + DB $0A + DB $23 + DB $35 + DB $07 + DB $2E + DB $35 + DB $07 + DB $3B + DB $35 + DB $07 + DB $43 + DB $35 + DB $0A + DB $4B + DB $35 + DB $07 + DB $56 + DB $35 + DB $10 + DB $5E + DB $35 + DB $07 + DB $6F + DB $35 + DB $07 + DB $77 + DB $35 + DB $04 + DB $84 + DB $35 + DB $07 + DB $89 + DB $35 + DB $0A + DB $91 + DB $35 + DB $04 + DB $9C + DB $35 + DB $04 + DB $A1 + DB $35 + DB $01 + DB $A6 + DB $35 + DB $07 + DB $A8 + DB $35 + DB $07 + DB $B0 + DB $35 + DB $0A + DB $B8 + DB $35 + DB $07 + DB $C8 + DB $35 + DB $04 + DB $D0 + DB $35 + DB $01 + DB $D5 + DB $35 + DB $04 + DB $D7 + DB $35 + DB $4F + DB $80 + DB $43 + DB $00 + DB $01 + DB $00 + DB $14 + DB $00 + DB $00 + DB $00 + DB $11 + DB $11 + DB $36 + DB $16 + DB $28 + DB $36 + DB $17 + DB $49 + DB $36 + DB $07 + DB $66 + DB $36 + DB $0C + DB $73 + DB $36 + DB $0E + DB $8A + DB $36 + DB $16 + DB $9E + DB $36 + DB $0F + DB $B9 + DB $36 + DB $0F + DB $D3 + DB $36 + DB $12 + DB $E8 + DB $36 + DB $0E + DB $00 + DB $37 + DB $09 + DB $18 + DB $37 + DB $10 + DB $26 + DB $37 + DB $0C + DB $3B + DB $37 + DB $0E + DB $4D + DB $37 + DB $11 + DB $66 + DB $37 + DB $16 + DB $7D + DB $37 + DB $10 + DB $9E + DB $37 + DB $26 + DB $B4 + DB $37 + DB $53 + DB $00 + DB $3E + DB $00 + DB $01 + DB $00 + DB $0B + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $0A + DB $92 + DB $35 + DB $04 + DB $9D + DB $35 + DB $04 + DB $A2 + DB $35 + DB $01 + DB $A7 + DB $35 + DB $07 + DB $A9 + DB $35 + DB $07 + DB $B1 + DB $35 + DB $0A + DB $B9 + DB $35 + DB $07 + DB $C9 + DB $35 + DB $04 + DB $D1 + DB $35 + DB $01 + DB $D6 + DB $35 + DB $04 + DB $D8 + DB $35 + DB $4F + DB $80 + DB $43 + DB $00 + DB $01 + DB $00 + DB $14 + DB $00 + DB $00 + DB $00 + DB $11 + DB $12 + DB $36 + DB $16 + DB $29 + DB $36 + DB $17 + DB $4A + DB $36 + DB $07 + DB $67 + DB $36 + DB $0C + DB $74 + DB $36 + DB $0E + DB $8B + DB $36 + DB $16 + DB $9F + DB $36 + DB $0F + DB $BA + DB $36 + DB $0F + DB $D4 + DB $36 + DB $12 + DB $E9 + DB $36 + DB $0E + DB $01 + DB $37 + DB $09 + DB $19 + DB $37 + DB $10 + DB $27 + DB $37 + DB $0C + DB $3C + DB $37 + DB $0E + DB $4E + DB $37 + DB $11 + DB $67 + DB $37 + DB $16 + DB $7E + DB $37 + DB $10 + DB $9F + DB $37 + DB $26 + DB $B5 + DB $37 + DB $53 + DB $00 + DB $3E + DB $00 + DB $01 + DB $00 + DB $0B + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $82 + DB $40 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $52 + DB $4F + DB $4E + DB $45 + DB $46 + DB $41 + DB $42 + DB $4F + DB $52 + DB $44 + DB $45 + DB $20 + DB $41 + DB $53 + DB $54 + DB $52 + DB $4F + DB $4E + DB $45 + DB $46 + DB $41 + DB $42 + DB $4F + DB $52 + DB $44 + DB $45 + DB $20 + DB $41 + DB $53 + DB $54 + DB $52 + DB $4F + DB $4E + DB $45 + DB $46 + DB $46 + DB $41 + DB $42 + DB $4F + DB $52 + DB $44 + DB $45 + DB $20 + DB $41 + DB $53 + DB $54 + DB $52 + DB $4F + DB $4E + DB $45 + DB $41 + DB $42 + DB $4F + DB $52 + DB $44 + DB $45 + DB $20 + DB $41 + DB $53 + DB $54 + DB $52 + DB $4F + DB $4E + DB $45 + DB $41 + DB $42 + DB $4F + DB $52 + DB $44 + DB $45 + DB $20 + DB $41 + DB $53 + DB $54 + DB $52 + DB $4F + DB $4E + DB $45 + DB $41 + DB $42 + DB $4F + DB $52 + DB $44 + DB $45 + DB $20 + DB $41 + DB $53 + DB $54 + DB $52 + DB $4F + DB $4E + DB $45 + DB $41 + DB $42 + DB $4F + DB $52 + DB $44 + DB $45 + DB $20 + DB $41 + DB $53 + DB $54 + DB $52 + DB $4F + DB $4E + DB $45 + DB $41 + DB $42 + DB $4F + DB $52 + DB $44 + DB $45 + DB $20 + DB $41 + DB $53 + DB $54 + DB $52 + DB $4F + DB $4E + DB $45 + DB $45 + DB $41 + DB $42 + DB $4F + DB $52 + DB $44 + DB $45 + DB $20 + DB $41 + DB $53 + DB $54 + DB $52 + DB $4F + DB $4E + DB $41 + DB $42 + DB $4F + DB $52 + DB $44 + DB $45 + DB $20 + DB $41 + DB $53 + DB $0D + DB $0D + DB $41 + DB $42 + DB $4F + DB $52 + DB $44 + DB $45 + DB $20 + DB $41 + DB $53 + DB $54 + DB $52 + DB $4F + DB $4E + DB $45 + DB $46 + DB $41 + DB $4D + DB $41 + DB $4E + DB $4F + DB $49 + DB $52 + DB $44 + DB $36 + DB $31 + DB $FF + DB $FF + DB $44 + DB $36 + DB $31 + DB $31 + DB $44 + DB $36 + DB $36 + DB $44 + DB $44 + DB $41 + DB $53 + DB $54 + DB $52 + DB $41 + DB $42 + DB $4F + DB $52 + DB $0D + DB $41 + DB $42 + DB $4F + DB $52 + DB $0D + DB $4E + DB $49 + DB $56 + DB $45 + DB $41 + DB $55 + DB $3A + DB $20 + DB $31 + DB $31 + DB $1B + DB $50 + DB $1B + DB $41 + DB $1B + DB $4A + DB $1B + DB $50 + DB $1B + DB $41 + DB $1B + DB $1B + DB $1B + DB $50 + DB $1B + DB $41 + DB $1B + DB $50 + DB $1B + DB $1B + DB $1B + DB $50 + DB $1B + DB $53 +L456A LDX #$01 + STX $69 + INX + STX $68 + INX + INX + STX $67 + LDX #$08 + STX $66 + LDX #$10 + STX $65 + LDX #$20 + STX $64 + LDX #$41 + STX $6F + INX + STX $6E + INX + INX + STX $6D + LDX #$48 + STX $6C + LDX #$50 + STX $6B + LDX #$60 + STX $6A + LDY $60 + LDX $61 + LDA $62 + STY L9BF0 + STX L9BF1 + STA L9BF2 + LDA #>L9BF3 ; POINTEUR + LDX #L9BF0 ; POINTEUR + STA $71 + LDA #L9BF0 ; POINTEUR + STA $71 + LDA #IRQ_HANDLER + STA L9680+2 + STA L9621+1 + STA L96F0+1 + LDA #INK + STA L941E+2 + STA L9433+2 + STA L945A+2 + LDA #CIRCLE + STA L94D0+2 + LDA #CHAR_ALT + STA L94F2+2 + STA L94F6+2 + LDA #L962B + JMP L9289 + +*----------------------------------- +* LES MUSIQUES +*----------------------------------- + +L9100 HEX 0208030C010103020C0303010103020C + HEX 030304010702080403010103020C0303 + HEX 010103020C0303040507020804070101 + HEX 03020C0303010103020C030304080702 + HEX 080403010103020C030304030700020C + HEX 0303040307020A040701010304010403 + HEX 01010303010303040507020A04010101 + HEX 03030103030101030301030304020702 + HEX 080405010103020C0303010103020C03 + HEX 030403070208030C010103020C030303 + HEX 0C0700020C03030101030208030C0101 + HEX 03020C0303010103020C030304010702 + HEX 080403010103020C0303010103020C03 + HEX 0304050702080407010103020C030301 + HEX 0103020C030304080702080403010103 + HEX 020C030304030700020C030304030702 + HEX 03040701010302070301010103020703 + HEX 01040507020304010101030207030101 + HEX 010302070301030A070208020C030807 + HEX 0208020C030C070208020C0403070208 + HEX 020C040807 + +*----------------------------------- +* LE FILL DES IMAGES ? +*----------------------------------- + +L9245 LDA SALLE + STA $5F + LDA #>L96FF ; POINTEUR + LDY #L8E00 + STA $7A + STY $7B +L9508 LDY #$00 + LDX #$00 +L950C LDA $BFE0,X + CMP ($7A),Y + BNE L951E + INY + INX + CPX #$04 + BNE L950C + LDA ($7A),Y + STA $BFE5 +L951E CLD + CLC + LDA $7A + ADC #$05 + STA $7A + LDA $7B + ADC #$00 + STA $7B + LDY #$00 + LDA ($7A),Y + BNE L9508 + RTS + +*----------------------------------- +* RECOPIE ACTION A$ +*----------------------------------- + +L9533 LDA #L8700 + STA $7A + STY $7B +L953B LDY #$00 + LDA ($7A),Y + CMP $80 ; premier mot + BEQ L9546 + JMP L95EF + +L9546 INY + LDA ($7A),Y + BEQ L9552 + CMP $81 ; second mot + BEQ L9552 + JMP L95EF + +L9552 INY ; on a trouv, on gre + LDA ($7A),Y + INY + TAX + LDA ($7A),Y + CPX #$41 ; A + BEQ L958B + CPX #$42 ; B + BEQ L9593 + CPX #$43 ; C + BEQ L95A3 + CPX #$44 ; D + BEQ L95B3 + CPX #$45 ; E + BEQ L95BE + CPX #$46 ; F + BEQ L95C7 + CPX #$47 ; G + BEQ L95D0 + CPX #$48 ; H + BEQ L95DB + CPX #$49 ; I + BEQ L95E7 + + LDX #$00 ; sinon, on recopie until FF +L957F LDA ($7A),Y + STA $BFE0,X + INY + INX + CMP #$FF + BNE L957F + RTS + +*-- A - + +L958B CMP SALLE + BNE L95EF + JMP L9552 ; on boucle + +*-- B - + +L9593 TAX + LDA O,X ; les objets + CMP #$FF + BEQ L9552 + CMP SALLE + BEQ L9552 + JMP L95EF + +*-- C - + +L95A3 TAX + LDA O,X + CMP #$FF + BEQ L95EF + CMP SALLE + BEQ L95EF + JMP L9552 + +*-- D - + +L95B3 TAX + LDA O,X + CMP #$FF + BEQ L9552 + JMP L95EF + +*-- E - + +L95BE TAX + LDA P,X + BNE L9552 + JMP L95EF + +*-- F - + +L95C7 TAX + LDA P,X + BEQ L9552 + JMP L95EF + +*-- G - + +L95D0 TAX + LDA C,X + CMP #$01 + BNE L95EF + JMP L9552 + +*-- H - + +L95DB STA $7C + LDA $0306 + CMP $7C + BCS L95EF + JMP L9552 + +*-- I - + +L95E7 CMP SALLE + BEQ L95EF + JMP L9552 + +*--- next + +L95EF CLD ; +1 + CLC + LDA $7A + ADC #$01 + STA $7A + LDA $7B + ADC #$00 + STA $7B + LDY #$00 + LDA ($7A),Y ; until the end + CMP #$FF + BNE L95EF + CLC ; +1 + LDA $7A + ADC #$01 + STA $7A + LDA $7B + ADC #$00 + STA $7B + LDA ($7A),Y ; on a parcouru + BEQ L9619 ; le tableau, on sort + JMP L953B + +L9619 LDA #$00 ; on n'a rien trouv + STA $BFF0 + RTS + +*----------------------------------- +* METS-MOI L'IRQ HANDLER STANDARD +*----------------------------------- + +L961F LDA #IRQ_HANDLER + JMP L9289 + + DB $EA + DB $EA + DB $55 + DB $55 + DB $55 + +L962B PHA ; TEMPO + TXA + PHA + TYA + PHA + DEC $04FD + LDA $04FD + BNE L967B + LDA $04FF + CMP #$30 + BEQ L9645 + DEC $04FF + JMP L9683 + +L9645 LDA #$39 + STA $04FF + LDA $04FE + CMP #$30 + BEQ L9657 + DEC $04FE + JMP L9683 + +L9657 LDA #$35 + STA $04FE + LDA $04FC + CMP #$30 + BEQ L9669 + DEC $04FC + JMP L9683 + +L9669 LDA #$39 + STA $04FC + LDA $04FB + CMP #$30 + BEQ L967B + DEC $04FB + JMP L9683 + +L967B PLA + TAY + PLA + TAX + PLA +L9680 JMP $EE22 ; IRQ HANDLER + +L9683 LDA $04BF + BEQ L96A5 + LDA $04FB + STA $BFDB + LDA $04FC + STA $BFDC + LDA #$3A + STA $BFDD + LDA $04FE + STA $BFDE + LDA $04FF + STA $BFDF +L96A5 LDA #$64 + STA $04FD + LDA $04FB + CMP #$30 + BNE L967B + LDA $04FC + CMP #$30 + BNE L967B + LDA $04FE + CMP #$30 + BNE L967B + LDA $04FF + CMP #$30 + BNE L967B + JMP L96ED + +*----------------------------------- +* INITIALISE LE TEMPS (20 MINUTES) +*----------------------------------- + +L96C9 SEI ; 20:01 + LDA #$64 + STA $04FD + LDA #$32 + STA $04FB + LDA #$30 + STA $04FC + STA $04FE + LDA #$31 + STA $04FF + LDA #>L962B ; POINTEUR + LDY #IRQ_HANDLER +L96F2 STA $0245 +L96F5 STY $0246 + CLI + JMP L967B + +*----------------------------------- +* MET LE VECTEUR IRQ STANDARD +*----------------------------------- + +L96FC JMP L961F + +*----------------------------------- +* TABLE POUR LE FILL DES IMAGES ? +*----------------------------------- + +L96FF DB $A6 + DB $25 + DB $C4 + DB $A6 + DB $00 + DB $E2 + DB $67 + DB $00 + DB $46 + DB $A6 + DB $64 + DB $A6 + DB $00 + DB $46 + DB $26 + DB $64 + DB $A6 + DB $00 + DB $A1 + DB $6C + DB $00 + DB $F9 + DB $83 + DB $00 + DB $74 + DB $29 + DB $00 + DB $00 + DB $00 + DB $93 + DB $37 + DB $76 + DB $B7 + DB $00 + DB $6A + DB $29 + DB $DC + DB $C5 + DB $00 + DB $85 + DB $AC + DB $A4 + DB $AC + DB $FA + DB $B5 + DB $00 + DB $C6 + DB $B2 + DB $E3 + DB $B2 + DB $4C + DB $AE + DB $00 + DB $C6 + DB $37 + DB $E3 + DB $D7 + DB $0C + DB $28 + DB $00 + DB $A5 + DB $2F + DB $C3 + DB $2F + DB $6F + DB $B4 + DB $22 + DB $AE + DB $00 + DB $CE + DB $45 + DB $EB + DB $25 + DB $00 + DB $F3 + DB $6A + DB $16 + DB $6B + DB $00 + DB $BD + DB $78 + DB $F0 + DB $63 + DB $09 + DB $64 + DB $00 + DB $37 + DB $B1 + DB $6C + DB $4E + DB $55 + DB $4E + DB $70 + DB $A9 + DB $00 + DB $73 + DB $B0 + DB $15 + DB $67 + DB $67 + DB $B3 + DB $00 + DB $00 + DB $EC + DB $43 + DB $0D + DB $84 + DB $00 + DB $DC + DB $87 + DB $ED + DB $47 + DB $85 + DB $2E + DB $00 + DB $A4 + DB $21 + DB $00 + DB $94 + DB $2C + DB $00 + DB $2C + DB $4A + DB $4C + DB $4A + DB $00 + DB $F9 + DB $30 + DB $5C + DB $2D + DB $00 + DB $D7 + DB $87 + DB $00 + DB $6D + DB $B1 + DB $00 + DB $F2 + DB $A7 + DB $95 + DB $AC + DB $00 + DB $9D + DB $28 + DB $BD + DB $28 + DB $00 + DB $66 + DB $A9 + DB $4B + DB $2A + DB $24 + DB $6C + DB $E4 + DB $AC + DB $00 + DB $66 + DB $A9 + DB $4B + DB $2A + DB $E4 + DB $AC + DB $00 + DB $84 + DB $23 + DB $00 + DB $C4 + DB $C4 + DB $00 + DB $DA + DB $A7 + DB $00 + DB $00 + DB $33 + DB $B9 + DB $DB + DB $B6 + DB $83 + DB $B4 + DB $00 + DB $9D + DB $28 + DB $BD + DB $28 + DB $00 + DB $9D + DB $28 + DB $BD + DB $28 + DB $00 + DB $00 + DB $B3 + DB $69 + DB $D6 + DB $69 + DB $00 + DB $66 + DB $A9 + DB $4E + DB $6A + DB $00 + DB $00 + DB $86 + DB $AC + DB $6C + DB $A9 + DB $7C + DB $A9 + DB $A1 + DB $AC + DB $00 + DB $84 + DB $B0 + DB $00 + DB $86 + DB $AC + DB $6C + DB $A9 + DB $7C + DB $A9 + DB $A1 + DB $AC + DB $00 + DB $EC + DB $A3 + DB $0D + DB $A4 + DB $00 + DB $0D + DB $A4 + DB $54 + DB $A6 + DB $EC + DB $A3 + DB $82 + DB $45 + DB $00 + DB $88 + DB $AC + DB $1C + DB $A7 + DB $BB + DB $D0 + DB $00 + DB $E6 + DB $B5 + DB $03 + DB $B6 + DB $CC + DB $AB + DB $00 + DB $00 + DB $CB + DB $B2 + DB $00 + DB $00 + DB $00 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + +L9900 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $08 + DB $08 + DB $08 + DB $08 + DB $08 + DB $00 + DB $08 + DB $00 + DB $14 + DB $14 + DB $14 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $14 + DB $14 + DB $3E + DB $14 + DB $3E + DB $14 + DB $14 + DB $00 + DB $08 + DB $1E + DB $28 + DB $1C + DB $0A + DB $3C + DB $08 + DB $00 + DB $30 + DB $32 + DB $04 + DB $08 + DB $10 + DB $26 + DB $06 + DB $00 + DB $10 + DB $28 + DB $28 + DB $10 + DB $2A + DB $24 + DB $1A + DB $00 + DB $08 + DB $08 + DB $08 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $08 + DB $10 + DB $20 + DB $20 + DB $20 + DB $10 + DB $08 + DB $00 + DB $08 + DB $04 + DB $02 + DB $02 + DB $02 + DB $04 + DB $08 + DB $00 + DB $08 + DB $2A + DB $1C + DB $08 + DB $1C + DB $2A + DB $08 + DB $00 + DB $00 + DB $08 + DB $08 + DB $3E + DB $08 + DB $08 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $08 + DB $08 + DB $10 + DB $00 + DB $00 + DB $00 + DB $3E + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $04 + DB $00 + DB $00 + DB $00 + DB $02 + DB $04 + DB $08 + DB $10 + DB $20 + DB $00 + DB $00 + DB $1C + DB $22 + DB $26 + DB $2A + DB $32 + DB $22 + DB $1C + DB $00 + DB $08 + DB $18 + DB $08 + DB $08 + DB $08 + DB $08 + DB $1C + DB $00 + DB $1C + DB $22 + DB $02 + DB $04 + DB $08 + DB $10 + DB $3E + DB $00 + DB $3E + DB $02 + DB $04 + DB $0C + DB $02 + DB $22 + DB $1C + DB $00 + DB $04 + DB $0C + DB $14 + DB $24 + DB $3E + DB $04 + DB $04 + DB $00 + DB $3E + DB $20 + DB $3C + DB $02 + DB $02 + DB $22 + DB $1C + DB $00 + DB $0C + DB $10 + DB $20 + DB $3C + DB $22 + DB $22 + DB $1C + DB $00 + DB $3E + DB $02 + DB $04 + DB $08 + DB $10 + DB $10 + DB $10 + DB $00 + DB $1C + DB $22 + DB $22 + DB $1C + DB $22 + DB $22 + DB $1C + DB $00 + DB $1C + DB $22 + DB $22 + DB $1E + DB $02 + DB $04 + DB $18 + DB $00 + DB $00 + DB $00 + DB $08 + DB $00 + DB $00 + DB $08 + DB $00 + DB $00 + DB $00 + DB $00 + DB $08 + DB $00 + DB $00 + DB $08 + DB $08 + DB $10 + DB $04 + DB $08 + DB $10 + DB $20 + DB $10 + DB $08 + DB $04 + DB $00 + DB $00 + DB $00 + DB $3E + DB $00 + DB $3E + DB $00 + DB $00 + DB $00 + DB $10 + DB $08 + DB $04 + DB $02 + DB $04 + DB $08 + DB $10 + DB $00 + DB $1C + DB $22 + DB $04 + DB $08 + DB $08 + DB $00 + DB $08 + DB $00 + DB $1C + DB $22 + DB $2A + DB $2E + DB $2C + DB $20 + DB $1E + DB $00 + DB $08 + DB $14 + DB $22 + DB $22 + DB $3E + DB $22 + DB $22 + DB $00 + DB $3C + DB $22 + DB $22 + DB $3C + DB $22 + DB $22 + DB $3C + DB $00 + DB $1C + DB $22 + DB $20 + DB $20 + DB $20 + DB $22 + DB $1C + DB $00 + DB $3C + DB $22 + DB $22 + DB $22 + DB $22 + DB $22 + DB $3C + DB $00 + DB $3E + DB $20 + DB $20 + DB $3C + DB $20 + DB $20 + DB $3E + DB $00 + DB $3E + DB $20 + DB $20 + DB $3C + DB $20 + DB $20 + DB $20 + DB $00 + DB $1E + DB $20 + DB $20 + DB $20 + DB $26 + DB $22 + DB $1E + DB $00 + DB $22 + DB $22 + DB $22 + DB $3E + DB $22 + DB $22 + DB $22 + DB $00 + DB $1C + DB $08 + DB $08 + DB $08 + DB $08 + DB $08 + DB $1C + DB $00 + DB $02 + DB $02 + DB $02 + DB $02 + DB $02 + DB $22 + DB $1C + DB $00 + DB $22 + DB $24 + DB $28 + DB $30 + DB $28 + DB $24 + DB $22 + DB $00 + DB $20 + DB $20 + DB $20 + DB $20 + DB $20 + DB $20 + DB $3E + DB $00 + DB $22 + DB $36 + DB $2A + DB $2A + DB $22 + DB $22 + DB $22 + DB $00 + DB $22 + DB $22 + DB $32 + DB $2A + DB $26 + DB $22 + DB $22 + DB $00 + DB $1C + DB $22 + DB $22 + DB $22 + DB $22 + DB $22 + DB $1C + DB $00 + DB $3C + DB $22 + DB $22 + DB $3C + DB $20 + DB $20 + DB $20 + DB $00 + DB $1C + DB $22 + DB $22 + DB $22 + DB $2A + DB $24 + DB $1A + DB $00 + DB $3C + DB $22 + DB $22 + DB $3C + DB $28 + DB $24 + DB $22 + DB $00 + DB $1C + DB $22 + DB $20 + DB $1C + DB $02 + DB $22 + DB $1C + DB $00 + DB $3E + DB $08 + DB $08 + DB $08 + DB $08 + DB $08 + DB $08 + DB $00 + DB $22 + DB $22 + DB $22 + DB $22 + DB $22 + DB $22 + DB $1C + DB $00 + DB $22 + DB $22 + DB $22 + DB $22 + DB $22 + DB $14 + DB $08 + DB $00 + DB $22 + DB $22 + DB $22 + DB $2A + DB $2A + DB $36 + DB $22 + DB $00 + DB $22 + DB $22 + DB $14 + DB $08 + DB $14 + DB $22 + DB $22 + DB $00 + DB $22 + DB $22 + DB $14 + DB $08 + DB $08 + DB $08 + DB $08 + DB $00 + DB $3E + DB $02 + DB $04 + DB $08 + DB $10 + DB $20 + DB $3E + DB $00 + DB $1E + DB $10 + DB $10 + DB $10 + DB $10 + DB $10 + DB $1E + DB $00 + DB $00 + DB $20 + DB $10 + DB $08 + DB $04 + DB $02 + DB $00 + DB $00 + DB $3C + DB $04 + DB $04 + DB $04 + DB $04 + DB $04 + DB $3C + DB $00 + DB $08 + DB $14 + DB $2A + DB $08 + DB $08 + DB $08 + DB $08 + DB $00 + DB $0E + DB $10 + DB $10 + DB $10 + DB $3C + DB $10 + DB $3E + DB $00 + DB $0C + DB $12 + DB $2D + DB $29 + DB $29 + DB $2D + DB $12 + DB $0C + DB $00 + DB $00 + DB $1C + DB $02 + DB $1E + DB $22 + DB $1E + DB $00 + DB $20 + DB $20 + DB $3C + DB $22 + DB $22 + DB $22 + DB $3C + DB $00 + DB $00 + DB $00 + DB $1E + DB $20 + DB $20 + DB $20 + DB $1E + DB $00 + DB $02 + DB $02 + DB $1E + DB $22 + DB $22 + DB $22 + DB $1E + DB $00 + DB $00 + DB $00 + DB $1C + DB $22 + DB $3E + DB $20 + DB $1E + DB $00 + DB $0C + DB $12 + DB $10 + DB $3C + DB $10 + DB $10 + DB $10 + DB $00 + DB $00 + DB $00 + DB $1C + DB $22 + DB $22 + DB $1E + DB $02 + DB $1C + DB $20 + DB $20 + DB $3C + DB $22 + DB $22 + DB $22 + DB $22 + DB $00 + DB $08 + DB $00 + DB $18 + DB $08 + DB $08 + DB $08 + DB $1C + DB $00 + DB $04 + DB $00 + DB $0C + DB $04 + DB $04 + DB $04 + DB $24 + DB $18 + DB $20 + DB $20 + DB $22 + DB $24 + DB $38 + DB $24 + DB $22 + DB $00 + DB $18 + DB $08 + DB $08 + DB $08 + DB $08 + DB $08 + DB $1C + DB $00 + DB $00 + DB $00 + DB $36 + DB $2A + DB $2A + DB $2A + DB $22 + DB $00 + DB $00 + DB $00 + DB $3C + DB $22 + DB $22 + DB $22 + DB $22 + DB $00 + DB $00 + DB $00 + DB $1C + DB $22 + DB $22 + DB $22 + DB $1C + DB $00 + DB $00 + DB $00 + DB $3C + DB $22 + DB $22 + DB $3C + DB $20 + DB $20 + DB $00 + DB $00 + DB $1E + DB $22 + DB $22 + DB $1E + DB $02 + DB $02 + DB $00 + DB $00 + DB $2E + DB $30 + DB $20 + DB $20 + DB $20 + DB $00 + DB $00 + DB $00 + DB $1E + DB $20 + DB $1C + DB $02 + DB $3C + DB $00 + DB $10 + DB $10 + DB $3C + DB $10 + DB $10 + DB $12 + DB $0C + DB $00 + DB $00 + DB $00 + DB $22 + DB $22 + DB $22 + DB $26 + DB $1A + DB $00 + DB $00 + DB $00 + DB $22 + DB $22 + DB $22 + DB $14 + DB $08 + DB $00 + DB $00 + DB $00 + DB $22 + DB $22 + DB $2A + DB $2A + DB $36 + DB $00 + DB $00 + DB $00 + DB $22 + DB $14 + DB $08 + DB $14 + DB $22 + DB $00 + DB $00 + DB $00 + DB $22 + DB $22 + DB $22 + DB $1E + DB $02 + DB $1C + DB $00 + DB $00 + DB $3E + DB $04 + DB $08 + DB $10 + DB $3E + DB $00 + DB $0E + DB $18 + DB $18 + DB $30 + DB $18 + DB $18 + DB $0E + DB $00 + DB $08 + DB $08 + DB $08 + DB $08 + DB $08 + DB $08 + DB $08 + DB $08 + DB $38 + DB $0C + DB $0C + DB $06 + DB $0C + DB $0C + DB $38 + DB $00 + +*----------------------------------- +* LIGNES ECRAN ET VALEUR +*----------------------------------- + +L9BF0 DB $B6 +L9BF1 DB $AA +L9BF2 DB $01 +L9BF3 DB $B4 + DB $AA + DB $01 + DB $B6 + DB $AA + DB $02 + DB $B6 + DB $AA + DB $01 + DB $B6 + DB $AA + DB $03 + DB $8E + DB $AA + DB $02 + DB $B4 + DB $AA + DB $01 + DB $B6 + DB $AA + DB $02 + DB $B6 + DB $AA + DB $04 + DB $8E + DB $AA + DB $03 + DB $66 + DB $AA + DB $02 + DB $B3 + DB $AA + DB $06 + DB $B6 + DB $AA + DB $03 + DB $B3 + DB $AA + DB $04 + DB $8F + DB $AA + DB $04 + DB $B7 + DB $AA + DB $03 + DB $B6 + DB $AA + DB $05 + DB $8E + DB $AA + DB $04 + DB $66 + DB $AA + DB $03 + DB $8B + DB $AA + DB $06 + DB $B3 + DB $AA + DB $05 + DB $8F + DB $AA + DB $03 + DB $B7 + DB $AA + DB $02 + DB $B6 + DB $AA + DB $06 + DB $8E + DB $AA + DB $05 + DB $66 + DB $AA + DB $04 + DB $3E + DB $AA + DB $03 + DB $63 + DB $AA + DB $06 + DB $8B + DB $AA + DB $05 + DB $8E + DB $AA + DB $06 + DB $66 + DB $AA + DB $05 + DB $3E + DB $AA + DB $04 + DB $16 + DB $AA + DB $03 + DB $16 + DB $AA + DB $04 + DB $53 + DB $A6 + DB $03 + DB $E1 + DB $A4 + DB $04 + DB $B9 + DB $A4 + DB $05 + DB $91 + DB $A4 + DB $06 + DB $6A + DB $A4 + DB $01 + DB $51 + DB $AD + DB $01 + DB $31 + DB $A5 + DB $03 + DB $09 + DB $A5 + DB $04 + DB $E1 + DB $A4 + DB $05 + DB $B9 + DB $A4 + DB $06 + DB $29 + DB $AD + DB $01 + DB $59 + DB $A5 + DB $03 + DB $31 + DB $A5 + DB $04 + DB $09 + DB $A5 + DB $05 + DB $29 + DB $AD + DB $02 + DB $01 + DB $AD + DB $01 + DB $81 + DB $A5 + DB $03 + DB $59 + DB $A5 + DB $04 + DB $A9 + DB $A5 + DB $03 + DB $89 + DB $AC + DB $01 + DB $B1 + DB $AC + DB $03 + DB $89 + DB $AC + DB $02 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $55 + DB $85 + DB $55 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $F0 + DB $F0 + DB $F0 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $0F + DB $0F + DB $0F + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $01 + DB $06 + DB $08 + DB $10 + DB $21 + DB $22 + DB $00 + DB $0F + DB $38 + DB $00 + DB $03 + DB $3C + DB $00 + DB $00 + DB $00 + DB $3F + DB $00 + DB $00 + DB $20 + DB $1F + DB $00 + DB $00 + DB $00 + DB $38 + DB $07 + DB $00 + DB $00 + DB $20 + DB $1E + DB $01 + DB $00 + DB $00 + DB $20 + DB $18 + DB $04 + DB $04 + DB $0C + DB $30 + DB $00 + DB $00 + DB $1F + DB $18 + DB $14 + DB $14 + DB $04 + DB $18 + DB $00 + DB $00 + DB $21 + DB $1F + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $3E + DB $04 + DB $0F + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $07 + DB $38 + DB $01 + DB $02 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $30 + DB $20 + DB $20 + DB $24 + DB $24 + DB $24 + DB $22 + DB $21 + DB $10 + DB $08 + DB $04 + DB $00 + DB $01 + DB $07 + DB $0C + DB $30 + DB $00 + DB $00 + DB $00 + DB $00 + DB $3F + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $30 + DB $0F + DB $00 + DB $00 + DB $0F + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $38 + DB $07 + DB $21 + DB $10 + DB $08 + DB $00 + DB $00 + DB $03 + DB $18 + DB $07 + DB $20 + DB $1B + DB $06 + DB $30 + DB $18 + DB $08 + DB $20 + DB $18 + DB $07 + DB $3F + DB $08 + DB $02 + DB $03 + DB $00 + DB $0E + DB $02 + DB $0A + DB $05 + DB $02 + DB $00 + DB $02 + DB $02 + DB $01 + DB $00 + DB $0E + DB $12 + DB $26 + DB $05 + DB $0E + DB $02 + DB $04 + DB $02 + DB $02 + DB $04 + DB $04 + DB $03 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $07 + DB $08 + DB $30 + DB $10 + DB $20 + DB $20 + DB $20 + DB $20 + DB $30 + DB $18 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $07 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $07 + DB $3F + DB $08 + DB $08 + DB $08 + DB $08 + DB $11 + DB $32 + DB $04 + DB $04 + DB $01 + DB $00 + DB $0F + DB $10 + DB $20 + DB $00 + DB $0F + DB $00 + DB $3C + DB $3E + DB $00 + DB $00 + DB $1E + DB $29 + DB $12 + DB $04 + DB $15 + DB $09 + DB $0F + DB $1F + DB $3F + DB $3F + DB $3F + DB $23 + DB $0F + DB $13 + DB $19 + DB $20 + DB $3F + DB $38 + DB $38 + DB $38 + DB $3F + DB $00 + DB $3E + DB $1F + DB $3E + DB $00 + DB $00 + DB $00 + DB $3C + DB $03 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $38 + DB $06 + DB $01 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $1C + DB $22 + DB $23 + DB $2D + DB $22 + DB $3A + DB $3A + DB $39 + DB $3C + DB $3C + DB $3C + DB $30 + DB $00 + DB $00 + DB $00 + DB $3F + DB $00 + DB $00 + DB $00 + DB $00 + DB $01 + DB $08 + DB $06 + DB $03 + DB $3C + DB $00 + DB $00 + DB $34 + DB $0C + DB $2A + DB $11 + DB $20 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $3F + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $03 + DB $03 + DB $24 + DB $18 + DB $00 + DB $00 + DB $00 + DB $23 + DB $01 + DB $03 + DB $27 + DB $1F + DB $00 + DB $00 + DB $00 + DB $38 + DB $38 + DB $30 + DB $3F + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $3C + DB $03 + DB $00 + DB $00 + DB $00 + DB $03 + DB $07 + DB $0F + DB $3B + DB $05 + DB $00 + DB $00 + DB $00 + DB $35 + DB $39 + DB $3E + DB $39 + DB $36 + DB $00 + DB $00 + DB $00 + DB $3C + DB $3C + DB $3C + DB $3C + DB $3C + DB $3C + DB $3C + DB $3C + DB $3C + DB $3C + DB $1E + DB $1F + DB $0F + DB $07 + DB $03 + DB $00 + DB $00 + DB $03 + DB $07 + DB $0F + DB $1F + DB $1E + DB $3C + DB $3C + DB $00 + DB $00 + DB $01 + DB $03 + DB $3F + DB $3F + DB $3F + DB $3C + DB $3C + DB $3F + DB $3F + DB $3F + DB $03 + DB $01 + DB $00 + DB $00 + DB $3C + DB $3C + DB $38 + DB $38 + DB $30 + DB $20 + DB $00 + DB $00 + DB $00 + DB $00 + DB $20 + DB $30 + DB $38 + DB $38 + DB $3C + DB $3C + DB $3C + DB $3F + DB $3F + DB $3F + DB $3F + DB $3E + DB $3C + DB $3C + DB $3E + DB $3F + DB $3F + DB $3F + DB $01 + DB $00 + DB $00 + DB $00 + DB $00 + DB $20 + DB $30 + DB $38 + DB $3C + DB $3C + DB $00 + DB $00 + DB $3E + DB $3F + DB $3F + DB $3F + DB $01 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $01 + DB $3F + DB $3F + DB $3F + DB $3E + DB $00 + DB $00 + DB $3C + DB $3C + DB $38 + DB $30 + DB $20 + DB $00 + DB $00 + DB $03 + DB $07 + DB $0F + DB $1F + DB $1E + DB $3C + DB $3F + DB $3E + DB $3F + DB $3F + DB $3F + DB $01 + DB $00 + DB $00 + DB $3F + DB $00 + DB $20 + DB $30 + DB $38 + DB $38 + DB $3C + DB $3C + DB $3C + DB $00 + DB $00 + DB $00 + DB $3C + DB $38 + DB $30 + DB $20 + DB $00 + DB $01 + DB $03 + DB $07 + DB $0F + DB $0E + DB $0F + DB $07 + DB $03 + DB $01 + DB $00 + DB $00 + DB $00 + DB $0F + DB $0F + DB $07 + DB $03 + DB $3F + DB $3F + DB $3F + DB $00 + DB $00 + DB $00 + DB $3F + DB $3F + DB $3F + DB $00 + DB $00 + DB $00 + DB $00 + DB $3F + DB $3F + DB $3F + DB $30 + DB $38 + DB $3C + DB $3C + DB $00 + DB $00 + DB $30 + DB $38 + DB $3C + DB $1E + DB $0E + DB $0E + DB $1E + DB $3C + DB $38 + DB $30 + +*--- It's the end... diff --git a/leretour/oric/_FileInformation.txt b/leretour/oric/_FileInformation.txt new file mode 100644 index 0000000..e69de29 diff --git a/leretour/oric/comprehension.txt b/leretour/oric/comprehension.txt new file mode 100644 index 0000000..ada3145 --- /dev/null +++ b/leretour/oric/comprehension.txt @@ -0,0 +1,102 @@ +80 l'index du premier mot +400 0, 1, 2 - dfinit le cadre dessin +401 pointeurs sur les 57 images du jeu +480 P - les pointeurs +4A0 C - les conditions +4C0 O - les objets +4FB 32 = 50 = "2" - les 20 minutes... +4FC 30 = 48 = "0" +4FD 64 = 100 +4FE 30 = 48 = "0" +4FF 31 = 49 = "1" +9100 la musique +BFF0 +BFFF SALLE + +CALL +--------------------------- +86F5 ; init d'entree +90F9 ; met le pointeur de tempo +9245 ; le fill des images +9292 ; affiche image +9500 ; verifie mot saisi +9533 ; recopie action A$ +96C9 ; installe notre tempo +96FC ; remet le tempo standard + +FIRMWARE +--------------------------- PAGE 2 +MODEKEY := $0209 +CAPSLOCK := $020C ; $7F = not locked, $FF = locked +PATTERN := $0213 +IRQVec := $0245 ; "fast" interrupt vector +JOINFLAG := $025A ; 0 = don't joiu, $4A = join BASIC programs +VERIFYFLAG := $025B ; 0 = load, 1 = verify +CURS_Y := $0268 +CURS_X := $0269 +STATUS := $026A +BACKGRND := $026B +FOREGRND := $026C +TIMER3 := $0276 +CFILE_NAME := $027F +CFOUND_NAME := $0293 +FILESTART := $02A9 +FILEEND := $02AB +AUTORUN := $02AD ; $00 = only load, $C7 = autorun +LANGFLAG := $02AE ; $00 = BASIC, $80 = machine code +LOADERR := $02B1 +KEYBUF := $02DF +PARMERR := $02E0 +PARAM1 := $02E1 ; & $02E2 +PARAM2 := $02E3 ; & $02E4 +PARAM3 := $02E5 ; & $02E6 +BANGVEC := $02F5 + +--------------------------- PAGE 3 +PRB .byte ; Port Register B +PRA .byte ; Port Register A +DDRB .byte ; Data Direction Register B +DDRA .byte ; Data Direction Register A +T1 .word ; Timer 1 +T1L .word ; Timer 1 Latch +T2 .word ; Timer 2 +SR .byte ; Shift Register +ACR .byte ; Auxiliary Control Register +PCR .byte ; Peripheral Control Register +IFR .byte ; Interrupt Flags Register +IER .byte ; Interrupt Enable Register +PRA2 .byte ; Port Register A without handshaking + + .res $031C +DATA .byte +STATUS .byte +CMD .byte ; Command register +CTRL .byte ; Control register + +--------------------------- FIRMWARE +GETLINE := $C592 +TEXT := $EC21 +HIRES := $EC33 +CURSET := $F0C8 +CURMOV := $F0FD +DRAW := $F110 +CHAR := $F12D +CHAR_ALT := $F15D +POINT := $F1C8 +PAPER := $F204 +INK := $F210 +FILL := $F268 +PRINT := $F77C + +PING := $FA9F +PING1 := $FA85 +SHOOT := $FAB5 +SHOOT1 := $FA9B +EXPLODE := $FACB +EXPLODE1 := $FAB1 +ZAP := $FAE1 +ZAP1 := $FAC7 +TICK := $FB14 +TICK1 := $FAFA +TOCK := $FB2A +TOCK1 := $FB10 \ No newline at end of file diff --git a/leretour/oric/oric_advanced_user_guide_rom_disassembly.pdf b/leretour/oric/oric_advanced_user_guide_rom_disassembly.pdf new file mode 100644 index 0000000..5a03491 Binary files /dev/null and b/leretour/oric/oric_advanced_user_guide_rom_disassembly.pdf differ