c presque bon

This commit is contained in:
Antoine Vignau 2024-01-06 17:13:17 +01:00
parent ed1db81726
commit 11ffa8be4f
17 changed files with 83535 additions and 22050 deletions

View File

@ -0,0 +1 @@
iigs=Type(B3),AuxType(0000),VersionCreate(70),MinVersion(BE),Access(E3),FolderInfo1(000000000000000000000000000000000000),FolderInfo2(000000000000000000000000000000000000)

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,696 @@
*
* Le retour du Dr Genius
*
* (c) 1983, Loriciels
* (c) 2023, Brutal Deluxe Software (Apple II)
*
*
* Les chaines standards
*
strVOUSDETENEZ
asc 0D'Vous avez en votre possession : '00
strVOUSRIEN
asc 0D'Vous ne devez pas etre fatigue, vous'0D
asc 'n'27'avez rien sur vous'00
strPOINT
asc '.'00
strVOUSLAVEZ
asc 0D'Vous avez deja cela... Etourdi !'0D00
strNOTOWNED
asc 0D'Je ne savais pas qu'27'on pouvait poser'0D
asc 'ce qu'27'on ne possede pas...'0D00
strDACCORD
asc 'D'27'accord'00
strILFAITNOIR
asc 'La salle n'27'est pas eclairee.'0D00
strVOSYEUX asc 'Vos yeux ne voient plus rien.'0D00
strNIVEAU asc 'NIVEAU : 0'00 ; +9 pour le niveau
strILYA asc 0D'Il y a aussi :'00
strCOMMA asc ','00
strSPACE asc 0D' '00
strRETURN asc 0D00
strCOMMANDE asc 0D'Ordre ? '00
strJENECOMPRENDS
asc 0D'Je ne comprends pas'00
strIMPOSSIBLE
asc 0D'Impossible '00
strCECHEMIN
asc 'de prendre ce chemin'00
strEXCLAM
asc ' !'0D00
strREPLAY asc 0D'Voulez-vous rejouer ? '00
strPERDU
strGAGNE asc ' D'27'accord,'0D
asc 'vous m'27'avez battu, mais c'27'est un coup'0D
asc 'de chance, et la prochaine fois ma'0D
asc 'vengeance sera terrible.'0D
asc 'Prenez peur, car le jour ou je serai'0D
asc 'a nouveau la, ma puissance n'27'aura plus'0D
asc 'de limites, alors l'27'heure de la souf-'0D
asc '-france aura sonne...'0D
asc ' Dr GENIUS.'00
strINTRO asc ' LE RETOUR DU Dr GENIUS'0D
asc ' Vous avez 20 minutes et'0D
asc ' 400 unites de force pour'0D
asc ' remplir votre mission...'00
*-----------------------------------
* LES DONNEES
*-----------------------------------
*
* Les actions version hexadecimale
*
newA$ hex 0100411246012E4931394DFF
hex 0300411245012E4931314DFF
hex 010041122E4430334EFF
hex 030041122E4430334EFF
hex 190045112E4438354BFF
hex 020041022E4430344EFF
hex 020041312E4430354BFF
hex 0400412E2E4430364BFF
hex 0A1342012E4230314AFF
hex 0A1242032E4230334AFF
hex 0A0E42052E4230354AFF
hex 0A2142062E4230364AFF
hex 0A2A42082E4230384AFF
hex 0A2B42092E4230394AFF
hex 0A36420A2E4231304AFF
hex 0A35420B2E4231314AFF
hex 0A2D420C2E4231324AFF
hex 0A2E420E2E4231344AFF
hex 0A2F420F2E4430374AFF
hex 0A10412E46092E4530394231364AFF
hex 0A3042112E4231374430384BFF
hex 0A3142122E4231384AFF
hex 0A29451142022E4230324AFF
hex 0A2942022E4430394531374230324DFF
hex 0A2142072E4230374AFF
hex 0B292E4330324AFF
hex 0B132E4330314AFF
hex 0B122E4330334AFF
hex 0B2E2E4331344AFF
hex 0B2142072E4330374AFF
hex 0B212E4330364AFF
hex 194A41152E4438394BFF
hex 0B2A2E4330384AFF
hex 0B2B2E4330394AFF
hex 0B362E4331304AFF
hex 0B352E4331314AFF
hex 0B2D440D2E4F31324331334831334AFF
hex 0B2D2E4331324AFF
hex 0B102E4331364AFF
hex 0B302E4331374AFF
hex 0B312E4331384AFF
hex 0A1142042E4230344AFF
hex 0A1142132E4331394831394230354230344AFF
hex 0B1144042E4330344AFF
hex 0B1144132E4331394831394230354F30344AFF
hex 052E440E2E4431324EFF
hex 322E440E2E4431324EFF
hex 4B2E440E2E4431324EFF
hex 0F2F41142E4431334EFF
hex 3435420B2E4431344EFF
hex 2823410F2E4530384431364BFF
hex 282343072E4431374BFF
hex 28232E4431384EFF
hex 2A0044082E4431394EFF
hex 342A44082E4431394EFF
hex 343144122E4432304EFF
hex 0C4C41122E4432314EFF
hex 0A1042102E4231364AFF
hex 28002E4431354BFF
hex 0F4D41312E4430354BFF
hex 0F4D412E2E4430354BFF
hex 0F4D2E4432324BFF
hex 0F112E4432334EFF
hex 0F44410F2E4432344BFF
hex 4344410F2E4432354BFF
hex 0F49411E2E4935334DFF
hex 1949411E2E4935334DFF
hex 0F1A412C2E4432374BFF
hex 431A412C2E4432374BFF
hex 434941352E4933304DFF
hex 191A412C2E4432364BFF
hex 5253412C2E4432384BFF
hex 1C1E412C2E4432394BFF
hex 1C1F412C2E4433304BFF
hex 1C20412C2E4433314BFF
hex 1C1D412C2E4433324BFF
hex 2221410F42062E4330364830364230374AFF
hex 2221410F42072E4433334BFF
hex 0A0E42132E4231394AFF
hex 0B0E42132E4331394AFF
hex 0B0E2E4330354AFF
hex 141744012E4433344EFF
hex 141644014931492E2E4433354BFF
hex 1416440141312E4433364934364DFF
hex 14164401412E2E4433364934394DFF
hex 14154401490E49144917491D49262E4433354BFF
hex 14154401410E2E4433374630344DFF
hex 1415440141142E4433374630354DFF
hex 1415440141172E4433374630334DFF
hex 14154401411D2E4433374630364DFF
hex 141544012E4433374630374DFF
hex 3412420346122E47303130344531384AFF
hex 341242032E4433334BFF
hex 322D440D2E4433334BFF
hex 322D440C2E4331324831324231334AFF
hex 342B4209460B2E4433384BFF
hex 342B42092E4433394BFF
hex 242C4209450B2E4631314AFF
hex 242C4209460B2E4531314AFF
hex 4B3044112E4434304BFF
hex 323044112E4434304BFF
hex 333044112E4AFF
hex 332D440D2E4331334831334231324AFF
hex 3436440A490449114916493049332E4433354BFF
hex 3436440A2E4434314BFF
hex 37002E4434324BFF
hex 38002E4434334BFF
hex 39002E4434344BFF
hex 3A002E4434354BFF
hex 3B002E4434364BFF
hex 3C3B2E4434364BFF
hex 3D002E4434374BFF
hex 4E002E41FF
* 1714D04D05.C04C05H04H05B19J. => TUBE GLAC
* $11 = TUBE / $0E = GLACE
* $5A = METT / $11 = TUBE
* hex 110E440444052E4330344330354830344830354231394AFF
hex 5A11440444052E4330344330354830344830354231394AFF
hex 502144072E4330374830374230364AFF
hex 3F002E443438FF ; QUIT - D48
hex 40002E4434394EFF
hex 14182E4435304BFF
hex 14424122450C2E4435314BFF
hex 14414122450C2E4435314BFF
hex 144241222E4435324EFF
hex 144141222E4531334435374BFF
hex 4546450C2E44353345313447303230354BFF
hex 4546460C4932460D2E4435344EFF
hex 4546460C450D2E44353345313447303230354BFF
hex 4546460C41322E44353345313447303230354BFF
hex 474A4115450F2E4433334BFF
hex 474A41152E45313544353547303430374BFF
hex 564A4115450F2E46313547303430304435364DFF
hex 564A41152E4435334BFF
hex 5758451041152E4631364435374BFF
hex 575841152E4436364BFF
hex 54002E443539FF ; SAVE - D59
hex 55002E443630FF ; LOAD - D60
hex 2526411D4410460C2E443631FF
hex 2526411D460C2E4438364EFF
hex 2526411D2E4436324EFF
hex 1C1B412C2E4436384BFF
hex 3E002E4436344BFF
hex 3C3E2E4436344BFF
hex 51002E4436334BFF
hex 3C512E4436334BFF
hex 241044102E4436394BFF
hex 521044102E4436394BFF
hex 470D412E2E4436374935314DFF
hex 190D412E2E4437304BFF
hex 192B42092E4437314BFF
hex 194841322E4437324BFF
hex 191342012E4439304BFF
hex 010041082E4439314EFF
hex 192741352E4933304DFF
hex 19272E4DFF
hex 19002E4437334BFF
hex 0B592E4438374BFF
hex 3C002E4438384BFF
hex 00
*
* Les objets dans les salles
*
nbO = 19
refO dfb $bd
dfb 40,33,41,53,43,10,00,21,22,26
dfb 01,06,00,17,20,00,47,19,00
O dfb $bd
dfb 40,33,41,53,43,10,00,21,22,26
dfb 01,06,00,17,20,00,47,19,00
*refO$ da $bdbd
* da O$1,O$2,O$3,O$4,O$5,O$6,O$7,O$8,O$9,O$10
* da O$11,O$12,O$13,O$14,O$15,O$16,O$17,O$18,O$19
tblO$ da $bdbd
da O$1,O$2,O$3,O$4,O$5,O$6,O$7,O$8,O$9,O$10
da O$11,O$12,O$13,O$14,O$15,O$16,O$17,O$18,O$19
O$1 asc 'Un pistolet laser'00
O$2 asc 'Des gants ensanglantes'00
O$3 asc 'Une bombe a retardement'00
O$4 asc 'Un tube'00
O$5 asc 'Une glaciere'00
O$6 asc 'Une boite vide'00
O$7 asc 'Une boite pleine d'27'eau'00
O$8 asc 'Un vaporisateur'00
O$9 asc 'Un magnetophone'00
O$10 asc 'Un compteur Geiger'00
O$11 asc 'Un ventilateur'00
O$12 asc 'Un casque'00
O$13 asc 'Un casque enfile'00
O$14 asc 'Des echasses'00
O$15 asc 'Des containers'00
O$16 asc 'Une radiocommande'00
O$17 asc 'Des lunettes de soleil'00
O$18 asc 'Une tronconneuse'00
O$19 asc 'La glaciere avec le tube a l'27'interieur'00
*
* Les directions
*
M = 53
tblM$ da $bdbd
da M$1,M$2,M$3,M$4,M$5,M$6,M$7,M$8,M$9,M$10
da M$11,M$12,M$13,M$14,M$15,M$16,M$17,M$18,M$19,M$20
da M$21,M$22,M$23,M$24,M$25,M$26,M$27,M$28,M$29,M$30
da M$31,M$32,M$33,M$34,M$35,M$36,M$37,M$38,M$39,M$40
da M$41,M$42,M$43,M$44,M$45,M$46,M$47,M$48,M$49,M$50
da M$51,M$52,M$53
M$1 dfb 2,02,3,03,00
M$2 dfb 3,04,4,01,00
M$3 dfb 1,01,2,04,3,19,00
M$4 dfb 1,02,2,05,4,03,00
M$5 dfb 3,06,4,04,5,38,00
M$6 dfb 1,05,4,07,00
M$7 dfb 2,06,3,16,4,08,00
M$8 dfb 2,07,3,09,00
M$9 dfb 1,08,2,13,3,10,4,11,00
M$10 dfb 1,09,0
M$11 dfb 1,18,2,09,3,17,00
M$12 dfb 3,13,6,27,00
M$13 dfb 1,12,4,09,00
M$14 dfb 3,15,0
M$15 dfb 1,14,4,16,00
M$16 dfb 1,07,2,15,00
M$17 dfb 1,11,0
M$18 dfb 00
M$19 dfb 1,03,2,20,3,18,00
M$20 dfb 4,19,0
M$21 dfb 3,23,0
M$22 dfb 2,23,4,25,00
M$23 dfb 1,21,3,24,4,22,00
M$24 dfb 1,23,0
M$25 dfb 2,22,6,49,00
M$26 dfb 1,27,0
M$27 dfb 3,26,4,28,5,12,00
M$28 dfb 2,27,4,29,00
M$29 dfb 2,28,4,30,00
M$30 dfb 2,29,0
M$31 dfb 2,40,3,32,00
M$32 dfb 1,31,2,44,3,33,00
M$33 dfb 1,32,3,49,00
M$34 dfb 1,41,4,43,00
M$35 dfb 2,36,3,43,00
M$36 dfb 1,37,2,48,4,35,00
M$37 dfb 1,38,3,36,00
M$38 dfb 1,39,2,47,3,37,4,45,6,05,00
M$39 dfb 3,38,4,40,00
M$40 dfb 2,39,4,31,00
M$41 dfb 3,34,0
M$42 dfb 1,50,2,43,00
M$43 dfb 1,35,2,34,4,42,00
M$44 dfb 4,32,0
M$45 dfb 2,38,0
M$46 dfb 00
M$47 dfb 3,48,4,38,00
M$48 dfb 1,47,4,36,00
M$49 dfb 1,33,3,50,5,25,00
M$50 dfb 1,49,3,42,00
M$51 dfb 3,46,0
M$52 dfb 00
M$53 dfb 2,29,0
*
* Les mots de passe
*
tblMP$ da MP$1,MP$2,MP$3,MP$4,MP$5
MP$1 asc 'ORIC1'
MP$2 asc 'ATMOS'
MP$3 asc 'GENIS'
MP$4 asc 'ECHEC'
MP$5 asc 'ARGON'
*
* Le vocabulaire
* on fera index-1 b/c 8-bits
*
V = 139+1
tblVL$ dfb $bd
dfb <V$1,<V$2,<V$3,<V$4,<V$5,<V$6,<V$7,<V$8,<V$9,<V$10
dfb <V$11,<V$12,<V$13,<V$14,<V$15,<V$16,<V$17,<V$18,<V$19,<V$20
dfb <V$21,<V$22,<V$23,<V$24,<V$25,<V$26,<V$27,<V$28,<V$29,<V$30
dfb <V$31,<V$32,<V$33,<V$34,<V$35,<V$36,<V$37,<V$38,<V$39,<V$40
dfb <V$41,<V$42,<V$43,<V$44,<V$45,<V$46,<V$47,<V$48,<V$49,<V$50
dfb <V$51,<V$52,<V$53,<V$54,<V$55,<V$56,<V$57,<V$58,<V$59,<V$60
dfb <V$61,<V$62,<V$63,<V$64,<V$65,<V$66,<V$67,<V$68,<V$69,<V$70
dfb <V$71,<V$72,<V$73,<V$74,<V$75,<V$76,<V$77,<V$78,<V$79,<V$80
dfb <V$81,<V$82,<V$83,<V$84,<V$85,<V$86,<V$87,<V$88,<V$89,<V$90
dfb <V$91,<V$92,<V$93,<V$94,<V$95,<V$96,<V$97,<V$98,<V$99,<V$100
dfb <V$101,<V$102,<V$103,<V$104,<V$105,<V$106,<V$107,<V$108,<V$109,<V$110
dfb <V$111,<V$112,<V$113,<V$114,<V$115,<V$116,<V$117,<V$118,<V$119,<V$120
dfb <V$121,<V$122,<V$123,<V$124,<V$125,<V$126,<V$127,<V$128,<V$129,<V$130
dfb <V$131,<V$132,<V$133,<V$134,<V$135,<V$136,<V$137,<V$138,<V$139
dfb <V$200
tblVH$ dfb $bd
dfb >V$1,>V$2,>V$3,>V$4,>V$5,>V$6,>V$7,>V$8,>V$9,>V$10
dfb >V$11,>V$12,>V$13,>V$14,>V$15,>V$16,>V$17,>V$18,>V$19,>V$20
dfb >V$21,>V$22,>V$23,>V$24,>V$25,>V$26,>V$27,>V$28,>V$29,>V$30
dfb >V$31,>V$32,>V$33,>V$34,>V$35,>V$36,>V$37,>V$38,>V$39,>V$40
dfb >V$41,>V$42,>V$43,>V$44,>V$45,>V$46,>V$47,>V$48,>V$49,>V$50
dfb >V$51,>V$52,>V$53,>V$54,>V$55,>V$56,>V$57,>V$58,>V$59,>V$60
dfb >V$61,>V$62,>V$63,>V$64,>V$65,>V$66,>V$67,>V$68,>V$69,>V$70
dfb >V$71,>V$72,>V$73,>V$74,>V$75,>V$76,>V$77,>V$78,>V$79,>V$80
dfb >V$81,>V$82,>V$83,>V$84,>V$85,>V$86,>V$87,>V$88,>V$89,>V$90
dfb >V$91,>V$92,>V$93,>V$94,>V$95,>V$96,>V$97,>V$98,>V$99,>V$100
dfb >V$101,>V$102,>V$103,>V$104,>V$105,>V$106,>V$107,>V$108,>V$109,>V$110
dfb >V$111,>V$112,>V$113,>V$114,>V$115,>V$116,>V$117,>V$118,>V$119,>V$120
dfb >V$121,>V$122,>V$123,>V$124,>V$125,>V$126,>V$127,>V$128,>V$129,>V$130
dfb >V$131,>V$132,>V$133,>V$134,>V$135,>V$136,>V$137,>V$138,>V$139
dfb >V$200
tblV dfb $bd
dfb 01,01,02,02,03,03,04,04,05,05 ; 1
dfb 05,05,06,06,10,10,10,11,12,12
dfb 13,13,14,15,16,17,17,17,18,19 ; 21
dfb 19,20,20,21,22,23,24,25,25,25
dfb 26,27,28,29,30,31,32,33,34,35 ; 41
dfb 35,36,37,37,38,38,38,39,39,39
dfb 40,41,42,43,43,44,45,46,47,48 ; 61
dfb 49,50,50,50,51,51,52,52,52,53
dfb 54,54,55,55,56,56,57,58,58,59 ; 81
dfb 60,61,62,62,63,63,64,65,66,67 ; 91
dfb 68,69,69,70,70,71,72,73,73,74 ; 101
dfb 75,76,77,77,78,78,79,80,80,80
dfb 81,81,82,83,83,84,84,84,85,85 ; 121
dfb 85,86,87,87,88,88,89,89,90 ; last was 00, now 90
dfb 200
V$1 str 'N'
V$2 str 'NORD'
V$3 str 'E'
V$4 str 'EST'
V$5 str 'S'
V$6 str 'SUD'
V$7 str 'O'
V$8 str 'OUES'
V$9 str 'G'
V$10 str 'GRIM'
V$11 str 'M'
V$12 str 'MONT'
V$13 str 'D'
V$14 str 'DESC'
V$15 str 'PREN'
V$16 str 'SAIS'
V$17 str 'RAMA'
V$18 str 'POSE'
V$19 str 'SAUT'
V$20 str 'ENJA'
V$21 str 'TELE'
V$22 str 'TV'
V$23 str 'GLAC'
V$24 str 'OUVR'
V$25 str 'RADI'
V$26 str 'FLAC'
V$27 str 'TUBE'
V$28 str 'NITR'
V$29 str 'BOMB'
V$30 str 'LASE'
V$31 str 'PIST'
V$32 str 'APPU'
V$33 str 'ENFO'
V$34 str 'ROUG'
V$35 str 'BLEU'
V$36 str 'JAUN'
V$37 str 'BOUT'
V$38 str 'APPR'
V$39 str 'EXAM'
V$40 str 'REGA'
V$41 str 'BIBL'
V$42 str 'LIVR'
V$43 str 'LIS'
V$44 str 'MATH'
V$45 str 'DALL'
V$46 str 'ARLE'
V$47 str 'MEMO'
V$48 str 'BOIT'
V$49 str 'REMP'
V$50 str 'EAU'
V$51 str 'H2O'
V$52 str 'RETO'
V$53 str 'ENTR'
V$54 str 'ABOR'
V$55 str 'VAIS'
V$56 str 'SOUC'
V$57 str 'ASTR'
V$58 str 'SALL'
V$59 str 'PIEC'
V$60 str 'LIEU'
V$61 str 'BOIS'
V$62 str 'GANT'
V$63 str 'VAPO'
V$64 str 'MAGN'
V$65 str 'LECT'
V$66 str 'CASS'
V$67 str 'CASQ'
V$68 str 'ECHA'
V$69 str 'CONT'
V$70 str 'LUNE'
V$71 str 'TRON'
V$72 str 'ENFI'
V$73 str 'PASS'
V$74 str 'METS'
V$75 str 'ENLE'
V$76 str 'DEPO'
V$77 str 'ENCL'
V$78 str 'DECL'
V$79 str 'ACTI'
V$80 str 'VENT'
V$81 str 'GEIG'
V$82 str 'COMP'
V$83 str 'REFL'
V$84 str 'PENS'
V$85 str 'RIEN'
V$86 str 'ATTE'
V$87 str 'DORS'
V$88 str 'AIDE'
V$89 str 'SECO'
V$90 str 'CONS'
V$91 str 'DEMA'
V$92 str 'ECOU'
V$93 str 'CHRO'
V$94 str 'TEMP'
V$95 str 'QUIT' ; 63 (3F)
V$96 str 'ABAN'
V$97 str 'SUIC'
V$98 str 'MANU'
V$99 str 'AUTO'
V$100 str 'FERM'
V$101 str 'ROBI'
V$102 str 'RETI'
V$103 str 'ARRE'
V$104 str 'RESP'
V$105 str 'SOUF'
V$106 str 'ALLU'
V$107 str 'TABL'
V$108 str 'REFR'
V$109 str 'FRIG'
V$110 str 'ORDI'
V$111 str 'ESSA'
V$112 str 'FLAQ'
V$113 str 'PORT'
V$114 str 'SAS '
V$115 str 'LIST'
V$116 str 'INVE'
V$117 str 'ESCA'
V$118 str 'VIDE'
V$119 str 'VERS'
V$120 str 'RENV'
V$121 str 'FORC'
V$122 str 'ENER'
V$123 str 'TOUR'
V$124 str 'PAGE'
V$125 str 'FEUI'
V$126 str 'SAVE' ; 84 (54)
V$127 str 'SAUV'
V$128 str 'CSAV'
V$129 str 'LOAD' ; 85 (55)
V$130 str 'ENRE'
V$131 str 'CLOA'
V$132 str 'ETEI'
V$133 str 'RETA'
V$134 str 'CORR'
V$135 str 'DIRE'
V$136 str 'TRAJ'
V$137 str 'TOUT'
V$138 str 'TOTA'
V$139 str 'RANG' ; RANGER (TUBE DANS GLACE => RANG TUBE)
V$200 str 'TIME'
*
* Les reponses (str7xxx)
*
* '0 1 2 3 '
* '0123456789012345678901234567890123456789'
* '----------------------------------------'
str4010 asc 'Une boule d'27'acier tombee du plafond vient de s'27'ecraser sur votre casque.'00
str4020 asc 'Une boule d'27'acier vient de tomber du plafond, vous avez le crane defonce...'00
str4030 asc 'Vous venez de tomber dans une flaque d'27'acide,ca crepite...'00
str4040 asc 'Vous venez de rentrer dans le reacteur atomique du vaisseau..!'00
str4050 asc 'La porte ne veut pas s'27'ouvrir'00
str4060 asc 'Un peu de memoire...comment etes-vous entre ?'00
str4070 asc 'Je ne vous savais pas assez muscle pour soulever une tonne.'00
str4080 asc 'Vous avez raison, la vue c'27'est la vie!'00
str4090 asc 'Les gants etaient radioactifs, vous perdez la vue.'00
str4100 asc 'Vous l'27'avez deja sur vous.'00
str4110 asc 'Impossible, je ne vois pas ceci ici.'00
str4120 asc 'Vous vous arrachez la tete en tombant des echasses.'00
str4130 asc 'Des monstres sortis des containers vous devorent tout cru!'00
str4140 asc 'L'27'air frais vous fait du bien. Dommage que l'27'helice vous ait coupe la tete.'00
str4150 asc 'Qu'27'est ce que vous voulez boire ???'00
str4160 asc 'Ah oui...l'27'eau est bonne.'00
str4170 asc 'Il n'27'y a pas d'27'eau ici.'00
str4180 asc 'L'27'eau etait contaminee par les boites radioactives.'00
str4190 asc 'Vous retrecissez..petit..petit..et une araignee vous mange!'00
str4200 asc 'Ca coupe une tronconneuse, comme le prouve votre tete au sol.'00
str4210 asc 'Vous glissez et tombez dans la flaque. L'27'acide crepite.'00
str4220 asc 'Il n'27'y a pas ici de porte verrouillee';
str4230 asc 'En secouant le tube pour l'27'ouvrir, la nitroglycerine a explose.'00
str4240 asc 'Pourquoi ouvrir un robinet qui ne ferme pas!'00
str4250 asc 'Le robinet ne se ferme pas.'00
str4260 asc ''00
str4270 asc 'La bibliotheque n'27'a pas de porte...'00
str4280 asc 'Il n'27'y a rien de mieux sur les autres pages.'00
str4290 asc '...c'27'est toi J.R qui a pris ma femme et mon petrole, tu es infame.'00
str4300 asc 'Collection Arlepin, tout un reve d'27'evasion.'00
str4310 asc '...et c'27'est moi Genius le grand qui crea un superbe manoir...'00
str4320 asc '1031141221242713182310291430271214232927102110272718311427103023141427142324303114212114'
str4321 asc ' <tapez une touche> '00
str4330 asc 'Vous l'27'avez deja fait.'00
str4340 asc 'Le laser vient d'27'exploser.'00
str4350 asc 'Il ne se passe rien.'00
str4360 asc 'Le sas s'27'ouvre, vous passez dans la salle a cote.'00
str4370 asc 'Cela agit sur un contacteur a infrarouge qui commande l'27'eclairage.'00
str4380 asc 'Allons enfants de la patrie...'00
str4390 asc 'Vous entendez : '27'Le laser ouvrira la porte'27''00
str4400 asc 'Les lunettes sont trop fortes, vous voyez trouble.'00
str4410 asc 'La salle est radioactive.'00
str4420 asc 'Vous avez quelque chose pour ?'00
str4430 asc 'C'27'est votre probleme, mais le temps passe.'00
str4440 asc 'Avez-vous si sommeil que ca ?'00
str4450 asc 'Et puis quoi encore !'00
str4460 asc 'Faites un plan...'00
str4470 asc 'Vous entendez le ronronnement des moteurs.'00
str4480 asc 'J'27'etais sur que vous etiez un lache.'00
str4490 asc 'Vous passez la tete a travers un sas,'00
str4491 asc 'et appuyez sur le bouton de fermeture'00
str4500 asc 'Quel bouton ?'00
str4510 asc 'Les boutons ne fonctionnent pas car l'27'ordinateur central les controle.'00
str4520 asc 'Le systeme automatique est deregle, il met du gaz carbonique a la place de l'27'oxygene.'00
str4530 asc 'Vous respirez un grand coup.'00
str4540 asc 'Que voulez-vous respirer, il n'27'y a plus d'27'oxygene.'00
str4550 asc 'Vous avez deux essais pour'00
str4552 asc 'entrer le mot de passe.'00
str4553 asc 'FAUX!'00
str4554 asc 'Encore rate. L'27'ordinateur vous explose a la figure.'00
str4556 asc 'Mot de passe '00
str4558 asc 'Exact, vous etes perspicace!'00
str4559_1 asc 'UIN LOI QRU ILD ESP ECU TAS'00
str4559_2 asc 'ASU VIE RAL HOU MEA NOI THE'00
str4559_3 asc 'Le mot de passe pour le'00
str4559_4 asc 'retour est : '00
str4560 asc 'C'27'est d'27'accord.'00
str4570 asc 'Il etait temps, vous alliez mourir.'00
str4580 asc 'Vous mourrez deshydrate.'00
str4590 asc ''00
str4600 asc ''00
str4610 asc 'Le sas se referme derriere vous, le tableau de controle s'27'allume et l'27'ordinateur de bord vous demande le mot de passe pour le retour ?'00
str4615 asc 'Le vaisseau de secours s'27'eloigne, au loin vous voyez Genius qui pleure derriere un hublot'00
str4616 asc ' VOUS AVEZ GAGNE'00
str4618_1 asc 'Mais, que se passe-t-il,vous avez du vous tromper de mot de passe, votre vaisseau de poche fonce sur le soleil.'00
str4618_2 asc 'Vous venez de realiser que Genius pleurait de JOIE...!'00
str4618_3 asc 'Comme je le pensais , vous vous etes stupidement fait avoir, et votre cadavre (ou ce qu'27'il en reste) reposera a jamais dans l'27'espace...'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
str4650 asc 'Le temps que vous aviez pour votre mission est ecoule, vous avez echoue.'00
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
str4692 asc ' '27'PROTEGEZ MOI'A700
str4700 asc 'Vous remarquez un boitier de radiocommande.'00
str4710 asc ''00
str4720 asc ''00
str4730 asc 'Que regardez vous ?'00
str4740 asc 'Le tube de nitroglycerine vient d'27'exploser, vous etes pulverise.'00
str4750 asc 'La bombe a retardement vient d'27'exploser, vous etes pulverise.'00
str4760 asc 'La bombe a retardement a explose, elle a endommage le systeme de chauffage, vous etes carbonise'00
str4770 asc 'La bombe a explose, vous etiez trop pres et etes devenu fou...'00
str4780 asc 'La bombe a retardement n'27'etait pas assez forte, l'27'ordinateur central n'27'est qu'27'endommage, il vous fait exploser...'00
str4790 asc 'Bravo! L'27'ordinateur central est detruit, mais le systeme d'27'oxygenation ne fonctionne plus, de plus la trajectoire du vaisseau a change.'00
str4800 asc 'Vous n'27'avez plus de souffle, vous etes mort asphyxie.'00
str4810 asc 'Vous auriez du corriger la trajectoire vous avez percute le soleil.'00
str4820 asc 'A force de traverser les salles radioactives, vous etes mort contamine.'00
str4830 asc 'Il fait de plus en plus chaud...'00
str4840 asc 'L'27'ordinateur vient d'27'exploser!'00
str4845 asc 'Vous avez du le laisser allume.'00
str4850 asc 'Comment !!! Vous etes aveugle.'00
str4860 asc 'Vous n'27'aviez pas pris la radiocommande qui a explose quand le vaisseau a percute le soleil, son explosion a declenche la fin du monde.'00
str4870 asc 'Non! pas de strip-tease.'00
str4874 asc 'Vous avez pose tout ce que vous transportiez.'00
str4880 asc 'Ca ne se demande pas.'00
str4890 asc 'Il y a effectivement un ordinateur parmi le tableau de controle.'00
str4891 asc 'L'27'ordinateur n'27'est pas en fonction.'00
str4900 asc 'Sur le laser, vous voyez trois boutons : jaune, rouge et bleu.'00
str4910 asc 'Vous etes entre dans le desintegrateur de particules...'00
str4920 asc 'Vous etes entre dans le vaisseau par le sas a l'27'ouest qui ne s'27'ouvre pas de'0d'l'27'interieur.'00
str5500 asc 0d'Etes-vous sur (O/N) ? '00
str19050 asc ' Merci d'27'avoir essaye...!'00
str19060 asc ' Reveillez-vous , c'27'est fini !'00

