This commit is contained in:
Antoine Vignau 2023-12-10 23:45:46 +01:00
parent e6fa3315a5
commit ee40ccd6d6
25 changed files with 47679 additions and 0 deletions

BIN
.DS_Store vendored

Binary file not shown.

BIN
kikekankoi/apple2/K Normal file

Binary file not shown.

22216
kikekankoi/apple2/K.S Normal file

File diff suppressed because it is too large Load Diff

736
kikekankoi/apple2/KKKK1.S Normal file
View File

@ -0,0 +1,736 @@
*---------------------------------------------------------*
* Disassembled with The Flaming Bird Disassembler *
* (c) Phoenix corp. 1992,93 - All rights reserved *
*---------------------------------------------------------*
TYP BIN
ORG $007FD0
L7FD0 DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DA L8380 ; PIC 2
DA L8C10 ; PIC 1
DB $00
L7FDF DB $3D
DB $77
DB $BB
DB $DD
DB $EE
DB $80
DB $40
DB $20
DB $10
DB $08
DB $04
DB $02
DB $01
DB $E4
DB $7F
DB $00
DB $00
DB $13
DB $03
DB $01
DB $01
DB $88
DB $44
DB $22
DB $11
DB $00
DB $00
DB $02
DB $70
DB $00
DB $00
DB $E4
DB $E4
L8000 DB $F3
DB $21
DB $00
DB $70
DB $11
DB $02
DB $70
DB $ED
DB $53
DB $FA
DB $7F
DB $3A
DB $FE
DB $7F
DB $32
DB $EC
DB $7F
DB $46
DB $23
DB $4E
DB $04
DB $CD
DB $88
DB $80
DB $FE
DB $00
DB $20
DB $03
DB $CD
DB $5B
DB $80
DB $05
DB $05
DB $CD
DB $88
DB $80
DB $FE
DB $00
DB $20
DB $03
DB $CD
DB $5B
DB $80
DB $04
DB $0C
DB $CD
DB $88
DB $80
DB $FE
DB $00
DB $20
DB $03
DB $CD
DB $5B
DB $80
DB $0D
DB $0D
DB $CD
DB $88
DB $80
DB $FE
DB $00
DB $20
DB $03
DB $CD
DB $5B
DB $80
DB $23
DB $7C
DB $ED
DB $4B
DB $FA
DB $7F
DB $B8
DB $C2
DB $11
DB $80
DB $7D
DB $B9
DB $C2
DB $11
DB $80
DB $BB
DB $20
DB $0D
DB $7C
DB $BA
DB $20
DB $09
DB $FB
DB $C9
DB $78
DB $12
DB $13
DB $79
DB $12
DB $13
DB $C9
DB $EB
DB $ED
DB $5B
DB $FA
DB $7F
DB $A7
DB $ED
DB $52
DB $E5
DB $C1
DB $11
DB $00
DB $70
DB $2A
DB $FA
DB $7F
DB $ED
DB $B0
DB $21
DB $00
DB $70
DB $3A
DB $FE
DB $7F
DB $F5
DB $3A
DB $FF
DB $7F
DB $32
DB $FE
DB $7F
DB $F1
DB $32
DB $FF
DB $7F
DB $C3
DB $07
DB $80
DB $E5
DB $D5
DB $C5
DB $21
DB $F0
DB $7F
DB $78
DB $CB
DB $38
DB $CB
DB $38
DB $70
DB $E6
DB $03
DB $23
DB $77
DB $79
DB $E6
DB $07
DB $23
DB $47
DB $77
DB $23
DB $CB
DB $39
DB $CB
DB $39
DB $CB
DB $39
DB $71
DB $11
DB $00
DB $08
DB $21
DB $D0
DB $FF
DB $04
DB $A7
DB $ED
DB $52
DB $10
DB $FC
DB $19
DB $E5
DB $11
DB $50
DB $00
DB $21
DB $F3
DB $7F
DB $46
DB $E1
DB $04
DB $A7
DB $ED
DB $52
DB $10
DB $FC
DB $ED
DB $4B
DB $F0
DB $7F
DB $06
DB $00
DB $09
DB $7E
DB $E5
DB $F5
DB $21
DB $F4
DB $7F
DB $ED
DB $4B
DB $F1
DB $7F
DB $06
DB $00
DB $09
DB $A6
DB $C2
DB $ED
DB $80
DB $57
DB $F1
DB $21
DB $E0
DB $7F
DB $09
DB $A6
DB $2A
DB $EC
DB $7F
DB $09
DB $B6
DB $E1
DB $77
DB $7A
DB $C1
DB $D1
DB $E1
DB $C9
DB $C1
DB $C1
DB $C3
DB $E9
DB $80
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
L8100 DB $3A ; LD A,$7FDF
DB $DF
DB $7F
DB $87 ; ADD A,A
DB $C6 ; ADD A,#$60
DB $60
DB $5F ; LD E,A
DB $16 ; LD D,#$7F
DB $7F
DB $1A ; LD A,(DE)
DB $6F ; LD L,A
DB $13 ; INC DE
DB $1A ; LD A,(DE)
DB $67 ; LD H,A
DB $7E ; LD A,(HL)
DB $FE ; CP #$00
DB $00
DB $C8 ; RET Z
DB $E5 ; PUSH HL
DB $F5 ; PUSH AF
DB $E6 ; AND #$C0
DB $C0
DB $CB ; SRL A
DB $3F
DB $CB ; SRL A
DB $3F
DB $CB ; SRL A
DB $3F
DB $CB ; SRL A
DB $3F
DB $CB ; SRL A
DB $3F
DB $CB ; SRL A
DB $3F
DB $CD ; CALL #$DE
DB $DE
DB $BB ; CP B
DB $F1 ; POP AF
DB $F5 ; PUSH AF
DB $E6 ; AND #$30
DB $30
DB $D1 ; POP DE
DB $7A ; LD A,D
DB $C2
DB $7B
DB $81
DB $CB
DB $3F
DB $DA
DB $51
DB $81
DB $CB
DB $3F
DB $DA
DB $66
DB $81
DB $23
DB $46
DB $48
DB $3E
DB $02
DB $E5
DB $CD
DB $32
DB $BC
DB $E1
DB $23
DB $46
DB $48
DB $3E
DB $03
DB $CD
DB $32
DB $BC
DB $E1
DB $23
DB $23
DB $23
DB $C3
DB $0E
DB $81
DB $23
DB $E5
DB $7E
DB $26
DB $00
DB $6F
DB $29
DB $EB
DB $E1
DB $23
DB $7E
DB $26
DB $00
DB $6F
DB $29
DB $CD
DB $F6
DB $BB
DB $C3
DB $4A
DB $81
DB $23
DB $E5
DB $7E
DB $26
DB $00
DB $6F
DB $29
DB $EB
DB $E1
DB $23
DB $7E
DB $26
DB $00
DB $6F
DB $29
DB $CD
DB $EA
DB $BB
DB $C3
DB $4A
DB $81
DB $F5
DB $E6
DB $C0
DB $CD
DB $A1
DB $81
DB $32
DB $FE
DB $7F
DB $F1
DB $E6
DB $30
DB $CB
DB $27
DB $CB
DB $27
DB $CD
DB $A1
DB $81
DB $32
DB $FF
DB $7F
DB $23
DB $7E
DB $32
DB $00
DB $70
DB $23
DB $7E
DB $32
DB $01
DB $70
DB $CD
DB $00
DB $80
DB $C3
DB $4A
DB $81
DB $FE
DB $40
DB $C2
DB $A9
DB $81
DB $3E
DB $E4
DB $C9
DB $FE
DB $80
DB $C2
DB $B1
DB $81
DB $3E
DB $E8
DB $C9
DB $3E
DB $F4
DB $C9 ; RET
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
L81C0 HEX 38020000143802BE00141C018E00141C
HEX 017700141C017F00141C01BE00142D01
HEX 7F00142D016A00141C017700147B0177
HEX 00141C015F0014EF005F0014FD009600
HEX 147B01960014FD005F0014D5005F0014
HEX EF008E0014EF00BE00141C018E00141C
HEX 017700142D017F00142D01BE00147B01
HEX 7F00147B016A00141C01770014BE0077
HEX 00141C018E0014EF008E0014FD000000
HEX 147B01000014FD00000014D500000014
HEX EF00000014EF005F00141C017700141C
HEX 015F0014EF008E0014EF007700141C01
HEX BE00141C019F0014D500B300141C01B3
HEX 001466018E00141C018E0014AA016A00
HEX 1466016A00143802590014DE01590014
HEX FA01590014FA016A0014AA017F0014AA
HEX 016A00143F019F00143F017F0014FD00
HEX D50014FD00B30014FD00BE00143F01BE
HEX 00147B019F00143F019F0014DE017700
HEX 147B017700147E025F0014FA015F0014
HEX 38025F00143802770014DE018E0014DE
HEX 01EF0014AA01B300146601B30014FA01
HEX 6A0014AA016A00147E026A00147E027F
HEX 0014FA019F0014FA017F0014DE01BE00
HEX 147B01BE00143802770014DE01770014
HEX CC02EF0014CC028E00145303B3001453
HEX 038E00147E02D500143F01D500146601
HEX 7F00143F017F0014DE0177003C140000
L8380 HEX 48121A42017441917442BF7441C67442
HEX 017F41057B410C784119794124784218
HEX 75412076412B79413683413E7F423A81
HEX 41448C414889414F8742478A414D9141
HEX 5092415F86423678414B7F41587A4252
HEX 7D41598041638A416F7E41797B41877C
HEX 41978342B28E41B99141C08B42BA8541
HEX BC8841C28D41C68A42B29441B38641B7
HEX 7641BC7F41C16441C46641C660429C94
HEX 41978041948441947D41927441906E41
HEX 9363419558419344418E51418E5A418C
HEX 6C41896B41876541865C418D50419148
HEX 418F3C418B2F418B2741841741851341
HEX 820E41890A428A17418B0E418908418C
HEX 0841920141990E419813419C18419E24
HEX 41A12C429103418F08418E0C41911241
HEX 9116419723419B28419A2C419C30429E
HEX 3341A14641A44A41A55141A85C429956
HEX 41975B419765419A6B41997241A08342
HEX A38141A38341A48641A38C41A69342AF
HEX 9041A87D41A97041A56442B25B41B13E
HEX 41AF3841B02542BB5641BE4141C23D41
HEX C51142A70141B52641B51041B71241B9
HEX 0841BC0541BD0142016B410C6B411F69
HEX 412D6441255B411850411D4A41214041
HEX 2430411F3F411A4841154D410E484101
HEX 4242184F41174B541A4B54213B422D63
HEX 41335F413B4F413D48413D37412B2D41
HEX 3E31414332423D394141374145344138
HEX 26423E2C413E20414013413C08413D01
HEX 42401441441341490E41420142490C41
HEX 4A07424505414F09415B0C41610B4164
HEX 08416303416101426405416501424160
HEX 414760414A5C414C52414D4C414C4841
HEX 4A4E414A5141475741415E41415F424B
HEX 60415163415663415C5F415D53415C43
HEX 415B3741612B416223416518415F1341
HEX 5C0C424E0A414D0F414E164158384151
HEX 4B415056414E5E414C60426C6B417069
HEX 41785641795141784D417B45417D5041
HEX 805941816241866B42876B41846D417F
HEX 6E41786D416F6C416968416467415F66
HEX 415E67415E6841566741566841576941
HEX 4F68415D7141626841656D415D714263
HEX 6E416771416E6D42677041696842335F
HEX C1385EC1405EC2485FC14C5FC25B60C1
HEX 6660C16B61C17164C2876BC1906DC282
HEX 3341802E41802941791C417719417917
HEX 41831B41841D418325418233423C5841
HEX 414E41433E423F5A41425641454F4249
HEX 42414C30414D28414C1F42463841482F
HEX 41482341461A426C58416F4C41713442
HEX 735541744C417541427B44417935417A
HEX 4642654941693C416A2D41691F426819
HEX 41670D42634641653A41662C427B1541
HEX 7A0F427F16417E0E4284604183584180
HEX 4B418043417E37428355418447418338
HEX 42620B41670D416A0B416F0D41710E41
HEX 730D41750E41780D417A0F417E0E4182
HEX 0F426806416D0841700841720942770A
HEX 417909417D0A427203417604417C0342
HEX 810541830441840242154D41104E4117
HEX 5054164E74019474B39494017EA41C75
HEX A4B48DB40171B4C172F4385CF4600EF4
HEX 8F6AF4660A54480854630154626C425F
HEX 6F425E7054696EA4666BA45F6AA43B33
HEX 64024682968242425F42445F42465F42
HEX 475E42455E42435E42445D42465D4248
HEX 5D42495C42475C42455C42445B42465B
HEX 42485B42495A42475A42455A42465942
HEX 4859424958424758424857424A574249
HEX 56424A55424954424B54424A53424B52
HEX 424B50424B4E424C4D424B4C424C4B42
HEX 8B6B428A6A428B69428A68428967428B
HEX 67428A66428866428965428B65428C64
HEX 428A64428864428963428B63428C6242
HEX 8A62428862428961428B61428C60428A
HEX 6042886042875F42895F428B5F428D5F
HEX 428C5E428A5E42885E42875D42895D42
HEX 8B5D428D5D428C5C428A5C42885C4287
HEX 5B42895B428B5B428D5B428C5A428A5A
HEX 42885A428959428B59428D59428C5842
HEX 8A58428B57428D57428C56428A56428B
HEX 55428D55428C54428D53427C6D427E6D
HEX 42816D42846C42826C42806C427E6C42
HEX 7C6C427A6C42786C42766C42746C4273
HEX 6B42716B426F6B426E6B426F6A42706A
HEX 42726A42746A42756B42776B42796B42
HEX 7B6B427D6B427F6B42816B42836B4284
HEX 6A42826A42806A427E6A427C6A427A6A
HEX 42786A42766A42716942736942756942
HEX 7769427969427B69427D69427F694281
HEX 69428369428468428268428068427E68
HEX 427C68427A6842786842766842746842
HEX 7268427367427567427767427967427B
HEX 67427D67427F67428167428367428266
HEX 427E66428066427C66427A6642786642
HEX 76664274664272664273654275654277
HEX 65427965427C65427E65428065428265
HEX 428164427F64427C64427A6442786442
HEX 76644274644273634275634277634279
HEX 63427B63427D63427F63428062427E62
HEX 427C62427A6242786242766242746242
HEX 7561427761427961427B61427D61427F
HEX 61428060427E60427C60427A60427860
HEX 427660427B65427D64427E64427D6542
HEX 806D427F6D42856B42856A42805F427F
HEX 5F427D5F427B5F42795F42775F42755F
HEX 42765E42785E427A5E427C5E427E5E42
HEX 805E427F5E427F5D427D5D427B5D4279
HEX 5D42775D42785C427A5C427C5C427E5C
HEX 427F5C427F5B427E5B427C5B427A5B42
HEX 785B42775B42775A42795A427B5A427D
HEX 5A427F5A427E59427C59427A59427859
HEX 427958427B58427D58427F58427E5742
HEX 7C57427A57427956427B56427D56427F
HEX 56427E55427C55427A55427855427954
HEX 427B54427D54427C53427A53427B5242
HEX 7D52427C51427A51427B50427C4F427A
HEX 4F427B4E427C4D427A4D427A4B427B4A
HEX 427A4A427A49427B49427B4C42794C42
HEX 794E427E63428063428061427F62427F
HEX 60427A18427919427B19427A1A427C1A
HEX 427E1A42811B427F1B427D1B427B1B42
HEX 7A1C427C1C427E1C42801C42821C4283
HEX 1D42811D427F1D427D1D427B1D427C1E
HEX 427E1E42801E42821E42831F42811F42
HEX 7F1F427D1F427C20427E204280204282
HEX 20428121427F21427D21427E22428022
HEX 428222428123427F23427E2442802442
HEX 8224428125427F254280264282264281
HEX 2742822842812942822A42812B42822B
HEX 42812D42812FC25735C15B1CC1572BC1
HEX 552CC15327C2542BC2552DC15631C256
HEX 32F4572DF45829F45925C25925545161
HEX 424C4A42415D42425C427C48427C47C2
HEX 904DC1904942906D0000000000000000
* 42
* 01_000010
* 11_000000 AND #$C0
* Ink
* 00_110000 AND #$30
* 41 (A) 0100_0001
* 42 (B) 0100_0010
L8C10 HEX 4201B74102B54104B24105AE4105AB41
HEX 04A64103A24101A041029F41079F4109
HEX A0410AA14108A44109A7410BA8410EA6
HEX 410FA4410DA1410DA0410E9F41149F41
HEX 14A64113A9410DAE4110B04112B54112
HEX B64114B84112B9410CB9410CB7410DB5
HEX 410BB3410AB34109B44108B64109B941
HEX 02B94101B84219B7411AB5411CAF4119
HEX A64118A34118A1411A9F41209F4122A1
HEX 4121A5411FAD411FB04120B54122B841
HEX 21B9411AB94119B84225B94124B74126
HEX B54129AF4129AB4127A34126A141279F
HEX 412D9F412FA0412DA3412DA5412EA641
HEX 30A74132A54131A041329F41389F4138
HEX A74136AA4131AE4134B14135B54137B7
HEX 4136B94130B94131B6412EB4412BB541
HEX 2CB94125B9423AB7413DB3413FAC413E
HEX A4413CA0413D9F414D9F414EA9414DAA
HEX 414AA74148A74145A84144AA4146AD41
HEX 4AAE414AB14147B14145B34147B5414C
HEX B3414DB8414CB9413CB9413AB74251B7
HEX 4153B44156AC4155A54152A041539F41
HEX 5A9F415BA14159A34159A5415CA8415F
HEX A74160A4415EA1415DA0415E9F41659F
HEX 4165A54163A9415EAE4161B04164B641
HEX 66B84165B9415DB9415EB6415DB4415A
HEX B34159B5415AB84159B94153B94151B7
HEX 426BB6416DB0416CA94169A24168A041
HEX 699F41709F4171A0416FA2416FA44170
HEX A64172A74174A54174A34173A041749F
HEX 41799F417BA04179A34177A94177AF41
HEX 78B44179B74176B9416DB9416BB64270
HEX AE4174AE4174B34172B54170B34170AE
HEX 427CB6417FAF417FA9417DA0417E9F41
HEX 849F4185A04183A24183A54185A84187
HEX A74188A54187A041889F418E9F418FA1
HEX 418DA4418CAA418DB2418FB6418DB941
HEX 87B94185B74187B54189B14187AF4183
HEX B74180B9417DB9417BB74291B74193B3
HEX 4195AC4193A44191A041939F41999F41
HEX 9AA04198A24198A44199A6419BA8419D
HEX A6419FA4419DA0419E9F41A49F41A4A6
HEX 41A2A9419DAD41A1AF41A3B441A6B741
HEX A4B9419DB9419EB5419DB3419BB24199
HEX B34199B5419BB8419AB94193B94191B7
HEX 42A9B641AAB341ABAF41A9AA41A7A241
HEX A9A041AC9F41B49F41B7A041B8A441B6
HEX A941B6B041B8B441B8B641B5B941ABB9
HEX 41A9B742B1B541AEB341ACA941AEA741
HEX B0A641B3A941B4AC41B3B141B2B442BB
HEX B741BDB241BEAD41BCA641BAA041BB9F
HEX 41C49F41C6A041C4A341C1AC41C3B341
HEX C5B741C3B941BDB941BBB7F4C0B7F4B0
HEX B7F4A2B7F48BB7F471B7F462B7F449B7
HEX F434B7F41DB7F410B700000000000000

