;----------------------------------------------------------------------------- ; rolevels.inc ; Part of manic miner, the zx spectrum game, made for Apple II ; ; Stefan Wessels, 2020 ; This is free and unencumbered software released into the public domain. ;----------------------------------------------------------------------------- ROLEVELS data using LOWMEM level_01 anop dc h'1A4014601E602F40F204FF002F40F204' dc h'F700135013502D41417148712F40F204' dc h'3F10C204F1003140195024413F035330' dc h'2F40D2012F40F204B105730453712440' dc h'FB102F40F204FF110104' dc h'00' level_02 anop dc h'1F403E04FE001264FF002F4053071610' dc h'2F40F204F41181042204F50041142174' dc h'22041517F300124012402F4091042174' dc h'22048701910421742204F30042701247' dc h'124022404F30310421742204D4017104' dc h'217422047407F4002F40F204FF110104' dc h'00' level_03 anop dc h'19401760182013602F402106C204FF00' dc h'2F40F204FF002441FB772F40F2046F10' dc h'54012142FE0021424603F4002142F800' dc h'62141C605C1024406F105204F500A214' dc h'FF002F41F114' dc h'00' level_04 anop dc h'16401660F444FF002F40F204F3006610' dc h'2F40B401214151019101D204B2017301' dc h'72043F70C2046201F20032102F402301' dc h'A2043F30B1012B403710361025402F10' dc h'14603214F2002B102F40F204FF110104' dc h'00' level_05 anop dc h'1F404106A204FF002F40F204FF002F40' dc h'81056204D41046713204FD002214F500' dc h'19502F402A0332043A01F2002F40F204' dc h'2B714701510127401F40720425101540' dc h'12401D40244012501540124072455204' dc h'7F1417410104' dc h'00' level_06 anop dc h'1F40F204FF002F40F204FF002F405106' dc h'920473014201450152042201B104B301' dc h'2F401E402F40750132042F10D2046901' dc h'19415204F1041D6022401C501B403214' dc h'2403F2017204FF002F41F114' dc h'00' level_07 anop dc h'1D40F444FF002F40F204E2011C471204' dc h'F1001D47264052303114A17622743D10' dc h'12471A072F401104917032741F101547' dc h'17672D403114D274B510114718071267' dc h'2F401104C1702D404547176728403210' dc h'1F401204D104F1002D41F344' dc h'00' level_08 anop dc h'11401760166012401A402F4011042104' dc h'A204E2011B402214F1001D402F401104' dc h'D204351062101241B204F10013404510' dc h'12141301C1049101320473016104D204' dc h'F100154182041A103210194042148201' dc h'6104D2043201B10445014204A3031240' dc h'1241B204D104210451057204FF110104' dc h'00' level_09 anop dc h'12401F40C204FF002F40F204FF002F40' dc h'F204421032108210321022102F40F204' dc h'FD002214220123012803B204F6003210' dc h'22102241FD002F40F204220123012801' dc h'230122012204FD002214FF002F41F114' dc h'00' level_10 anop dc h'1A401160311411061106A214F1044106' dc h'920469101A4042142106C104E204F104' dc h'4A1027401717164082144B101E402F40' dc h'174134702541A104E20417607114C201' dc h'24412970174161062F40164013674204' dc h'7A02D2043F1093012F40F104FF220202' dc h'00' level_11 anop dc h'7C401B602F403105B204FF002441FB00' dc h'2F40F2044601420172215204F8001460' dc h'2214F800166022412203F20014602214' dc h'A90141056204B1066106810122045307' dc h'121016601B502B401F5032142F105301' dc h'5204FF002F41F114' dc h'00' level_12 anop dc h'114017601660134019402F40F204E207' dc h'E204FF002F40F2043510517421046271' dc h'5204D1042104C1012540261012401D40' dc h'22401A10124017406214940112401D40' dc h'25401A101341A204F100174024102641' dc h'A104510541052204A30112401B432204' dc h'D1042104D204D414D114' dc h'00' level_13 anop dc h'FF4432401F20C2042102FC0022401320' dc h'F311240122401F20C2042102FC002240' dc h'1320221042105210421012142102FC00' dc h'22401F20C20421023501230135012401' dc h'22401F20C2042102FC00224013203210' dc h'32104210421022142102FC0022401F20' dc h'C2042F13B2310104' dc h'00' level_14 anop dc h'1F40F204FF002F40F204FF002F40F204' dc h'E1011E20224011126101162011126101' dc h'122026401112E10116202F40F2044101' dc h'162011126101162011122F40F2041112' dc h'61011420643011124204FF0026401112' dc h'F7002F40FF04F344' dc h'00' level_15 anop dc h'1540FC44FD002224FD0022247F031531' dc h'22247106F400126225412105F4001262' dc h'2F4082012106222461074201E1062224' dc h'2201D20181062224F900211012622241' dc h'9201E1052224F200291022244301F201' dc h'42022B402F102224FD002224FF110104' dc h'00' level_16 anop dc h'1F40F204FF002F40F204FF002F40F204' dc h'141014101240174036102A4012402F40' dc h'23401610124038406214A1042404D204' dc h'2F7394302F40F20492042C1014102941' dc h'F6002F40410151014204F70035502F41' dc h'F114' dc h'00' level_17 anop dc h'1F40D404FF002F40F204FF0025401250' dc h'13501250155011501650224172707270' dc h'31702270221421766270727062702274' dc h'92703170327051762207224725072207' dc h'52306270227411072507270726072207' dc h'22472507270712071467220722472407' dc h'1260E370227422705270F2702274FF00' dc h'2F40B4012F41F114' dc h'00' level_18 anop dc h'1F40C1042204FF002F40F204FF002F40' dc h'F204220123012801230124012F40F204' dc h'2F10D204B80123012201220422012301' dc h'F6002F40D2012F40F204220123012801' dc h'2301220122042F10D204FF001F41F211' dc h'00' level_19 anop dc h'3F40D204FF002F40F204FF002F40F204' dc h'2201460197012F40F204F30039102241' dc h'A30187012F40F204F3002A102441F400' dc h'721464033501C204FF004F40D404F511' dc h'17410104' dc h'00' level_20 anop dc h'FF00FF00FF00FF00FB00EF4031042104' dc h'9104F30012401940F54421049204FD00' dc h'2214FF002F4373301470284012501450' dc h'1350165012102241FD0024402F109204' dc h'FF002F41F114' dc h'00' ;----------------------------------------------------------------------------- levelsL anop dc i1<'level_01',i1<'level_02',i1<'level_03',i1<'level_04',i1<'level_05',i1<'level_06' dc i1<'level_07',i1<'level_08',i1<'level_09',i1<'level_10',i1<'level_11',i1<'level_12' dc i1<'level_13',i1<'level_14',i1<'level_15',i1<'level_16',i1<'level_17',i1<'level_18' dc i1<'level_19',i1<'level_20' levelsH anop dc i1>'level_01',i1>'level_02',i1>'level_03',i1>'level_04',i1>'level_05',i1>'level_06' dc i1>'level_07',i1>'level_08',i1>'level_09',i1>'level_10',i1>'level_11',i1>'level_12' dc i1>'level_13',i1>'level_14',i1>'level_15',i1>'level_16',i1>'level_17',i1>'level_18' dc i1>'level_19',i1>'level_20' ;----------------------------------------------------------------------------- ; This table maps tiles (1-8) to tile representations, per level. ; space is 00, floor1 is 1 and collapse is 7 & key is 8. Only 0 through 7 ; encoded in the level data. Key, door and switch added programatically to ; the level. The switch looks the same in both kong levels (only place it ; is present) so it doesn't need/get an entry. The door "tile" isn't seen, ; so isn't rendered. It's below the door sprite for collision purposes only. ; ; floor1, floor2, conveyor, wall, bush, rock, collapse, key - door & switch not here levelTiles anop dc h'31001C1F0D282709' ; Level 1 dc h'31001C1F0D282710' ; Level 2 dc h'2E031E150D052D09' ; Level 3 dc h'31001C1F0D342709' ; Level 4 dc h'3100071F0D132708' ; Level 5 dc h'2F001C1F0D0B3109' ; Level 6 dc h'3100161F0D172609' ; Level 7 dc h'31351D1F0D132714' ; Level 8 dc h'310007180D132709' ; Level 9 dc h'12301C1B0D0F2001' ; Level 10 dc h'3133211A0403270A' ; Level 11 dc h'31351D1F0D132714' ; Level 12 dc h'292307180D133106' ; Level 13 dc h'2C2B072200003119' ; Level 14 dc h'322A211A04032711' ; Level 15 dc h'31311D1B0E132702' ; Level 16 dc h'31001C250D0C2609' ; Level 17 dc h'31001C240D132709' ; Level 18 dc h'31001C1F0D132709' ; Level 19 dc h'31001C1F04132709' ; Level 20 ; This table says which color index to use, to color a ; tile (1-8), per level. The colors are: ; 00 White - 01 Green - 02 Orange - 03 Purple - 04 Blue ; The keys are done as a color animation so at inctance ; time they are left white. ; ; floor1, floor2, conveyor, wall, bush, rock, collapse, key - door & switch not here levelMasks anop dc h'0102030201020400' ; Level 1 dc h'0302030201020400' ; Level 2 dc h'0400030401030100' ; Level 3 dc h'0200030401000400' ; Level 4 dc h'0402020100020100' ; Level 5 dc h'0100040201000400' ; Level 6 dc h'0302010401000200' ; Level 7 dc h'0200010001020400' ; Level 8 dc h'0302010201020400' ; Level 9 dc h'0100010201010200' ; Level 10 dc h'0400030202000100' ; Level 11 dc h'0300000201020400' ; Level 12 dc h'0403010201020400' ; Level 13 dc h'0403000401020400' ; Level 14 dc h'0402000002000400' ; Level 15 dc h'0203000301020400' ; Level 16 dc h'0102010201000400' ; Level 17 dc h'0202030301020400' ; Level 18 dc h'0102000201020400' ; Level 19 dc h'0202040100020400' ; Level 20 ; The number of bytes to skip when calling a tileDrawP*R* routine for a collapsing platform collapseHeight anop dc i1'12*0, 12*1, 12*2, 12*3, 12*4, 12*5, 12*6, 12*7' conveyorDirections anop dc h'0201020102020201010202010102' dc h'020201020201' skylabXPos anop dc h'01150B091D131105' dc h'1B190D03' willyx anop dc h'0202021D010F0202' dc h'010103021D1D0202' dc h'011D0E1B0F' willyy anop dc h'6868686818186868' dc h'6820086868686868' dc h'1868506858' willyStartDir anop dc h'0000000100010000000000000000' dc h'00000101000100' doorL anop dc i1<'levelLayout+$1BE' ; level 0 dc i1<'levelLayout+$1DE' ; level 1 dc i1<'levelLayout+$17E' ; level 2 dc i1<'levelLayout+$03E' ; level 3 dc i1<'levelLayout+$1CF' ; level 4 dc i1<'levelLayout+$01E' ; level 5 dc i1<'levelLayout+$1CF' ; level 6 dc i1<'levelLayout+$1CF' ; level 7 dc i1<'levelLayout+$001' ; level 8 dc i1<'levelLayout+$1CC' ; level 9 dc i1<'levelLayout+$021' ; level 10 dc i1<'levelLayout+$1CF' ; level 11 dc i1<'levelLayout+$1C1' ; level 12 dc i1<'levelLayout+$010' ; level 13 dc i1<'levelLayout+$061' ; level 14 dc i1<'levelLayout+$0CC' ; level 15 dc i1<'levelLayout+$03E' ; level 16 dc i1<'levelLayout+$03E' ; level 17 dc i1<'levelLayout+$041' ; level 18 dc i1<'levelLayout+$0B3' ; level 19 doorH anop dc i1>'levelLayout+$1BE' ; level 0 dc i1>'levelLayout+$1DE' ; level 1 dc i1>'levelLayout+$17E' ; level 2 dc i1>'levelLayout+$03E' ; level 3 dc i1>'levelLayout+$1CF' ; level 4 dc i1>'levelLayout+$01E' ; level 5 dc i1>'levelLayout+$1CF' ; level 6 dc i1>'levelLayout+$1CF' ; level 7 dc i1>'levelLayout+$001' ; level 8 dc i1>'levelLayout+$1CC' ; level 9 dc i1>'levelLayout+$021' ; level 10 dc i1>'levelLayout+$1CF' ; level 11 dc i1>'levelLayout+$1C1' ; level 12 dc i1>'levelLayout+$010' ; level 13 dc i1>'levelLayout+$061' ; level 14 dc i1>'levelLayout+$0CC' ; level 15 dc i1>'levelLayout+$03E' ; level 16 dc i1>'levelLayout+$03E' ; level 17 dc i1>'levelLayout+$041' ; level 18 dc i1>'levelLayout+$0B3' ; level 19 door_color1 anop dc h'0103010203040102' dc h'0304000101010101' dc h'0101010101' door_color2 anop dc h'0204040302010102' dc h'0304010202020202' dc h'0202020202' keyx anop dc h'091D10181E' dc h'07181A0313' dc h'060F171E15' dc h'010C19101E' dc h'1E0A1D0709' dc h'0F111E010D' dc h'1E141B131E' dc h'0D0E021DFF' dc h'10FFFFFFFF' dc h'150E0C121E' dc h'181E01131E' dc h'0F10021D1A' dc h'1A0A131A0B' dc h'17031B10FF' dc h'190C1AFFFF' dc h'1E0D0111FF' dc h'180F01131A' dc h'10FFFFFFFF' dc h'1E011EFFFF' dc h'171E0A0E13' keyyL anop dc h'00002080C0' dc h'2020E02080' dc h'000000C0C0' dc h'002020C0C0' dc h'20C0E08080' dc h'C0C0E04060' dc h'60C0E04060' dc h'40C000A0E0' dc h'20E0E0E0E0' dc h'4020C00020' dc h'002080C0A0' dc h'60E0C0A0A0' dc h'60C0202080' dc h'4000E0E0E0' dc h'40C0C0E0E0' dc h'40E00040E0' dc h'A0E0204060' dc h'20E0E0E0E0' dc h'20A080E0E0' dc h'A0C0606060' keyyH anop dc h'0000000000' dc h'0000000101' dc h'0000000000' dc h'0000000000' dc h'0000000101' dc h'0000000101' dc h'0000000101' dc h'00000101FF' dc h'00FFFFFFFF' dc h'0000000100' dc h'0000000001' dc h'0000000100' dc h'0000010101' dc h'00010000FF' dc h'000001FFFF' dc h'00000001FF' dc h'0000010101' dc h'00FFFFFFFF' dc h'000001FFFF' dc h'0000010101' sprites_x anop dc h'081D121D1D131012' dc h'1D01071D0C040F0F' dc h'060E08181D0F0A11' dc h'0F090B120F0F0C10' dc h'050A141901090C08' dc h'120C0F0E0F0C0315' dc h'1A01090B190F0F07' dc h'1014120501000000' dc h'0F11090F15010901' dc h'121A0C050C030A13' dc h'1B1D0C101010050A' dc h'14191D181C1D1005' dc h'0B1001071813130F' dc h'0F' sprites_y anop dc h'3868186868681818' dc h'5868680818380168' dc h'4040686800084068' dc h'6868583800681850' dc h'0808080800385068' dc h'2868183868082030' dc h'3008685830006808' dc h'2038500868000000' dc h'0068284050186850' dc h'3828286868404030' dc h'0008185030680808' dc h'0808001830486840' dc h'3850086830282800' dc h'68' sprites_min anop dc h'081D010C1D010112' dc h'1D01061D0104010F' dc h'060E08181D0F0211' dc h'0F010B12000F0C0C' dc h'0505050501090804' dc h'110C0F0E05022030' dc h'0401010B19000F07' dc h'070A070801000000' dc h'0F11242420010101' dc h'12190C050C400301' dc h'041D0C0C0C0C0505' dc h'05051D1716170D02' dc h'3004010728131300' dc h'0F' sprites_max anop dc h'101E131E1E14111E' dc h'1E0B101E0D0D5810' dc h'0E16151E1E1E0B1E' dc h'100A101600101313' dc h'65656565020F0F1B' dc h'160D191314396565' dc h'65020A101D00101E' dc h'1E1B1E6502493921' dc h'1014676769021308' dc h'181E0D091A676141' dc h'611E131212136969' dc h'69691E1E1E1E1E67' dc h'6751021768141459' dc h'10' sprites_speed anop dc h'0204020204020202' dc h'0402020402020104' dc h'0202020204020202' dc h'0402010204040201' dc h'0102010204020102' dc h'0204020102020101' dc h'0204020102040402' dc h'0102010204030201' dc h'0402020102040202' dc h'0201040102020201' dc h'0404010102020302' dc h'0401040202010203' dc h'0201040201040402' dc h'04' sprites_dir anop dc h'0000010100010100' dc h'0000000001000000' dc h'0001010100000100' dc h'0001000000000000' dc h'0000000000000000' dc h'0000000001000000' dc h'0100010000000000' dc h'0001000000000000' dc h'0000000001000000' dc h'0000000000000100' dc h'0000000000010000' dc h'0000000000010000' dc h'0100000000000000' dc h'00' sprites_bitmaps anop dc h'0093090994121212' dc h'951A1A9623232297' dc h'2B2B2B2B98333333' dc h'993F3F3F3B9A4747' dc h'434343439B4B4B4B' dc h'4B9C575757535353' dc h'539D3F3F3F3B9E5F' dc h'5F5F5F5B9F636363' dc h'A06F6B6B6BA17373' dc h'7373A27F7F7B7B7B' dc h'7BA3474747478383' dc h'8383A48B8B8B8B87' dc h'8787A58F5BA6A711' dc h'08' sprites_colors anop dc h'0200020400010302' dc h'0002010002000000' dc h'0203040200040302' dc h'0001030401000104' dc h'0301040200020003' dc h'0400020100030102' dc h'0400010204010003' dc h'0102040000000204' dc h'0004020001000102' dc h'0304000004040200' dc h'0300010403020301' dc h'0400000004030000' dc h'0204000200000400' dc h'00' sprites_class anop dc h'0082000082000000' dc h'8200008200001382' dc h'0000000082000000' dc h'820206022B820202' dc h'0303030382000000' dc h'0082020202030303' dc h'03820206022B8202' dc h'0202020382494949' dc h'8202030303820000' dc h'0000820202030303' dc h'0382020202020303' dc h'0303820202020203' dc h'0303820203820019' dc h'82' level_sprites_offset anop dc h'000205090C101519' dc h'1E252A32373D4146' dc h'4B525B6367' level_sprites_count anop dc h'0203040304050405' dc h'0705080506040505' dc h'0709080402' end