Binary file not shown.

View File

@ -0,0 +1,655 @@
*
* Le retour du Dr Genius
*
* (c) 1983, Loriciels
* (c) 2023, Brutal Deluxe Software (Apple II)
*
lst off
rel
dsk iigs.l
mx %00
xc
xc
*-----------------------------------
* MACROS
*-----------------------------------
use 4/Event.Macs
use 4/Locator.Macs
use 4/Mem.Macs
use 4/Menu.Macs
use 4/MidiSyn.Macs
use 4/Misc.Macs
use 4/QD.Macs
use 4/QDAux.Macs
use 4/Sound.Macs
use 4/Std.Macs
use 4/Util.Macs
use 4/Window.Macs
*-----------------------
KBD = $e0c000
KBDSTROBE = $e0c010
RDVBLBAR = $e0c019
VERTCNT = $e0c02e
GSOS = $e100a8
*-----------------------
dpFROM = $80
dpTO = dpFROM+4
dpTHREE = dpTO+4
*-----------------------
refIsPointer = $0
refIsHandle = $1
refIsResource = $2
appleKey = $0100
mouseDownEvt = $0001
mouseUpEvt = $0002
keyDownEvt = $0003
*-----------------------
modeCopy = $0000
modeForeCopy = $0004 ; QDII Table 16-10
mode320 = $00
mode640 = $80
maxX = 320
maxY = 200
maxTCOLUMN = 40
maxTROW = 19
charHEIGHT = 10
charWIDTH = 8
row0 = charHEIGHT-1 ; 0
row1 = row0+charHEIGHT ; 1
row2 = row1+charHEIGHT ; 2
row3 = row2+charHEIGHT ; 3
row4 = row3+charHEIGHT ; 4
row5 = row4+charHEIGHT ; 5
row6 = row5+charHEIGHT ; 6
row7 = row6+charHEIGHT ; 7
row8 = row7+charHEIGHT ; 8
row9 = row8+charHEIGHT ; 9
row10 = row9+charHEIGHT ; 10
row11 = row10+charHEIGHT ; 11
row12 = row11+charHEIGHT ; 12
row13 = row12+charHEIGHT ; 13
row14 = row13+charHEIGHT ; 14
row15 = row14+charHEIGHT ; 15
row16 = row15+charHEIGHT ; 16
row17 = row16+charHEIGHT ; 17
row18 = row17+charHEIGHT ; 18
row19 = row18+charHEIGHT ; 19
ptr012000 = $012000
ptrE12000 = $e12000
*-----------------------
TRUE = 1
FALSE = 0
*-----------------------------------
* DU 16-BITS
*-----------------------------------
ICI phk
plb
clc
xce
rep #$30
tdc
sta myDP
_TLStartUp
pha
_MMStartUp
pla
sta appID
ora #$0100
sta myID
*-----------------------------------
* MEMORY...
*-----------------------------------
jsr make64KB
bcc okMEM1
koMEM pha
PushLong #memSTR1
PushLong #errSTR2
PushLong #errSTR1
PushLong #errSTR2
_TLTextMountVolume
pla
brl meQUIT1
okMEM1 sty ptrTEXT
stx ptrTEXT+2
stx ptrBACKGND+2
*-----------------------
jsr make64KB
bcs koMEM
sty ptrUNPACK
stx ptrUNPACK+2
stx ptrIMAGE+2
*-----------------------------------
* DESKTOP MODE
*-----------------------------------
pha
pha
PushWord myID
PushWord #refIsPointer
PushLong #toolTBL
_StartUpTools
PullLong ssREC
bcc okTOOL
pha
PushLong #tolSTR1
PushLong #errSTR2
PushLong #errSTR1
PushLong #errSTR2
_TLTextMountVolume
pla
brl meQUIT
okTOOL _HideMenuBar
_InitCursor
_HideCursor
PushWord #0
PushWord #%11111111_11111111
PushWord #0
_FlushEvents
pla
PushLong #0
PushWord #5 ; SetDeskPat
PushWord #$4000
PushWord #$0000
_Desktop
pla
pla
*-----------------------------------
* INITIALISATIONS DESKTOP
*-----------------------------------
PushLong #0
_GetPort
PullLong mainPORT
PushLong mainPORT
_SetPort
PushLong #117117
_SetRandSeed
PushWord #0
_SetBackColor
PushWord #15
_SetForeColor
PushLong #whitePATTERN ; white pattern
_SetPenPat
PushWord #0
_ClearScreen
PushWord #0
_GetMasterSCB
pla
bmi okSHADOW ; shadowing is on if bit 15 is set
lda #^ptrE12000 ; shadowing is off, use slow RAM
sta srcLocInfoPtr+4
sta ptrSCREEN+2
okSHADOW
jsr initMIDI
jsr doSOUNDON
*-----------------------------------
* IL FAUT JOUER MAINTENANT
*-----------------------------------
jmp PLAY
*-----------------------------------
* AU REVOIR LE IIGS
*-----------------------------------
QUIT rep #$30
jsr stopMIDI
meQUIT PushWord #refIsPointer
PushLong ssREC
_ShutDownTools
meQUIT1 PushWord myID
_DisposeAll
PushWord appID
_DisposeAll
PushWord appID
_MMShutDown
_TLShutDown
jsl GSOS
dw $2029
adrl proQUIT
brk $bd
*-----------------------------------
* UNE BELLE BIBLIOTHEQUE
*-----------------------------------
*-----------------------------------
* RESERVE 64K
*-----------------------------------
make64KB pha
pha
PushLong #$010000
PushWord myID
PushWord #%11000000_00011100
PushLong #0
_NewHandle
phd
tsc
tcd
ldy #2
lda [3],y
tax
lda [3]
tay ; low in X
pld
pla ; we do not keep track of the handle
pla
rts
*-----------------------------------
* SAVE THE SHR SCREEN
*-----------------------------------
saveBACK _HideCursor
PushLong #ptrE12000
PushLong ptrBACKGND
PushLong #32768
_BlockMove
_ShowCursor
rts
*-----------------------------------
* RESTORE THE SHR SCREEN
*-----------------------------------
loadBACK _HideCursor
PushLong ptrBACKGND
PushLong #ptrE12000
PushLong #32768
_BlockMove
_ShowCursor
rts
*-----------------------------------
* LOAD/SAVE
*-----------------------------------
*----------------------------------- Open
doLOAD rep #$30
jsr doSOUNDOFF
rep #$30
jsr saveBACK
PushWord #30
PushWord #43
PushLong #strLOADFILE
PushLong #0
PushLong #typeLIST
PushLong #replyPTR
_SFGetFile
jsr loadBACK
jsr doSOUNDON
rep #$30
lda replyPTR
bne doLOAD1
rts
doLOAD1 jsr copyPATH
jsr loadALL
sep #$30
rts
mx %
*----------------------------------- Save
doSAVE rep #$30
jsr doSOUNDOFF
rep #$30
jsr saveBACK
PushWord #25
PushWord #36
PushLong #strSAVEFILE
PushLong #namePATH
PushWord #15
PushLong #replyPTR
_SFPutFile
jsr loadBACK
jsr doSOUNDON
rep #$30
lda replyPTR
bne doSAVE1
rts
doSAVE1 jsr copyPATH
jsr saveALL
sep #$30
rts
*--- Recopie le filename du fichier de sauvegarde
mx %00
copyPATH sep #$20
ldx #16-1
]lp lda namePATH1,x
sta pGAME+4,x
dex
bpl ]lp
lda namePATH
inc
inc
sta pGAME
rep #$20
rts
*--- Charge le fichier de sauvegarde en mŽmoire
loadALL jsl GSOS
dw $2010
adrl proOPENGAME
bcs loadKO99
lda proOPENGAME+2
sta proREADGAME+2
sta proCLOSE+2
jsr loadPART
jsl GSOS
dw $2014
adrl proCLOSE
loadKO99 rts
*---
loadPART ldx #FIN_DATA-DEBUT_DATA
ldy #A1
loadIT stx proREADGAME+8
sty proREADGAME+4
jsl GSOS
dw $2012
adrl proREADGAME
rts
*--- Enregistre le fichier de sauvegarde
saveALL jsl GSOS
dw $2002
adrl proDESTROYGAME
jsl GSOS
dw $2001
adrl proCREATEGAME
bcs saveKO99
jsl GSOS
dw $2010
adrl proOPENGAME
bcs saveKO99
lda proOPENGAME+2
sta proWRITEGAME+2
sta proCLOSE+2
jsr savePART
jsl GSOS
dw $2014
adrl proCLOSE
saveKO99 rts
*---
savePART ldx #FIN_DATA-DEBUT_DATA
ldy #A1
saveIT stx proWRITEGAME+8
sty proWRITEGAME+4
jsl GSOS
dw $2013
adrl proWRITEGAME
rts
*--- For the game party
proCREATEGAME
dw 7 ; pcount
adrl pGAME ; pathname
dw $c3 ; access_code
dw $5d ; file_type
adrl $8020 ; aux_type
ds 2 ; storage_type
ds 4 ; eof
ds 4 ; resource_eof
proDESTROYGAME
dw 1 ; pcount
adrl pGAME ; pathname
proOPENGAME
dw 2
ds 2
adrl pGAME
proREADGAME
dw 4 ; 0 - pcount
ds 2 ; 2 - ref_num
adrl pGAME ; 4 - data_buffer
ds 4 ; 8 - request_count
ds 4 ; C - transfer_count
proWRITEGAME
dw 5 ; 0 - pcount
ds 2 ; 2 - ref_num
adrl pGAME ; 4 - data_buffer (we are in same bank)
ds 4 ; 8 - request_count
ds 4 ; C - transfer_count
dw 1 ; cache_priority
pGAME strl '0/ '
*-----------------------------------
* DES DONNES 16-BITS
*-----------------------------------
*----------------------------------- Memory Manager
appID ds 2
myID ds 2
myDP ds 2
ptrSCREEN adrl ptr012000 ; l'Žcran actif
ptrTEXT adrl $00000000 ; 32k bank 1
ptrBACKGND adrl $00008000 ; 32k
ptrUNPACK adrl $00000000 ; 32k bank 2
ptrIMAGE adrl $00008000 ; 32k
*----------------------------------- Quickdraw II
palette320 dw $0000,$0777,$0841,$072C,$000F,$0080,$0F70,$0D00
dw $0FA9,$0FF0,$00E0,$04DF,$0DAF,$078F,$0CCC,$0FFF
palette640 dw $0000,$000F,$00F0,$0FFF,$0000,$000F,$0FF0,$0FFF
dw $0000,$0F00,$00F0,$0FFF,$0000,$000F,$0FF0,$0FFF
blackPATTERN ds 32,$00
ds 32,$11
ds 32,$22
ds 32,$33
ds 32,$44
ds 32,$55
ds 32,$66
ds 32,$77
ds 32,$88
ds 32,$99
ds 32,$aa
ds 32,$bb
ds 32,$cc
ds 32,$dd
ds 32,$ee
whitePATTERN ds 32,$ff
curPATTERN ds 32
*----------------------------------- Error messages
tolSTR1 str 'Error while loading tools'
memSTR1 str 'Cannot allocate memory'
filSTR1 str 'Cannot load file'
errSTR1 str 'Quit'
errSTR2 str ''
*----------------------------------- Tool Locator
ssREC ds 4
toolTBL dw $0000 ; flags
dw $C000 ; videoMode (shadowing + fast port)
dw $0000 ; resFileID
ADRL $00000000 ; dPageHandle
dw $0011
dw $0003 ; Miscellaneous Tool
dw $0300
dw $0004 ; QuickDraw II
dw $0301
dw $0005 ; Desk Manager
dw $0302
dw $0006 ; Event Manager
dw $0300
dw $0008 ; Sound Tool Set
dw $0100
dw $000B ; Integer Math Tool Set
dw $0200
dw $000E ; Window Manager
dw $0301
dw $000F ; Menu Manager
dw $0301
dw $0010 ; Control Manager
dw $0301
dw $0012 ; QuickDraw II Auxiliary
dw $0301
dw $0014 ; LineEdit Tool Set
dw $0301
dw $0015 ; Dialog Manager
dw $0301
dw $0016 ; Scrap Manager
dw $0300
dw $0017 ; Standard File Tool Set
dw $0301
dw $001B ; Font Manager
dw $0301
dw $001C ; List Manager
dw $0301
dw $001E ; Resource Manager
dw $0100
*----------------------------------- GS/OS
proERR ds 2 ; GS/OS error code
proCLOSE dw 1 ; pcount
ds 2 ; ID
proQUIT dw 2 ; pcount
ds 4 ; pathname
ds 2 ; flags
*----------------------------------- Window Manager
mainPORT ds 4
taskREC ds 2 ; wmWhat +0
taskMESSAGE ds 4 ; wmMessage +2
taskWHEN ds 4 ; wmWhen +6
taskWHERE ds 4 ; wmWhere +10
taskMODIFIERS ds 2 ; wmModifiers +14
taskDATA ds 4 ; wmTaskData +16
*----------------------------------- Standard File Tool Set
strLOADFILE str 'Charger quelle partie ?'
strSAVEFILE str 'Enregistrer sous...'
typeLIST hex 01
hex 5d ; Game/Edu files
replyPTR ds 2 ; 0 good
ds 2 ; 2 fileType
ds 2 ; 4 auxFileType
namePATH hex 06 ; 6 fileName
namePATH1 asc 'Partie' ; 7 fileName (16 normally)
ds 9
loadPATH ds 1 ; 22 fullPathname (string length)
loadPATH1 ds 129 ; 23 fullPathname (128 normally)
*-----------------------------------
* CODE BASIC EN ASM :-)
*-----------------------------------
put leretour.s
put engine.s
put fr.s
put ../common/midi.s
put ../common/images.s
*--- It's the end

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,24 @@
*
* Le retour du Dr Genius
*
* (c) 1983, Loriciels
* (c) 2023, Brutal Deluxe Software (Apple II)
*
* Expansion linker file
DSK iigs
TYP $B3
* Assemble files
ASM iigs.s
KND $0000
SNA LeRetour
* Assemble files
ASM ../common/sons.s
KND $0000
SNA DrGenius