23674
kikekankoi/apple2/K_Output.txt Normal file

File diff suppressed because it is too large Load Diff

View File

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

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,33 @@
Informations KKKK
Les programmes basic se chargent en $170
KIKEKAN1.BIN se charge en $7FD0, longueur $FB0
KIKEKAN.BIN se charge en $2800, longueur $7170
=> relogŽ en $38F5
A970 <= 9970 sur 707B octets
Žquivalent MVP
38F5 <= 28F5 sur 707B octets
KIKEKAN1.BIN
60 = 3C
61 = 3D
62 = 3E
61+61 = 122 = 7A + 60 = 7FDA => 8380
62+62 = 124 = 7C + 60 = 7FDC => 8C10
--------------------------------------
KIKEKOIKAN
--------------------------------------
Les tableaux commen<65>ent ˆ 1
7000..7003 le mot en 4 lettres
7EC0..7EFF,0
7F00 O,x les objets
7F30 C,x les conditions
7F31..7F60,0
7F62..7FCB
7FDF SALLE
80FA MO$1
80FB MO$2

BIN
kikekankoi/kkkk.2mg Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,31 @@
1 REM ********************************* * *
2 REM * LE MYSTERE DE KIKEKANKOI * * *
3 REM * Ecrit par : Laurent BENES * * *
4 REM * Assiste de : D. BERCHIATTI * * *
5 REM * Graphisme : Roger NICOLLE * * *
6 REM * Copyright LORICIELS Mars 1985 * * *
7 REM *********************************
8 REM
9 REM TOUS DROITS DE REPRODUCTIONS INTERDITS 11 MARS 1957
10 REM
11 MEMORY &37BF-12:MODE 1:BORDER 0:INK 0,10:INK 1,0:INK 2,26:INK 3,26:CLS
12 PRINT CHR$(23);CHR$(1)
13 PLOT 132,384,1:TAG:PRINT"***********************";:PLOT 128,382,3:PRINT"***********************";
14 PLOT 162,352,1:PRINT"LORICIELS PRESENTE :";:PLOT 158,350,3:PRINT"LORICIELS PRESENTE :";
15 PLOT 132,318,1:PRINT"***********************";:PLOT 128,316,3:PRINT"***********************";
16 PLOT 118,200,1:PRINT"Le Mystere de Kikekankoi.";:PLOT 116,198,3:PRINT"Le Mystere de Kikekankoi.";
17 PLOT 82,100,1:PRINT"Copyright LORICIELS Mars 1985";:PLOT 80,98,3:PRINT"Copyright LORICIELS Mars 1985";:TAGOFF: PRINT CHR$(22);CHR$(0):PRINT CHR$(23);CHR$(0):PLOT 82,100,0:PLOT 80,98,0
18 LOAD "!kikekan1
19 CLS:INK 2,18:WINDOW#0,26,40,1,25:WINDOW#1,1,25,1,1:PRINT#1," LE MYSTERE DE"
20 POKE&7FDF,62:CALL&8100
21 PLOT 0,0,1:DRAW 398,0:DRAW 398,298:DRAW 0,298:DRAW 0,0:POKE &7FDF,61:CALL &8100
22 CLS:LOCATE 1,6:PEN 1:PRINT" Programme":PRINT" concu par":PRINT:PEN 3:PRINT" Laurent BENES"
23 PRINT:PRINT:PEN 1:PRINT" Assiste de":PRINT:PEN 3:PRINT" D. BERCHIATTI":PRINT:PRINT:PEN 1:PRINT" Graphisme":PRINT:PEN 3:PRINT" Roger NICOLLE"
24 FOR i=&81C0 TO &837C STEP 5:D=PEEK(I+4):SOUND 5,PEEK(I)+PEEK(I+1)*256,D,4
25 IF PEEK(I+2)<>0 THEN SOUND 2,PEEK(I+2)+PEEK(I+3)*256,D,5 ELSE SOUND 2,4,D,0
26 NEXT:FOR I=1 TO 14:PRINT:NEXT:WINDOW#0,26,40,2,25:FOR I=1 TO 28:PRINT:NEXT:WINDOW#0,26,40,3,25:FOR I=1 TO 27:PRINT:NEXT
27 WINDOW#0,26,40,4,25:PEN 1
28 PRINT" Lors d'une peche,vous avezretrouve une bouteille :SOS!je suis retenuepar un savant fou dans une ville inconnue cachee derrierela cascade...'"
29 PRINT
30 PRINT"N'ecoutant que votre courage, vous traversez la cascade. Saurez-vous ressortir de Kikekankoi et ramener cette fille saine et sauve ..?";
31 CLEAR:MEMORY 42619:RUN "!kike