View File

@ -32,15 +32,31 @@ printNIVEAU ora #'0'
mx %00
HGR rep #$30
PushWord #0
_ClearScreen
* PushWord #0
* _ClearScreen
lda ptrSCREEN
sta dpTO
lda ptrSCREEN+2
sta dpTO+2
ldy #160*160
lda #0
]lp sta [dpTO],y
dey
dey
bpl ]lp
sep #$30
rts
*-----------------------------------
mx %11
RDKEY phx
jsr CURSOR ; shows the cursor
rep #$30
]lp inc VBLCounter0 ; for RND
@ -63,26 +79,6 @@ RDKEY phx
rts
*-----------------------------------
HOME rep #$30
*----------- Efface le simulacre d'ecran texte
lda ptrTEXT
sta dpTO
lda ptrTEXT+2
sta dpTO+2
ldy #0
tya
]lp sta [dpTO],y
iny
iny
bpl ]lp
lda #bottomRECT
*----------- Efface les 3 lignes du bas
mx %00
@ -107,35 +103,9 @@ eraseLINES sta pointerRECT
pointerRECT adrl bottomRECT
bottomRECT dw 160,0,199,319
lastlineRECT dw 190,0,199,319
cursorRECT dw 0,0,0,0 ; y2 and x2 are y1+7 and x1+7
testme ds 2
*-----------------------------------
mx %11
*CURSOR_ERASE
phx
lda CH
pha
lda CV
pha
lda #' '
jsr COUT
pla
sta CV
pla
sta CH
dec CH
jsr TABV
plx
rts
bottomRECT dw row15+1,0,row19,319
lastlineRECT dw row18+1,0,row19,319
cursorRECT dw 0,0,0,0 ; y2 and x2 are y1+charWIDTH and x1+charWIDTH
*-----------------------------------
@ -148,22 +118,25 @@ CURSOR_ERASE
lda textY
sta cursorRECT+4
sec
sbc #8
sbc #charWIDTH
sta cursorRECT
lda textX
sta cursorRECT+2
clc
adc #8
adc #charWIDTH
sta cursorRECT+6
lda #cursorRECT
jsr eraseLINES ; retour en 8-bits
rep #$30
mx %11
dec CH
jsr TABV
lda textX
sec
sbc #charWIDTH
sta textX
sep #$30
plx
rts
@ -171,38 +144,22 @@ CURSOR_ERASE
mx %11
CURSOR lda CH
CURSOR rep #$30
lda textX
pha
lda CV
lda textY
pha
sep #$30
lda #$a5 ; black bullet
jsr COUT
jsr COUT ; returns in 8-bit
rep #$30
pla
sta CV
pla
sta CH
*-----------------------------------
mx %11
TABV rep #$30
lda CV
and #$ff
asl
tax
lda text2shr,x
sta textY
lda CH ; 8 pixels de large par caractere
and #$ff
asl
asl
asl
pla
sta textX
sep #$30
rts
*-----------------------------------
mx %11
@ -224,18 +181,6 @@ GOTOXY stx textX
mx %11
COUTXY pea ^COUTXY
phx
phy
rep #$30
_DrawCString
sep #$30
rts
*-----------------------------------
mx %11
COUT phx
phy
rep #$30
@ -251,13 +196,9 @@ COUT phx
*----------- next X position
sep #$20
inc CH
rep #$20
lda textX
clc
adc #8
adc #charWIDTH
sta textX
cmp #maxX
bcs COUT1
@ -272,21 +213,20 @@ COUT99 sep #$30
mx %00
COUT1 stz textX ; a new line
sep #$20
stz CH
lda CV ; o<> est-on ?
cmp #maxTROW
bcs COUT2 ; on est deja sur la derniere ligne
inc CV ; non, encore de la place
rep #$20
lda textY
clc
adc #10
adc #charHEIGHT
sta textY
bra COUT99 ; on sort
cmp #maxY
bcs COUT2
bcc COUT99 ; on sort
*----------- Etape 0 : on attend une touche
COUT2 lda #row19 ; on se remet sur la derni<6E>re ligne
sta textY
*----------- on doit bouger les Žcrans
*
* 1 - ptrTEXTE est dŽcalŽ de 8 lignes vers le haut
@ -296,8 +236,6 @@ COUT1 stz textX ; a new line
mx %00
COUT2 rep #$20
*----------- Etape 1
lda ptrTEXT+2 ; source commence ligne 10
@ -351,38 +289,33 @@ COUT2 rep #$20
lda #lastlineRECT
jsr eraseLINES ; en 8-bits ˆ la sortie
mx %11
ply
plx
rts
brl COUT99
*----------- Exit
*
* De 160 ˆ 199, ce sont les lignes de texte
text2shr dw 9 ; 0
dw 19 ; 1
dw 29 ; 2
dw 39 ; 3
dw 49 ; 4
dw 59 ; 5
dw 69 ; 6
dw 79 ; 7
dw 89 ; 8
dw 99 ; 9
dw 109 ; 10
dw 119 ; 11
dw 129 ; 12
dw 139 ; 13
dw 149 ; 14
dw 159 ; 15
dw 169 ; 16
dw 179 ; 17
dw 189 ; 18
dw 199 ; 19
*
*text2shr dw 9 ; 0
* dw 19 ; 1
* dw 29 ; 2
* dw 39 ; 3
* dw 49 ; 4
* dw 59 ; 5
* dw 69 ; 6
* dw 79 ; 7
* dw 89 ; 8
* dw 99 ; 9
* dw 109 ; 10
* dw 119 ; 11
* dw 129 ; 12
* dw 139 ; 13
* dw 149 ; 14
* dw 159 ; 15
* dw 169 ; 16
* dw 179 ; 17
* dw 189 ; 18
* dw 199 ; 19
*
*-----------------------------------
mx %11
@ -611,7 +544,6 @@ BFF0 ds 16
showPIC rep #$30
and #$00ff
stal $300 ; LOGO - LA SALLE
asl
tax
lda tblIMAGES,x
@ -965,17 +897,6 @@ INK ldx theINK
lda palette320,x
pha
_SetColorEntry
* PushWord #^blackPATTERN
* asl
* asl
* asl
* asl
* asl
* clc
* adc #blackPATTERN
* pha
* _SetPenPat
rts
*-----------------------------------
@ -993,10 +914,6 @@ PAPER ldx thePAPER
lda palette320,x
pha
_SetColorEntry
ldal $c034
inc
stal $c034
rts
*-----------------------------------

View File

@ -573,69 +573,100 @@ V$200 str 'TIME'
* '0123456789012345678901234567890123456789'
* '----------------------------------------'
str4010 asc 'Une boule d'27'acier tombee du plafond vient de s'27'ecraser sur votre casque.'00
str4020 asc 'Une boule d'27'acier vient de tomber du plafond, vous avez le crane defonce...'00
str4030 asc 'Vous venez de tomber dans une flaque d'27'acide,ca crepite...'00
str4040 asc 'Vous venez de rentrer dans le reacteur atomique du vaisseau..!'00
str4010 asc 'Une boule d'27'acier tombee du plafond'0d
asc 'vient de s'27'ecraser sur votre casque.'00
str4020 asc 'Une boule d'27'acier vient de tomber du'0d
asc 'plafond, vous avez le crane defonce...'00
str4030 asc 'Vous venez de tomber dans une flaque d'270d
asc 'acide, ca crepite...'00
str4040 asc 'Vous venez de rentrer dans le reacteur'0d
asc 'atomique du vaisseau..!'00
str4050 asc 'La porte ne veut pas s'27'ouvrir'00
str4060 asc 'Un peu de memoire...comment etes-vous entre ?'00
str4070 asc 'Je ne vous savais pas assez muscle pour soulever une tonne.'00
str4080 asc 'Vous avez raison, la vue c'27'est la vie!'00
str4090 asc 'Les gants etaient radioactifs, vous perdez la vue.'00
str4060 asc 'Un peu de memoire... Comment etes-vous'0d
asc 'entre ?'00
str4070 asc 'Je ne vous savais pas assez muscle pour '
asc 'soulever une tonne.'00
str4080 asc 'Vous avez raison, la vue c'27'est la vie !'00
str4090 asc 'Les gants etaient radioactifs, vous'0d
asc 'perdez la vue.'00
str4100 asc 'Vous l'27'avez deja sur vous.'00
str4110 asc 'Impossible, je ne vois pas ceci ici.'00
str4120 asc 'Vous vous arrachez la tete en tombant des echasses.'00
str4130 asc 'Des monstres sortis des containers vous devorent tout cru!'00
str4140 asc 'L'27'air frais vous fait du bien. Dommage que l'27'helice vous ait coupe la tete.'00
str4120 asc 'Vous vous arrachez la tete en tombant'0d
asc 'des echasses.'00
str4130 asc 'Des monstres sortis des containers vous '
asc 'devorent tout cru !'00
str4140 asc 'L'27'air frais vous fait du bien. Dommage'0d
asc 'que l'27'helice vous ait coupe la tete.'00
str4150 asc 'Qu'27'est ce que vous voulez boire ???'00
str4160 asc 'Ah oui...l'27'eau est bonne.'00
str4170 asc 'Il n'27'y a pas d'27'eau ici.'00
str4180 asc 'L'27'eau etait contaminee par les boites radioactives.'00
str4190 asc 'Vous retrecissez..petit..petit..et une araignee vous mange!'00
str4200 asc 'Ca coupe une tronconneuse, comme le prouve votre tete au sol.'00
str4210 asc 'Vous glissez et tombez dans la flaque. L'27'acide crepite.'00
str4220 asc 'Il n'27'y a pas ici de porte verrouillee';
str4230 asc 'En secouant le tube pour l'27'ouvrir, la nitroglycerine a explose.'00
str4240 asc 'Pourquoi ouvrir un robinet qui ne ferme pas!'00
str4180 asc 'L'27'eau etait contaminee par les boites'0d
asc 'radioactives.'00
str4190 asc 'Vous retrecissez..petit..petit..et une'0d
asc 'araignee vous mange !'00
str4200 asc 'Ca coupe une tronconneuse, comme le'0d
asc 'prouve votre tete au sol.'00
str4210 asc 'Vous glissez et tombez dans la flaque.'0d
asc 'L'27'acide crepite.'00
str4220 asc 'Il n'27'y a pas ici de porte verrouillee'
str4230 asc 'En secouant le tube pour l'27'ouvrir,'0d
asc 'la nitroglycerine a explose.'00
str4240 asc 'Pourquoi ouvrir un robinet qui ne ferme '
asc 'pas !'00
str4250 asc 'Le robinet ne se ferme pas.'00
str4260 asc ''00
str4270 asc 'La bibliotheque n'27'a pas de porte...'00
str4280 asc 'Il n'27'y a rien de mieux sur les autres pages.'00
str4290 asc '...c'27'est toi J.R qui a pris ma femme et mon petrole, tu es infame.'00
str4300 asc 'Collection Arlepin, tout un reve d'27'evasion.'00
str4310 asc '...et c'27'est moi Genius le grand qui crea un superbe manoir...'00
str4320 asc '1031141221242713182310291430271214232927102110272718311427103023141427142324303114212114'
str4280 asc 'Il n'27'y a rien de mieux sur les autres'0d
asc 'pages.'00
str4290 asc '...c'27'est toi J.R qui a pris ma femme et '
asc 'mon petrole, tu es infame.'00
str4300 asc 'Collection Arlepin, tout un reve'0d
asc 'd'27'evasion.'00
str4310 asc '...et c'27'est moi Genius le grand qui crea'
asc 'un superbe manoir...'00
str4320 asc '1031141221242713182310291430271214232927102110272718311427103023141427142324303114212114'00
str4321 asc ' <tapez une touche> '00
str4330 asc 'Vous l'27'avez deja fait.'00
str4340 asc 'Le laser vient d'27'exploser.'00
str4350 asc 'Il ne se passe rien.'00
str4360 asc 'Le sas s'27'ouvre, vous passez dans la salle a cote.'00
str4370 asc 'Cela agit sur un contacteur a infrarouge qui commande l'27'eclairage.'00
str4360 asc 'Le sas s'27'ouvre, vous passez dans la'0d
asc 'salle a cote.'00
str4370 asc 'Cela agit sur un contacteur a infrarouge'
asc 'qui commande l'27'eclairage.'00
str4380 asc 'Allons enfants de la patrie...'00
str4390 asc 'Vous entendez : '27'Le laser ouvrira la porte'27''00
str4400 asc 'Les lunettes sont trop fortes, vous voyez trouble.'00
str4390 asc 'Vous entendez : '27'Le laser ouvrira la'0d
asc 'porte'2700
str4400 asc 'Les lunettes sont trop fortes, vous'0d
asc 'voyez trouble.'00
str4410 asc 'La salle est radioactive.'00
str4420 asc 'Vous avez quelque chose pour ?'00
str4430 asc 'C'27'est votre probleme, mais le temps passe.'00
str4430 asc 'C'27'est votre probleme, mais le temps'0d
asc 'passe.'00
str4440 asc 'Avez-vous si sommeil que ca ?'00
str4450 asc 'Et puis quoi encore !'00
str4460 asc 'Faites un plan...'00
str4470 asc 'Vous entendez le ronronnement des moteurs.'00
str4470 asc 'Vous entendez le ronronnement des'0d
asc 'moteurs.'00
str4480 asc 'J'27'etais sur que vous etiez un lache.'00
str4490 asc 'Vous passez la tete a travers un sas,'00
str4491 asc 'et appuyez sur le bouton de fermeture'00
str4500 asc 'Quel bouton ?'00
str4510 asc 'Les boutons ne fonctionnent pas car l'27'ordinateur central les controle.'00
str4520 asc 'Le systeme automatique est deregle, il met du gaz carbonique a la place de l'27'oxygene.'00
str4510 asc 'Les boutons ne fonctionnent pas car'0d
asc 'l'27'ordinateur central les controle.'00
str4520 asc 'Le systeme automatique est deregle, il'0d
asc 'met du gaz carbonique a la place de'0d
asc 'l'27'oxygene.'00
str4530 asc 'Vous respirez un grand coup.'00
str4540 asc 'Que voulez-vous respirer, il n'27'y a plus d'27'oxygene.'00
str4540 asc 'Que voulez-vous respirer ? Il n'27'y a plus'
asc 'd'27'oxygene.'00
str4550 asc 'Vous avez deux essais pour'00
str4552 asc 'entrer le mot de passe.'00
str4553 asc 'FAUX!'00
str4554 asc 'Encore rate. L'27'ordinateur vous explose a la figure.'00
str4554 asc 'Encore rate. L'27'ordinateur vous explose a'
asc 'la figure.'00
str4556 asc 'Mot de passe '00
str4558 asc 'Exact, vous etes perspicace!'00
str4558 asc 'Exact, vous etes perspicace !'00
str4559_1 asc 'UIN LOI QRU ILD ESP ECU TAS'00
str4559_2 asc 'ASU VIE RAL HOU MEA NOI THE'00
str4559_3 asc 'Le mot de passe pour le'00
@ -646,48 +677,86 @@ str4570 asc 'Il etait temps, vous alliez mourir.'00
str4580 asc 'Vous mourrez deshydrate.'00
str4590 asc ''00
str4600 asc ''00
str4610 asc 'Le sas se referme derriere vous, le tableau de controle s'27'allume et l'27'ordinateur de bord vous demande le mot de passe pour le retour ?'00
str4615 asc 'Le vaisseau de secours s'27'eloigne, au loin vous voyez Genius qui pleure derriere un hublot'00
str4610 asc 'Le sas se referme derriere vous,'0d
asc 'le tableau de controle s'27'allume et'0d
asc 'l'27'ordinateur de bord vous demande le'0d
asc 'mot de passe pour le retour'00
str4615 asc 'Le vaisseau de secours s'27'eloigne,'0d
asc 'au loin vous voyez Genius qui pleure'0d
asc 'derriere un hublot'00
str4616 asc ' VOUS AVEZ GAGNE'00
str4618_1 asc 'Mais, que se passe-t-il,vous avez du vous tromper de mot de passe, votre vaisseau de poche fonce sur le soleil.'00
str4618_2 asc 'Vous venez de realiser que Genius pleurait de JOIE...!'00
str4618_3 asc 'Comme je le pensais , vous vous etes stupidement fait avoir, et votre cadavre (ou ce qu'27'il en reste) reposera a jamais dans l'27'espace...'00
str4618_1 asc 'Mais, que se passe-t-il, vous avez du'0d
asc 'vous tromper de mot de passe, votre'0d
asc 'vaisseau de poche fonce sur le soleil.'00
str4618_2 asc 'Vous venez de realiser que Genius'0d
asc 'pleurait de JOIE...!'00
str4618_3 asc 'Comme je le pensais, vous vous etes'0d
asc 'stupidement fait avoir, et votre cadavre'
asc '(ou ce qu'27'il en reste) reposera a jamais'
asc 'dans l'27'espace...'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
str4650 asc 'Le temps que vous aviez pour votre mission est ecoule, vous avez echoue.'00
str4660 asc 'Votre trajectoire est bonne, pourquoi la corriger ?'00
str4670 asc 'Le mur au nord coulisse, vous avancez dans cette salle.'00
str4640 asc 'Petit drole... Le chronometre est'0d
asc 'affiche en permanence'00
str4650 asc 'Le temps que vous aviez pour votre'0d
asc 'mission est ecoule, vous avez echoue.'00
str4660 asc 'Votre trajectoire est bonne, pourquoi la'
asc 'corriger ?'00
str4670 asc 'Le mur au nord coulisse, vous avancez'0d
asc 'dans cette salle.'00
str4680 asc 'Quel livre ?'00
str4690 asc 'Au dos du boitier est marque :'00
str4692 asc ' '27'PROTEGEZ MOI'A700
str4700 asc 'Vous remarquez un boitier de radiocommande.'00
str4700 asc 'Vous remarquez un boitier de radio-'0d
asc 'commande.'00
str4710 asc ''00
str4720 asc ''00
str4730 asc 'Que regardez vous ?'00
str4740 asc 'Le tube de nitroglycerine vient d'27'exploser, vous etes pulverise.'00
str4750 asc 'La bombe a retardement vient d'27'exploser, vous etes pulverise.'00
str4760 asc 'La bombe a retardement a explose, elle a endommage le systeme de chauffage, vous etes carbonise'00
str4770 asc 'La bombe a explose, vous etiez trop pres et etes devenu fou...'00
str4780 asc 'La bombe a retardement n'27'etait pas assez forte, l'27'ordinateur central n'27'est qu'27'endommage, il vous fait exploser...'00
str4790 asc 'Bravo! L'27'ordinateur central est detruit, mais le systeme d'27'oxygenation ne fonctionne plus, de plus la trajectoire du vaisseau a change.'00
str4800 asc 'Vous n'27'avez plus de souffle, vous etes mort asphyxie.'00
str4810 asc 'Vous auriez du corriger la trajectoire vous avez percute le soleil.'00
str4820 asc 'A force de traverser les salles radioactives, vous etes mort contamine.'00
str4740 asc 'Le tube de nitroglycerine vient d'270d
asc 'exploser, vous etes pulverise.'00
str4750 asc 'La bombe a retardement vient d'270d
asc 'exploser, vous etes pulverise.'00
str4760 asc 'La bombe a retardement a explose, elle a'
asc 'endommage le systeme de chauffage,'0d
asc 'vous etes carbonise'00
str4770 asc 'La bombe a explose, vous etiez trop pres'
asc 'et etes devenu fou...'00
str4780 asc 'La bombe a retardement n'27'etait pas assez'
asc 'forte, l'27'ordinateur central n'27'est qu'270d
asc 'endommage, il vous fait exploser...'00
str4790 asc 'Bravo! L'27'ordinateur central est detruit,'
asc 'mais le systeme d'27'oxygenation ne fonc-'0d
asc '-tionne plus, de plus la trajectoire du'0d
asc 'vaisseau a change.'00
str4800 asc 'Vous n'27'avez plus de souffle,'0d
asc 'vous etes mort asphyxie.'00
str4810 asc 'Vous auriez du corriger la trajectoire,'0d
asc 'vous avez percute le soleil.'00
str4820 asc 'A force de traverser les salles radio-'0d
asc '-actives, vous etes mort contamine.'00
str4830 asc 'Il fait de plus en plus chaud...'00
str4840 asc 'L'27'ordinateur vient d'27'exploser!'00
str4845 asc 'Vous avez du le laisser allume.'00
str4850 asc 'Comment !!! Vous etes aveugle.'00
str4860 asc 'Vous n'27'aviez pas pris la radiocommande qui a explose quand le vaisseau a percute le soleil, son explosion a declenche la fin du monde.'00
str4870 asc 'Non! pas de strip-tease.'00
str4874 asc 'Vous avez pose tout ce que vous transportiez.'00
str4860 asc 'Vous n'27'aviez pas pris la radiocommande'0d
asc 'qui a explose quand le vaisseau a percu-'
asc '-te le soleil, son explosion a declenche'
asc 'la fin du monde.'00
str4870 asc 'Non ! pas de strip-tease.'00
str4874 asc 'Vous avez pose tout ce que vous'
asc 'transportiez.'00
str4880 asc 'Ca ne se demande pas.'00
str4890 asc 'Il y a effectivement un ordinateur parmi le tableau de controle.'00
str4890 asc 'Il y a effectivement un ordinateur parmi'
asc 'le tableau de controle.'00
str4891 asc 'L'27'ordinateur n'27'est pas en fonction.'00
str4900 asc 'Sur le laser, vous voyez trois boutons : jaune, rouge et bleu.'00
str4910 asc 'Vous etes entre dans le desintegrateur de particules...'00
str4920 asc 'Vous etes entre dans le vaisseau par le sas a l'27'ouest qui ne s'27'ouvre pas de'0d'l'27'interieur.'00
str4900 asc 'Sur le laser, vous voyez trois boutons :'
asc 'jaune, rouge et bleu.'00
str4910 asc 'Vous etes entre dans le desintegrateur'0d
asc 'de particules...'00
str4920 asc 'Vous etes entre dans le vaisseau par le '
asc 'sas a l'27'ouest qui ne s'27'ouvre pas de'0d
asc 'l'27'interieur.'00
str5500 asc 0d'Etes-vous sur (O/N) ? '00