View File

@ -0,0 +1,151 @@
10 OPENOUT"q":MEMORY&27BF:CLOSEOUT:LOAD"kikekan.bin",&2800:CALL&2800:MEMORY&37BF:CALL&BD37:CLEAR
15 PAPER0:BORDER0:INK1,6:INK0,0:MODE1:CLS:PRINT:PRINT:PRINT:PRINT:PRINT:GOSUB10400:PRINT:PRINT:PRINT:PRINT" APPUYEZ SUR ENTER":PRINT:PRINT:PRINT:PRINT" Copyright LORICIELS Mars 1985";
19 IFINKEY$<>CHR$(13)THEN19
20 CLS:INK0,13:INK1,0:WINDOW#0,1,40,2,6:PAPER1:PEN0:CLS:WINDOW#1,26,40,7,24:PEN#1,0:PAPER#1,1:CLS#1:WINDOW#2,26,40,25,25:PAPER#2,1:PEN#2,0:CLS#2:C=999:WINDOW#3,1,25,7,25:WINDOW#4,1,40,1,1:PLOT0,0:DRAW398,0,1:DRAW398,298:DRAW0,298:DRAW0,0
25 PLOT0,300:DRAW398,300:DRAW398,302:DRAW0,302:PRINT#4," *** Bienvenue a KIKEKANKOI ***";:PRINT#1:PRINT#1,"***************":PRINT#1,"Et rappellez - ":PRINT#1,"vous qu'une ":PRINT#1,"jeune fille a ":PRINT#1,"besoin de votre":PRINT#1,"aide..."
28 PRINT#1:PRINT#1,"***************":FORI=&7EC0TO&7EFF:POKEI,0:NEXT:FORI=&7F31TO&7F60:POKEI,0:NEXT:POKE&7FDF,1:RANDOMIZETIME:P=0:PRINT:PRINT" VOULEZ-VOUS CHARGER UNE ANCIENNE PARTIE (O/N)"
45 X$=INKEY$:X$=UPPER$(X$):IFX$<>"N"ANDX$<>"O"THEN45
60 IFX$="N"THEN90
70 CLS:PRINT:PRINT"PREPARER VOTRE PROGRAMME.":CLEAR:LOAD"kikekan.mem",&7EB0:CLEAR:P=1:C=PEEK(&7EB0)+256*PEEK(&7EB1):S=PEEK(&7EB2)
90 GOSUB8000:PRINT#2,"ENERGIE: ";USING"##.#";C/10;:CLS:EVERY150,1GOSUB15000:GOTO102
100 CALL&82B9
102 SA=PEEK(&7FDF):IFSA=10ORSA=15ORSA=22ORSA=54THENPOKE&7F42,1ELSEPOKE&7F42,0
106 IFPEEK(&7F0A)=255ORPEEK(&7F0A)=SATHEN200
108 IFPEEK(&7F42)=0THEN200
110 A=PEEK(&7F39):IFA>1THENA=A-1:POKE(&7F39),A
120 LOCATE#3,3,9:PRINT#3,"Il fait trop sombre":LOCATE#3,4,12:PRINT#3,"pour voir ce lieu":CLS#1:CLS#4:GOTO500
200 POKE&7000,SA:CALL&8304:AD=PEEK(&7000)+256*PEEK(&7001):CLS#4:CLS#1
210 PRINT#4,CHR$(PEEK(AD));:AD=AD+1:IFPEEK(AD)<>0ANDPEEK(AD)<>255THEN210
220 CALL&8100:P=1:G=0:BR=2:CLS#1
310 G=G+1:IFPEEK(&7F00+G)<>SATHEN330
317 IFP=1THENPRINT#1," Ici il y a : ":P=0
324 PRINT#1,O$(G);:IFLEN(O$(G))<>15THENPRINT#1
330 IFG<OTHEN310
340 IFR=1THENR=0:GOTO530
500 GOSUB3400:IFPEEK(&7F31)=1THENN=42:GOSUB2100:GOTO18000
503 IFPEEK(&7F32)=1THENN=43:GOSUB2100:GOTO18000
506 IFPEEK(&7F33)=1ANDPEEK(&7F0A)=255THENN=44:GOSUB2100:GOTO18000
509 IFPEEK(&7F33)=1ANDPEEK(&7F0A)=PEEK(&7FDF)THENN=44:GOSUB2100:GOTO18000
512 IFPEEK(&7F39)=1THENN=45:GOSUB2100:GOTO18000
515 IFPEEK(&7F52)=1ANDPEEK(&7F53)=1ANDPEEK(&7F55)=0THENPOKE&7F55,1:POKE&7F51,1
517 IFPEEK(&7F34)=1THENN=57:GOSUB2100:GOTO18000
519 IFPEEK(&7F36)=1THENN=58:GOSUB2100:GOTO18000
521 IFRND(1)*99<20ANDPEEK(&7F4E)=1ANDPEEK(&7F54)=0THENN=60:GOSUB2100:GOTO18000
523 IFPEEK(&7F1A)=255ANDPEEK(&7F1B)=255ANDPEEK(&7F22)=255THENN=34:GOSUB2000:POKE&7F22,0
530 PRINT">";CHR$(95);:X$="":X=0
531 K$=INKEY$:IFK$=""THEN531
532 IFK$=CHR$(13)THEN541
533 IFK$=CHR$(127)THEN537
534 IFASC(K$)<32ORASC(K$)>126THEN531
535 IFX=37THEN531
536 X$=X$+K$:X=X+1:PRINTCHR$(8);K$;CHR$(95);:GOTO531
537 IFX=0THEN531
538 X=X-1:PRINTCHR$(8);CHR$(8);"_ ";CHR$(8);:X$=LEFT$(X$,X):GOTO531
541 PRINTCHR$(8);" ":X$=" "+X$+" ":X$=UPPER$(X$)
544 DATA" JE "," TU "," DANS "," LE "," LA "," LES "," L'"," AU "," A "," DES "," UN "," UNE "," DE "," PAR "," J'"," DU "," CHEZ "," MA "," MON "," MES "
545 RESTORE544:FORI=1TO20:READA$:K=INSTR(X$,A$):A=LEN(A$):IFK=0THEN560
555 X=LEN(X$):X$=LEFT$(X$,K)+RIGHT$(X$,X-K-A+1):IFINSTR(X$,A$)<>0THENCLS:PRINT"Erreur de syntaxe.":GOTO530
560 NEXTI:I=1:K=1:M$(1)="":M$(2)="":M$(3)=""
565 I=I+1:IFI<=LEN(X$)THEN580
570 IFLEN(M$(K))<4THENM$(K)=M$(K)+" ":GOTO570
575 GOTO600
580 A$=MID$(X$,I,1):IFA$=" "THEN590
585 M$(K)=M$(K)+A$:GOTO565
590 IFLEN(M$(K))<4THENM$(K)=M$(K)+" ":GOTO590
595 K=K+1:IFK<4THEN565
600 FORI=1TO3:N$(I)=LEFT$(M$(I),4):NEXT:IFN$(1)="AVAN"THENN$(1)=N$(2):N$(2)="":M$(1)=M$(2):M$(2)=""
615 IFN$(2)="SOUP"ANDN$(3)<>" "THENN$(2)=N$(3):M$(2)=M$(3)
620 IFN$(1)="REGA"THENR=1:GOTO100
625 IFN$(1)="SAVE"THEN12000
630 IFN$(1)="FIN "ORN$(1)="QUIT"THEN19000
635 FORI=1TO4:POKE&6FFF+I,ASC(MID$(N$(1),I,1)):NEXT:CALL&81C0:IFPEEK(&7004)=255THENPRINT"Je ne comprends pas ";M$(1):GOTO530
640 POKE&80FA,PEEK(&7004):IFN$(2)=""ORN$(2)=" "THENPOKE&80FB,0:GOTO655
645 FORI=1TO4:POKE&6FFF+I,ASC(MID$(N$(2),I,1)):NEXT:CALL&81C0:IFPEEK(&7004)=255THENPRINT"Je ne comprends pas ";M$(2):GOTO530
650 POKE&80FB,PEEK(&7004)
655 IFPEEK(&80FA)>9THEN1000
910 Z=1:SA=PEEK(&7FDF):T=PEEK(&80FA):T$=MID$(STR$(T),2,1)
920 K$=MID$(MO$(SA),Z,1):IFK$="0"THEN1000
930 IFK$<>T$THEN970ELSESA=VAL(MID$(MO$(SA),Z+1,2)):POKE&7FDF,SA:GOTO100
970 Z=Z+3:GOTO920
1000 CALL&81E7:IFPEEK(&7000)<>0THEN1700
1010 PRINT"IMPOSSIBLE";:IFPEEK(&80FA)<9THENPRINT" DE PRENDRE CETTE DIRECTION."ELSEPRINT"."
1020 GOTO500:PY=23:CO=12
1700 E$="":N=&7000:E=1
1705 E$=E$+CHR$(PEEK(N)):N=N+1:IFPEEK(N)<>255THEN1705
1707 E$=E$+"00"
1710 L=ASC(MID$(E$,E,1))-64:BR=0:N=VAL(MID$(E$,E+1,2)):ONLGOSUB1800,1900,2000,2100,2200,2300,2400,2500,2600,2700,2800,2900,3000,3100,3200,3300:ONBRGOTO100,500,530,18000:E=E+3:GOTO1710
1800 G=0:H=0:BR=2:CLS#1:PRINT#1,"Vous possedez :"
1810 G=G+1:IFPEEK(&7F00+G)=255THENH=1:PRINT#1,O$(G);ELSE1830
1820 IFLEN(O$(G))<>15THENPRINT#1
1830 IFG<OTHEN1810
1840 IFH=0THENPRINT#1:PRINT#1,"LA VIE SAUVE..!"
1850 RETURN
1900 IFPEEK(&7F00+N)=255THEN1940
1910 IFS>5THENPRINT"Vous n'etes pas HULK, vous ne pouvez porter tant.":BR=2:RETURN
1930 POKE&7F00+N,255:S=S+1:RETURN
1940 PRINT"Vous avez deja cela !":BR=2:RETURN
2000 IFPEEK(&7F00+N)=255THEN2030
2010 PRINT"Vous ne pouvez poser ce que vous ne posseder pas.":BR=2:RETURN
2030 POKE&7F00+N,PEEK(&7FDF):S=S-1:RETURN
2100 POKE&7000,N:CALL&8318:Z=PEEK(&7000)+256*PEEK(&7001)
2110 PRINTCHR$(PEEK(Z));:Z=Z+1:IFPEEK(Z)<>0ANDPEEK(Z)<>255THEN2110ELSEPRINT
2115 IFN=51THEN20000ELSERETURN
2200 POKE&7F40+N,1:RETURN
2300 POKE&7F40+N,0:RETURN
2400 E=E+2:POKE&7F30+N,VAL(MID$(E$,E+1,2)):RETURN
2500 POKE&7F00+N,0:RETURN
2600 POKE&7FDF,N:RETURN
2700 PRINT"D'accord.":BR=2:RETURN
2800 BR=2:RETURN
2900 BR=3:RETURN
3000 BR=1:RETURN
3100 BR=4:RETURN
3200 POKE&7F00+N,PEEK(&7FDF):RETURN
3300 BR=1:POKE&7FCA,203:POKE&7FCB,152:R=1:POKE&7EC0+53,0:RETURN
3400 A=PEEK(&7F31):IFA>1THENA=A-1:POKE(&7F31),A
3405 A=PEEK(&7F32):IFA>1THENA=A-1:POKE(&7F32),A
3410 A=PEEK(&7F34):IFA>1THENA=A-1:POKE(&7F34),A
3415 A=PEEK(&7F36):IFA>1THENA=A-1:POKE(&7F36),A
3420 IFPEEK(&7F0A)<>PEEK(&7FDF)ANDPEEK(&7F0A)<>255THENRETURN
3425 A=PEEK(&7F33):IFA>1THENA=A-1:POKE(&7F33),A
3430 RETURN
8000 IFP=0THEN8003
8001 RESTORE8010:O=37:DIMO$(O):FORN=1TOO:READK,O$(N):NEXT:GOTO8110
8003 RESTORE8010:O=37:DIMO$(O):FORN=1TOO:READK,O$(N):POKE&7F00+N,K:NEXT
8010 DATA2,Une batterie,0,Une batterie branchee,0,x,0,x,14,Un seau,0,Un seau plein de sable,0,Un seau plein d'eau,19,Une lampe,0,Une lampe avec une ampoule,0,Une lampe al- lumee
8020 DATA20,Une fiole,0,Une clef,18,Une bouteille,15,Un livre,17,Un passe par- tout,26,Un tournevis,27,Un delta-plane,28,Une echelle de corde,33,Un tube de colle,34,Une ampoule
8030 DATA35,Une boite,0,Des debris de verre,47,Un masque a gaz,47,De la quinine,47,Une aspirine,46,Des espadrilles,44,Une robe,50,Un portefeuille,50,Une broche,49,Un harnais
8040 DATA54,Une bombe insecticide,42,Une hache,45,Un pot de creme,0,Une liasse de billets,0,Vos chaussures,0,x,40,Un maillet
8110 M=58:DIMMO$(M):FORN=1TOM:READMO$(N):NEXT:DATA4023046050,3010,X,4013130,5014083070,X,4053150,3050
8130 DATA6124103110,3090,4093220,5091250,4043140,4133160
8140 DATA4071213200,4141193170,4160,0,2160,4150,2150
8150 DATA4111243230,4220,1272220,2123260,4253270,4262240
8160 DATA4291302323310,3280,2280,4282350,1282330,1320,3290
8170 DATA1310,1373100,2361383484390,1412374407520,1403370
8180 DATA3382390,2380,9370,0,9360,9360,9390,9390,4373507490
8190 DATA9480,1514480,2500,9380,2560,3560,4563570
8200 DATA1533552514549510,4550,1570
8250 IFP=1THENRETURN
8300 FORI=1TO58:POKE&7F60+I*2,PEEK(&4C02+I*2):POKE&7F61+I*2,PEEK(&4C03+I*2):NEXT:RETURN
10400 INK2,15,2:INK3,2,15:SPEEDINK1,1:PEN2:PRINT" × Ö Ö × Ö <20><>Ô × Ö Ö<>× × <20> × Ö Ö<>× Ö ":PEN3:PRINT" <20>ÖÔ <20> <20>ÖÔ <20> <20>ÖÔ <20> <20> <20>×<EFBFBD> <20>ÖÔ <20> <20> <20> ":PEN2:PRINT" <20><> <20> <20><> <20><> <20><> <20><><EFBFBD> <20><><EFBFBD> <20><> <20> <20> <20> ":PEN3:PRINT" <20>Õ× <20> <20>Õ× <20> <20>Õ× <20> <20> <20>Õ<EFBFBD> <20>Õ× <20> <20> <20> ":PEN2
10540 PRINT" Ô Õ Õ Ô Õ <20><>× Ô Õ Ô Õ <20> Õ Ô Õ Õ<>Ô Õ ":PEN1:RETURN
12000 PRINT"ETES-VOUS SUR (O/N) ?"
12010 A$=INKEY$:A$=UPPER$(A$):IFA$<>"N"ANDA$<>"O"THEN12010
12020 IFA$="N"THEN500
12030 CLS:A=REMAIN(1):PRINT:PRINT"PREPARER VOTRE CASSETTE:":POKE&7EB0,C-INT(C/256)*256:POKE&7EB1,INT(C/256):POKE&7EB2,S:CLEAR:SAVE"kikekan.mem",B,&7EB0,304:GOTO19000
15000 C=C-3.3:PRINT#2,"ENERGIE: ";USING"##.#";C/10;:IFC>250THENRETURN
15020 CLS:PRINT"Voyant que vous etiez deja au 3/4 epuisevous avez prefere vous suicider pour ne pas souffrir...":GOTO18000
18000 A=REMAIN(1):CALL&82B9:CLS#1:CLS#4:CLS#2:PRINT#4," Ah! Une vieille connaissance..!":LOCATE#1,2,8:PRINT#1,"Ah! Ah! Ah!":POKE&7FDF,3:CALL&8100:FORI=&831DTO&85B5STEP7:D=40/45*PEEK(I+6):SOUND1,PEEK(I)+PEEK(I+1)*256,D,5
18100 SOUND4,PEEK(I+4)+256*PEEK(I+5),D,6:IFPEEK(I+2)<>0THENSOUND2,PEEK(I+2)+256*PEEK(I+3),D,5ELSESOUND2,1,D,5
18120 IFINKEY$=CHR$(13)THENI=&85B5
18130 NEXT
19000 CLS:PRINT:PRINT"VOULEZ VOUS REJOUER (O/N) ?":A=1
19010 A$=INKEY$:IFA$=""THENA=A+1:IFA=2500THEN19100
19020 A$=UPPER$(A$):IFA$<>"N"ANDA$<>"O"THEN19010
19030 IFA$="N"THENSTOP
19040 CLEAR:MEMORY&37BF:GOTO15
19100 CLS:PRINT:PRINT"Il faudrait vous reveiller!":FORI=200TO60STEP-2:SOUND7,I,1,5:NEXT:FORI=60TO200STEP2:SOUND7,I,1,5:NEXT:GOTO19000
20000 SPEEDINK5,5:BORDER20,17:FORI=1TO2000:NEXT:CLS:A=REMAIN(1):PEN#1,2:CALL&82B9:CLS#1:CLS#4:CLS#2:PRINT#4,"Ils vecurent heureux, et ils eurent....";:LOCATE#1,1,5:PRINT#1,"C'est la que":PRINT#1:PRINT#1:PRINT#1,"l'on reconnait ":PRINT#1
20020 PRINT#1,"un PRO (!) des ":PRINT#1:PRINT#1,"Jeux d'Aventure":POKE&7FDF,6:CALL&8100:FORI=&85B6TO&8775STEP7:D=PEEK(I+6):SOUND4,PEEK(I)+PEEK(I+1)*256,D,5:IFPEEK(I+2)<>0THENSOUND2,PEEK(I+2)+256*PEEK(I+3),D,5ELSESOUND2,1,D,5
20120 IFPEEK(I+4)<>0THENSOUND1,PEEK(I+4)+256*PEEK(I+5),D,5ELSESOUND1,1,D,5
20130 NEXT:GOTO19000