Binary file not shown.

View File

@ -69,6 +69,30 @@ maxY = 200
maxTCOLUMN = 40
maxTROW = 19
charHEIGHT = 10
charWIDTH = 8
row0 = charHEIGHT-1 ; 9
row1 = row0+charHEIGHT ; 19
row2 = row1+charHEIGHT ; 29
row3 = row2+charHEIGHT ; 39
row4 = row3+charHEIGHT ; 49
row5 = row4+charHEIGHT ; 59
row6 = row5+charHEIGHT ; 69
row7 = row6+charHEIGHT ; 79
row8 = row7+charHEIGHT ; 89
row9 = row8+charHEIGHT ; 99
row10 = row9+charHEIGHT ; 109
row11 = row10+charHEIGHT ; 119
row12 = row11+charHEIGHT ; 129
row13 = row12+charHEIGHT ; 139
row14 = row13+charHEIGHT ; 149
row15 = row14+charHEIGHT ; 159
row16 = row15+charHEIGHT ; 169
row17 = row16+charHEIGHT ; 179
row18 = row17+charHEIGHT ; 189
row19 = row18+charHEIGHT ; 199
ptr012000 = $012000
ptrE12000 = $e12000

File diff suppressed because it is too large Load Diff

View File

@ -33,6 +33,9 @@ chrNON = 'N'
idxTIMER = 200
*-----------------------------------
*-----------------------------------
* MACROS
*-----------------------------------
@ -83,13 +86,18 @@ PLAY sep #$30
REPLAY sep #$30
jsr HGR
jsr HOME ; clear text screen
lda #0 ; move cursor to 0,16 au lieu de 0,20
sta CH
lda #16 ; au lieu de 20 LoGo
sta CV
jsr TABV ; on a 20 lignes de 10 caract<63>res de haut
* jsr HOME ; clear text screen
* lda #0 ; move cursor to 0,16 au lieu de 0,20
* sta CH
* lda #16 ; au lieu de 20 LoGo
* sta CV
* jsr TABV ; on a 20 lignes de 10 caract<63>res de haut
lda #0
sta textX
lda #row16
sta textY
*-----------------------------------
* DU BASIC A L'ASSEMBLEUR (BEURK)
*-----------------------------------
@ -1010,9 +1018,9 @@ tbl4000 da $bdbd,:4010,:4020,:4030,:4040,:4050,:4060,:4070,:4080,:4090
sta SALLE
@gotoxy #43;#21 ; Vous avez deux essais pour
@printxy #str4550
@print #str4550 ; xy
@gotoxy #43;#29 ; entrer le mot de passe
@printxy #str4552
@print #str4552 ; xy
@gotoxy #43;#37 ; entrer le mot de passe
jsr :4556_input ; saisie 1
@ -1028,19 +1036,19 @@ tbl4000 da $bdbd,:4010,:4020,:4030,:4040,:4050,:4060,:4070,:4080,:4090
jmp :perdu ; ciao
:4554 @gotoxy #43;#56 ; 42
@printxy #str4558
@print #str4558 ; xy
@gotoxy #43;#64 ; 56
@printxy #str4559_1
@print #str4559_1 ; xy
@gotoxy #43;#72 ; 67
@printxy #str4559_2
@print #str4559_2 ; xy
@gotoxy #43;#80
@printxy #str4559_3
@print #str4559_3 ; xy
@gotoxy #43;#88
@printxy #str4559_4
@print #str4559_4 ; xy
ldx #>MP$
ldy #<MP$
jsr COUTXY
jsr printCSTRING ; COUTXY
rts
*--- saisie du mot de passe

Binary file not shown.