Binary file not shown.

View File

@ -0,0 +1,418 @@
; EQU:
; Data addresses used by the opcodes that point to uninitialized memory areas.
DATA01: equ 7000h ; 28672. Data accessed by: 8193h(in SUB05)
DATA02: equ 7001h ; 28673. Data accessed by: 8198h(in SUB05)
SUB07: equ BBDEh ; 48094. Subroutine. Called by: SUB05[8122h].
SUB08: equ BBEAh ; 48106. Subroutine. Called by: SUB05[8175h].
SUB09: equ BBF6h ; 48118. Subroutine. Called by: SUB05[8160h].
SUB10: equ BC32h ; 48178. Subroutine. Called by: SUB05[813Eh], SUB05[8147h].
org 7FD0h; 7FD0h
; Data not accessed.
7FD0 BIN_START_7FD0:
7FD0 defb 00h ; 0
7FD1 defb 00h ; 0
7FD2 defb 00h ; 0
7FD3 defb 00h ; 0
7FD4 defb 00h ; 0
7FD5 defb 00h ; 0
7FD6 defb 00h ; 0
7FD7 defb 00h ; 0
7FD8 defb 00h ; 0
7FD9 defb 00h ; 0
7FDA defb 80h ; 128, -128
7FDB defb 83h ; 131, -125
7FDC defb 10h ; 16
7FDD defb 8Ch ; 140, -116
7FDE defb 00h ; 0
; Data accessed by:
; 8100h(in SUB05)
7FDF DATA03:
7FDF defb 3Dh ; 61, '='
7FE0 defb 77h ; 119, 'w'
7FE1 defb BBh ; 187, -69
7FE2 defb DDh ; 221, -35
7FE3 defb EEh ; 238, -18
7FE4 defb 80h ; 128, -128
7FE5 defb 40h ; 64, '@'
7FE6 defb 20h ; 32, ' '
7FE7 defb 10h ; 16
7FE8 defb 08h ; 8
7FE9 defb 04h ; 4
7FEA defb 02h ; 2
7FEB defb 01h ; 1
; Data accessed by:
; 800Eh(in SUB02), 80E1h(in SUB04)
7FEC DATA04:
7FEC defb E4h ; 228, -28
7FED defb 7Fh ; 127
7FEE defb 00h ; 0
7FEF defb 00h ; 0
; Data accessed by:
; 80C2h(in SUB04)
7FF0 DATA05:
7FF0 defb 13h ; 19
; Data accessed by:
; 80CFh(in SUB04)
7FF1 DATA06:
7FF1 defb 03h ; 3
7FF2 defb 01h ; 1
7FF3 defb 01h ; 1
7FF4 defb 88h ; 136, -120
7FF5 defb 44h ; 68, 'D'
7FF6 defb 22h ; 34, '"'
7FF7 defb 11h ; 17
7FF8 defb 00h ; 0
7FF9 defb 00h ; 0
; Data accessed by:
; 8007h(in SUB02), 8045h(in SUB02), 8063h(in SUB02), 806Fh(in SUB02)
7FFA DATA07:
7FFA defb 02h ; 2
7FFB defb 70h ; 112, 'p'
7FFC defb 00h ; 0
7FFD defb 00h ; 0
; Data accessed by:
; 8181h(in SUB05), 800Bh(in SUB02), 8077h(in SUB02), 807Eh(in SUB02)
7FFE DATA08:
7FFE defb E4h ; 228, -28
; Data accessed by:
; 818Eh(in SUB05), 807Bh(in SUB02), 8082h(in SUB02)
7FFF DATA09:
7FFF defb E4h ; 228, -28
; Subroutine: Size=7, CC=1.
; Called by: SUB05[819Bh].
; Calls: SUB02.
8000 SUB01:
8000 di
8001 ld hl,7000h ; 28672
8004 ld de,7002h ; 28674
; Subroutine: Size=122, CC=9.
; Called by: SUB01[8004h].
; Calls: SUB03, SUB04.
8007 SUB02:
8007 ld (DATA07),de ; 7FFAh
800B ld a,(DATA08) ; 7FFEh
800E ld (DATA04),a ; 7FECh
8011 .sub02_loop:
8011 ld b,(hl)
8012 inc hl
8013 ld c,(hl)
8014 inc b
8015 call SUB04 ; 8088h
8018 cp 00h ; 0
801A jr nz,.sub02_l1 ; 801Fh
801C call SUB03 ; 805Bh
801F .sub02_l1:
801F dec b
8020 dec b
8021 call SUB04 ; 8088h
8024 cp 00h ; 0
8026 jr nz,.sub02_l2 ; 802Bh
8028 call SUB03 ; 805Bh
802B .sub02_l2:
802B inc b
802C inc c
802D call SUB04 ; 8088h
8030 cp 00h ; 0
8032 jr nz,.sub02_l3 ; 8037h
8034 call SUB03 ; 805Bh
8037 .sub02_l3:
8037 dec c
8038 dec c
8039 call SUB04 ; 8088h
803C cp 00h ; 0
803E jr nz,.sub02_l4 ; 8043h
8040 call SUB03 ; 805Bh
8043 .sub02_l4:
8043 inc hl
8044 ld a,h
8045 ld bc,(DATA07) ; 7FFAh
8049 cp b
804A jp nz,.sub02_loop ; 8011h
804D ld a,l
804E cp c
804F jp nz,.sub02_loop ; 8011h
8052 cp e
8053 jr nz,.sub02_l5 ; 8062h
8055 ld a,h
8056 cp d
8057 jr nz,.sub02_l5 ; 8062h
8059 ei
805A ret
; Subroutine: Size=7, CC=1.
; Called by: SUB02[801Ch], SUB02[8028h], SUB02[8034h], SUB02[8040h].
; Calls: -
805B SUB03:
805B ld a,b
805C ld (de),a
805D inc de
805E ld a,c
805F ld (de),a
8060 inc de
8061 ret
8062 .sub02_l5:
8062 ex de,hl
8063 ld de,(DATA07) ; 7FFAh
8067 and a
8068 sbc hl,de
806A push hl
806B pop bc
806C ld de,7000h ; 28672
806F ld hl,(DATA07) ; 7FFAh
8072 ldir
8074 ld hl,7000h ; 28672
8077 ld a,(DATA08) ; 7FFEh
807A push af
807B ld a,(DATA09) ; 7FFFh
807E ld (DATA08),a ; 7FFEh
8081 pop af
8082 ld (DATA09),a ; 7FFFh
8085 jp SUB02 ; 8007h
; Subroutine: Size=106, CC=2.
; Called by: SUB02[8015h], SUB02[8021h], SUB02[802Dh], SUB02[8039h].
; Calls: -
8088 SUB04:
8088 push hl
8089 push de
808A push bc
808B ld hl,7FF0h ; 32752
808E ld a,b
808F srl b
8091 srl b
8093 ld (hl),b
8094 and 03h ; 3
8096 inc hl
8097 ld (hl),a
8098 ld a,c
8099 and 07h ; 7
809B inc hl
809C ld b,a
809D ld (hl),a
809E inc hl
809F srl c
80A1 srl c
80A3 srl c
80A5 ld (hl),c
80A6 ld de,0800h ; 2048
80A9 ld hl,FFD0h ; 65488, -48
80AC inc b
80AD and a
80AE .sub04_loop1:
80AE sbc hl,de
80B0 djnz .sub04_loop1 ; 80AEh
80B2 add hl,de
80B3 push hl
80B4 ld de,0050h ; 80
80B7 ld hl,7FF3h ; 32755
80BA ld b,(hl)
80BB pop hl
80BC inc b
80BD and a
80BE .sub04_loop2:
80BE sbc hl,de
80C0 djnz .sub04_loop2 ; 80BEh
80C2 ld bc,(DATA05) ; 7FF0h
80C6 ld b,00h ; 0
80C8 add hl,bc
80C9 ld a,(hl)
80CA push hl
80CB push af
80CC ld hl,7FF4h ; 32756
80CF ld bc,(DATA06) ; 7FF1h
80D3 ld b,00h ; 0
80D5 add hl,bc
80D6 and (hl)
80D7 jp nz,.sub04_l ; 80EDh
80DA ld d,a
80DB pop af
80DC ld hl,7FE0h ; 32736
80DF add hl,bc
80E0 and (hl)
80E1 ld hl,(DATA04) ; 7FECh
80E4 add hl,bc
80E5 or (hl)
80E6 pop hl
80E7 ld (hl),a
80E8 ld a,d
80E9 .sub04_loop3:
80E9 pop bc
80EA pop de
80EB pop hl
80EC ret
80ED .sub04_l:
80ED pop bc
80EE pop bc
80EF jp .sub04_loop3 ; 80E9h
80F2 defb 00h ; 0
80F3 defb 00h ; 0
80F4 defb 00h ; 0
80F5 defb 00h ; 0
80F6 defb 00h ; 0
80F7 defb 00h ; 0
80F8 defb 00h ; 0
80F9 defb 00h ; 0
80FA defb 00h ; 0
80FB defb 00h ; 0
80FC defb 00h ; 0
80FD defb 00h ; 0
80FE defb 00h ; 0
80FF defb 00h ; 0
; Subroutine: Size=161, CC=5.
; Called by: -
; Calls: SUB01, SUB06, SUB07, SUB08, SUB09, SUB10.
8100 SUB05:
8100 ld a,(DATA03) ; 7FDFh
8103 add a,a
8104 add a,60h ; 96, '`'
8106 ld e,a
8107 ld d,7Fh ; 127
8109 ld a,(de)
810A ld l,a
810B inc de
810C ld a,(de)
810D ld h,a
810E .sub05_loop1:
810E ld a,(hl)
810F cp 00h ; 0
8111 ret z
8112 push hl
8113 push af
8114 and C0h ; 192, -64
8116 srl a
8118 srl a
811A srl a
811C srl a
811E srl a
8120 srl a
8122 call SUB07 ; BBDEh
8125 pop af
8126 push af
8127 and 30h ; 48, '0'
8129 pop de
812A ld a,d
812B jp nz,.sub05_l3 ; 817Bh
812E srl a
8130 jp c,.sub05_l1 ; 8151h
8133 srl a
8135 jp c,.sub05_l2 ; 8166h
8138 inc hl
8139 ld b,(hl)
813A ld c,b
813B ld a,02h ; 2
813D push hl
813E call SUB10 ; BC32h
8141 pop hl
8142 inc hl
8143 ld b,(hl)
8144 ld c,b
8145 ld a,03h ; 3
8147 call SUB10 ; BC32h
814A .sub05_loop2:
814A pop hl
814B inc hl
814C inc hl
814D inc hl
814E jp .sub05_loop1 ; 810Eh
8151 .sub05_l1:
8151 inc hl
8152 push hl
8153 ld a,(hl)
8154 ld h,00h ; 0
8156 ld l,a
8157 add hl,hl
8158 ex de,hl
8159 pop hl
815A inc hl
815B ld a,(hl)
815C ld h,00h ; 0
815E ld l,a
815F add hl,hl
8160 call SUB09 ; BBF6h
8163 jp .sub05_loop2 ; 814Ah
8166 .sub05_l2:
8166 inc hl
8167 push hl
8168 ld a,(hl)
8169 ld h,00h ; 0
816B ld l,a
816C add hl,hl
816D ex de,hl
816E pop hl
816F inc hl
8170 ld a,(hl)
8171 ld h,00h ; 0
8173 ld l,a
8174 add hl,hl
8175 call SUB08 ; BBEAh
8178 jp .sub05_loop2 ; 814Ah
817B .sub05_l3:
817B push af
817C and C0h ; 192, -64
817E call SUB06 ; 81A1h
8181 ld (DATA08),a ; 7FFEh
8184 pop af
8185 and 30h ; 48, '0'
8187 sla a
8189 sla a
818B call SUB06 ; 81A1h
818E ld (DATA09),a ; 7FFFh
8191 inc hl
8192 ld a,(hl)
8193 ld (DATA01),a ; 7000h
8196 inc hl
8197 ld a,(hl)
8198 ld (DATA02),a ; 7001h
819B call SUB01 ; 8000h
819E jp .sub05_loop2 ; 814Ah
; Subroutine: Size=19, CC=3.
; Called by: SUB05[817Eh], SUB05[818Bh].
; Calls: -
81A1 SUB06:
81A1 cp 40h ; 64, '@'
81A3 jp nz,.sub06_l1 ; 81A9h
81A6 ld a,E4h ; 228, -28
81A8 ret
81A9 .sub06_l1:
81A9 cp 80h ; 128, -128
81AB jp nz,.sub06_l2 ; 81B1h
81AE ld a,E8h ; 232, -24
81B0 ret
81B1 .sub06_l2:
81B1 ld a,F4h ; 244, -12
81B3 ret
; ...
; ...
; ...

View File

@ -0,0 +1,418 @@
; EQU:
; Data addresses used by the opcodes that point to uninitialized memory areas.
DATA01: equ 7000h ; 28672. Data accessed by: 8193h(in SUB05)
DATA02: equ 7001h ; 28673. Data accessed by: 8198h(in SUB05)
SETPEN: equ BBDEh ; 48094. Subroutine. Called by: SUB05[8122h]. SET PEN
PLOT: equ BBEAh ; 48106. Subroutine. Called by: SUB05[8175h]. PLOT
LINEABS: equ BBF6h ; 48118. Subroutine. Called by: SUB05[8160h]. LINE ABSOLUTE
SETINK: equ BC32h ; 48178. Subroutine. Called by: SUB05[813Eh], SUB05[8147h]. SET INK
org 7FD0h; 7FD0h
; Data not accessed.
7FD0 BIN_START_7FD0:
7FD0 defb 00h ; 0
7FD1 defb 00h ; 0
7FD2 defb 00h ; 0
7FD3 defb 00h ; 0
7FD4 defb 00h ; 0
7FD5 defb 00h ; 0
7FD6 defb 00h ; 0
7FD7 defb 00h ; 0
7FD8 defb 00h ; 0
7FD9 defb 00h ; 0
7FDA defb 80h ; 128, -128 8380
7FDB defb 83h ; 131, -125
7FDC defb 10h ; 16 8C10
7FDD defb 8Ch ; 140, -116
7FDE defb 00h ; 0
; Data accessed by:
; 8100h(in SUB05)
7FDF DATA03:
7FDF defb 3Dh ; 61, '='
7FE0 defb 77h ; 119, 'w'
7FE1 defb BBh ; 187, -69
7FE2 defb DDh ; 221, -35
7FE3 defb EEh ; 238, -18
7FE4 defb 80h ; 128, -128
7FE5 defb 40h ; 64, '@'
7FE6 defb 20h ; 32, ' '
7FE7 defb 10h ; 16
7FE8 defb 08h ; 8
7FE9 defb 04h ; 4
7FEA defb 02h ; 2
7FEB defb 01h ; 1
; Data accessed by:
; 800Eh(in SUB02), 80E1h(in SUB04)
7FEC DATA04:
7FEC defb E4h ; 228, -28
7FED defb 7Fh ; 127
7FEE defb 00h ; 0
7FEF defb 00h ; 0
; Data accessed by:
; 80C2h(in SUB04)
7FF0 DATA05:
7FF0 defb 13h ; 19
; Data accessed by:
; 80CFh(in SUB04)
7FF1 DATA06:
7FF1 defb 03h ; 3
7FF2 defb 01h ; 1
7FF3 defb 01h ; 1
7FF4 defb 88h ; 136, -120
7FF5 defb 44h ; 68, 'D'
7FF6 defb 22h ; 34, '"'
7FF7 defb 11h ; 17
7FF8 defb 00h ; 0
7FF9 defb 00h ; 0
; Data accessed by:
; 8007h(in SUB02), 8045h(in SUB02), 8063h(in SUB02), 806Fh(in SUB02)
7FFA DATA07:
7FFA defb 02h ; 2
7FFB defb 70h ; 112, 'p'
7FFC defb 00h ; 0
7FFD defb 00h ; 0
; Data accessed by:
; 8181h(in SUB05), 800Bh(in SUB02), 8077h(in SUB02), 807Eh(in SUB02)
7FFE DATA08:
7FFE defb E4h ; 228, -28
; Data accessed by:
; 818Eh(in SUB05), 807Bh(in SUB02), 8082h(in SUB02)
7FFF DATA09:
7FFF defb E4h ; 228, -28
; Subroutine: Size=7, CC=1.
; Called by: SUB05[819Bh].
; Calls: SUB02.
8000 SUB01:
8000 di
8001 ld hl,7000h ; 28672
8004 ld de,7002h ; 28674
; Subroutine: Size=122, CC=9.
; Called by: SUB01[8004h].
; Calls: SUB03, SUB04.
8007 SUB02:
8007 ld (DATA07),de ; 7FFAh
800B ld a,(DATA08) ; 7FFEh
800E ld (DATA04),a ; 7FECh
8011 .sub02_loop:
8011 ld b,(hl)
8012 inc hl
8013 ld c,(hl)
8014 inc b
8015 call SUB04 ; 8088h
8018 cp 00h ; 0
801A jr nz,.sub02_l1 ; 801Fh
801C call SUB03 ; 805Bh
801F .sub02_l1:
801F dec b
8020 dec b
8021 call SUB04 ; 8088h
8024 cp 00h ; 0
8026 jr nz,.sub02_l2 ; 802Bh
8028 call SUB03 ; 805Bh
802B .sub02_l2:
802B inc b
802C inc c
802D call SUB04 ; 8088h
8030 cp 00h ; 0
8032 jr nz,.sub02_l3 ; 8037h
8034 call SUB03 ; 805Bh
8037 .sub02_l3:
8037 dec c
8038 dec c
8039 call SUB04 ; 8088h
803C cp 00h ; 0
803E jr nz,.sub02_l4 ; 8043h
8040 call SUB03 ; 805Bh
8043 .sub02_l4:
8043 inc hl
8044 ld a,h
8045 ld bc,(DATA07) ; 7FFAh
8049 cp b
804A jp nz,.sub02_loop ; 8011h
804D ld a,l
804E cp c
804F jp nz,.sub02_loop ; 8011h
8052 cp e
8053 jr nz,.sub02_l5 ; 8062h
8055 ld a,h
8056 cp d
8057 jr nz,.sub02_l5 ; 8062h
8059 ei
805A ret
; Subroutine: Size=7, CC=1.
; Called by: SUB02[801Ch], SUB02[8028h], SUB02[8034h], SUB02[8040h].
; Calls: -
805B SUB03:
805B ld a,b
805C ld (de),a
805D inc de
805E ld a,c
805F ld (de),a
8060 inc de
8061 ret
8062 .sub02_l5:
8062 ex de,hl
8063 ld de,(DATA07) ; 7FFAh
8067 and a
8068 sbc hl,de
806A push hl
806B pop bc
806C ld de,7000h ; 28672
806F ld hl,(DATA07) ; 7FFAh
8072 ldir
8074 ld hl,7000h ; 28672
8077 ld a,(DATA08) ; 7FFEh
807A push af
807B ld a,(DATA09) ; 7FFFh
807E ld (DATA08),a ; 7FFEh
8081 pop af
8082 ld (DATA09),a ; 7FFFh
8085 jp SUB02 ; 8007h
; Subroutine: Size=106, CC=2.
; Called by: SUB02[8015h], SUB02[8021h], SUB02[802Dh], SUB02[8039h].
; Calls: -
8088 SUB04:
8088 push hl
8089 push de
808A push bc
808B ld hl,7FF0h ; 32752
808E ld a,b
808F srl b
8091 srl b
8093 ld (hl),b
8094 and 03h ; 3
8096 inc hl
8097 ld (hl),a
8098 ld a,c
8099 and 07h ; 7
809B inc hl
809C ld b,a
809D ld (hl),a
809E inc hl
809F srl c
80A1 srl c
80A3 srl c
80A5 ld (hl),c
80A6 ld de,0800h ; 2048
80A9 ld hl,FFD0h ; 65488, -48
80AC inc b
80AD and a
80AE .sub04_loop1:
80AE sbc hl,de
80B0 djnz .sub04_loop1 ; 80AEh
80B2 add hl,de
80B3 push hl
80B4 ld de,0050h ; 80
80B7 ld hl,7FF3h ; 32755
80BA ld b,(hl)
80BB pop hl
80BC inc b
80BD and a
80BE .sub04_loop2:
80BE sbc hl,de
80C0 djnz .sub04_loop2 ; 80BEh
80C2 ld bc,(DATA05) ; 7FF0h
80C6 ld b,00h ; 0
80C8 add hl,bc
80C9 ld a,(hl)
80CA push hl
80CB push af
80CC ld hl,7FF4h ; 32756
80CF ld bc,(DATA06) ; 7FF1h
80D3 ld b,00h ; 0
80D5 add hl,bc
80D6 and (hl)
80D7 jp nz,.sub04_l ; 80EDh
80DA ld d,a
80DB pop af
80DC ld hl,7FE0h ; 32736
80DF add hl,bc
80E0 and (hl)
80E1 ld hl,(DATA04) ; 7FECh
80E4 add hl,bc
80E5 or (hl)
80E6 pop hl
80E7 ld (hl),a
80E8 ld a,d
80E9 .sub04_loop3:
80E9 pop bc
80EA pop de
80EB pop hl
80EC ret
80ED .sub04_l:
80ED pop bc
80EE pop bc
80EF jp .sub04_loop3 ; 80E9h
80F2 defb 00h ; 0
80F3 defb 00h ; 0
80F4 defb 00h ; 0
80F5 defb 00h ; 0
80F6 defb 00h ; 0
80F7 defb 00h ; 0
80F8 defb 00h ; 0
80F9 defb 00h ; 0
80FA defb 00h ; 0
80FB defb 00h ; 0
80FC defb 00h ; 0
80FD defb 00h ; 0
80FE defb 00h ; 0
80FF defb 00h ; 0
; Subroutine: Size=161, CC=5.
; Called by: -
; Calls: SUB01, SUB06, SETPEN, PLOT, LINEABS, SETINK.
8100 SUB05:
8100 ld a,(DATA03) ; 7FDFh
8103 add a,a
8104 add a,60h ; 96, '`'
8106 ld e,a
8107 ld d,7Fh ; 127
8109 ld a,(de)
810A ld l,a
810B inc de
810C ld a,(de)
810D ld h,a
810E .sub05_loop1:
810E ld a,(hl)
810F cp 00h ; 0
8111 ret z
8112 push hl
8113 push af
8114 and C0h ; 192, -64
8116 srl a
8118 srl a
811A srl a
811C srl a
811E srl a
8120 srl a
8122 call SETPEN ; BBDEh
8125 pop af
8126 push af
8127 and 30h ; 48, '0'
8129 pop de
812A ld a,d
812B jp nz,.sub05_l3 ; 817Bh jump if non-zero
812E srl a
8130 jp c,.sub05_l1 ; 8151h jump if bit 0 - A
8133 srl a
8135 jp c,.sub05_l2 ; 8166h jump is bit 1 - B
8138 inc hl
8139 ld b,(hl)
813A ld c,b
813B ld a,02h ; 2
813D push hl
813E call SETINK ; BC32h
8141 pop hl
8142 inc hl
8143 ld b,(hl)
8144 ld c,b
8145 ld a,03h ; 3
8147 call SETINK ; BC32h
814A .sub05_loop2:
814A pop hl
814B inc hl
814C inc hl
814D inc hl
814E jp .sub05_loop1 ; 810Eh
8151 .sub05_l1:
8151 inc hl
8152 push hl
8153 ld a,(hl)
8154 ld h,00h ; 0
8156 ld l,a
8157 add hl,hl
8158 ex de,hl
8159 pop hl
815A inc hl
815B ld a,(hl)
815C ld h,00h ; 0
815E ld l,a
815F add hl,hl
8160 call LINEABS ; BBF6h
8163 jp .sub05_loop2 ; 814Ah
8166 .sub05_l2:
8166 inc hl
8167 push hl
8168 ld a,(hl)
8169 ld h,00h ; 0
816B ld l,a
816C add hl,hl
816D ex de,hl
816E pop hl
816F inc hl
8170 ld a,(hl)
8171 ld h,00h ; 0
8173 ld l,a
8174 add hl,hl
8175 call PLOT ; BBEAh
8178 jp .sub05_loop2 ; 814Ah
817B .sub05_l3:
817B push af
817C and C0h ; 192, -64
817E call SUB06 ; 81A1h
8181 ld (DATA08),a ; 7FFEh
8184 pop af
8185 and 30h ; 48, '0'
8187 sla a
8189 sla a
818B call SUB06 ; 81A1h
818E ld (DATA09),a ; 7FFFh
8191 inc hl
8192 ld a,(hl)
8193 ld (DATA01),a ; 7000h
8196 inc hl
8197 ld a,(hl)
8198 ld (DATA02),a ; 7001h
819B call SUB01 ; 8000h
819E jp .sub05_loop2 ; 814Ah
; Subroutine: Size=19, CC=3.
; Called by: SUB05[817Eh], SUB05[818Bh].
; Calls: -
81A1 SUB06:
81A1 cp 40h ; 64, '@'
81A3 jp nz,.sub06_l1 ; 81A9h
81A6 ld a,E4h ; 228, -28
81A8 ret
81A9 .sub06_l1:
81A9 cp 80h ; 128, -128
81AB jp nz,.sub06_l2 ; 81B1h
81AE ld a,E8h ; 232, -24
81B0 ret
81B1 .sub06_l2:
81B1 ld a,F4h ; 244, -12
81B3 ret
; ...
; ...
; ...

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.