Meta tags:
Headings (most frequently used words):
raaka, tu, the, of, play, me, code, links, temple, tour, guide, references, evolution, engine, implementation, user, input, structure, game, objects, adventure, commands, carved, wooden, door, guards,
Text of the page (most frequently used words):
the (178), journal (44), code (43), object (42), and (42), ramuse (41), you (33), room (30), txt (30), cas (26), #guards (25), size (24), script (23), user (23), are (21), that (19), hardware (19), phrase (17), if_not_jump (15), address (15), from (15), commands (15), raaka (15), game (14), command (13), with (12), for (12), have (12), field (12), see (11), they (11), command_0a_compare_to_phrase_form (11), val (11), number (10), command_0d_execute_list_while_pass (10), player (10), serpent (10), objects (10), adventure (10), noun (9), command_03_is_object_at_location (8), location (8), this (8), move (8), temple (8), left (8), one (8), look (8), east (8), executed (8), input (8), pdf (8), right (7), out (7), there (7), door (7), rug (7), pit (7), all (7), scripts (7), command_01_is_object_in_pack_or_room (6), command_00_move_active_object_to_room_and_look (6), their (6), always (6), can (6), south (6), complex (6), pyramid (6), language (6), list (6), arrow (6), soundramuse (6), soundhardware (6), defender (6), short (5), another (5), outer (5), circle (5), has (5), like (5), these (5), around (5), first (5), through (5), them (5), coco (5), carved (5), dead (5), engine (5), bedlam (5), asm (5), soundcode (5), scorepoints (4), bits (4), turn (4), command_0b_switch (4), commoncommand_86 (4), your (4), name (4), used (4), when (4), then (4), each (4), two (4), moves (4), time (4), west (4), were (4), commoncommand_8b (4), not (4), other (4), data (4), between (4), wooden (4), long (4), verb (4), delete (4), cursor (4), phoenixj (4), commoncommand_81 (3), object_24 (3), prints (3), message (3), after (3), but (3), below (3), switch (3), descriptions (3), rooms (3), figure (3), single (3), north (3), map (3), site (3), raakatu (3), arnstein (3), was (3), way (3), more (3), notice (3), phrases (3), commoncommand_8a (3), here (3), which (3), never (3), into (3), 1st (3), eat (3), turns (3), variable (3), instead (3), evolved (3), information (3), forms (3), nouns (3), line (3), 2000 (3), guide (3), play (3), bank7 (3), bank3 (3), bank2 (3), bank1 (3), invaders (3), sound (3), jpg (3), command_0e_execute_list_while_fail (2), 2f2a (2), 2f34 (2), 2f3e (2), 2f48 (2), level (2), falls (2), 2fcb (2), every (2), checks (2), its (2), statement (2), print (2), enter (2), else (2), exit (2), inner (2), point (2), facing (2), area (2), moving (2), make (2), part (2), sean (2), murphy (2), http (2), www (2), figmentfly (2), com (2), how (2), place (2), patrol (2), removed (2), down (2), words (2), logic (2), trs80 (2), what (2), pull (2), under (2), try (2), cross (2), fall (2), reach (2), just (2), handling (2), 211d (2), commoncommand_8c (2), 2120 (2), 2123 (2), 2126 (2), 2129 (2), 212c (2), command_04_print_system_or_player_message (2), death (2), needed (2), only (2), check (2), sure (2), thing (2), tag (2), large (2), floor (2), 1641 (2), 1645 (2), implementation (2), messages (2), fields (2), pass (2), would (2), passes (2), lost (2), appetite (2), lamp (2), candle (2), living (2), things (2), sub (2), executes (2), while (2), error (2), set (2), 2nd (2), general (2), decide (2), considerably (2), within (2), follow (2), now (2), form (2), light (2), later (2), structure (2), will (2), visit (2), evolution (2), solutions (2), info (2), references (2), known (2), main (2), tour (2), beware (2), old (2), start (2), links (2), character (2), shift (2), key (2), blend (2), code1 (2), ramuse1 (2), bank6 (2), bank5 (2), bank4 (2), bank0 (2), after_25 (2), after_24 (2), after_23 (2), after_22 (2), after_21 (2), after_20 (2), after_19 (2), after_18 (2), after_17 (2), after_16 (2), after_15 (2), after_14 (2), after_13 (2), after_12 (2), after_11 (2), after_10 (2), after_9 (2), after_8 (2), after_7 (2), after_6 (2), after_5 (2), after_4 (2), after_3 (2), after_2 (2), after_1 (2), after_start (2), early (2), space (2), asteroids (2), scramble (2), may2025 (2), func (2), main2 (2), vectorrom (2), gfx2 (2), sprites (2), gfx1 (2), theory (2), inc (2), boot (2), 1loader (2), object_23, 2ee3, 00ca, 2ee6, 2f12, 2f15, 146, 2f18, 2f1a, command_14_execute_command_reverse_status, 2f1b, 2f1d, 2f1f, 2f22, 2f23, 2f25, 2f27, 2f29, 2f2c, 2f2d, 2f2f, 2f31, 2f33, 2f36, 2f37, 2f39, 2f3b, 2f3d, 2f40, 2f41, 2f43, 2f45, 2f47, command_0c_fail, 2f49, 2f4b, 2f4d, command_1c_set_var_object, 2f4f, command_1f_print_message, 2f50, stop, infidel, dog, 2f5c, crossbows, loose, bolts, body, 2f68, ground, riddled, shafts, 2f74, 2f80, 2f8c, 2f98, 2fa4, 2fa9, 2faa, 2fab, object24, 2fb0, 004c, 2fb2, 2fb5, 2fb7, 2fb9, 2fbc, 2fbd, 2fbf, 2fc1, 2fc4, commoncommand_85, 2fc5, 2fc7, 2fca, commoncommand_87, watch, far, contained, even, deep, immediately, follows, thus, moved, before, goes, approach, view, center, ring, coming, going, stay, continually, easily, timing, entrance, concentric, circles, patrols, clockwise, back, kills, too, group, comes, corner, next, better, movement, same, again, reproduced, outside, branden, robinson, find, complete, really, encounter, games, barred, little, than, open, rounds, sneak, strip, fit, need, disassemble, version, sequence, let, trap, object_03, 210c, 0048, 210e, 2111, 2112, 2115, 2117, 2119, 211b, 211c, climb, 211e, 211f, 2121, 2122, jump, over, 2124, 2125, 2127, 2128, 212a, 212b, 212d, 2156, 212e, 212f, stretches, 213b, across, 2147, 2153, appears, because, rooted, colorful, followed, restart, since, actually, ends, returns, where, however, makes, fail, assert, nothing, happens, nowhere, 1586, 00c4, 158a, 00ab, 158d, rectangular, 1599, side, 15a5, intricate, oriental, stretching, 15b1, walls, wall, 15bd, huge, 15c9, small, hole, leads, dark, passage, 15d5, 15e1, 15ed, 15f9, 1605, 1611, 161d, 1629, 1635, 1638, 0013, 163a, 163c, 163e, 163f, 1642, 1643, 1646, 164d, 1647, 1649, command_20_check_active_object, 164b, 164c, deepest, frustrations, figuring, covered, supports, helper, essentially, subroutines, called, mainly, commonly, printed, asserts, second, assertion, object_16, deadserpent, 29fc, 0040, 29fe, 2a01, description, 2a02, lies, 2a0e, 2a1a, 2a1d, 2a1f, 2a21, 2a23, 2a24, 2a30, 2a34, 2a35, custom, assembly, flow, control, couple, passing, failing, reverses, status, reverse, entire, contains, much, richer, temporary, processing, sets, desired, compares, represent, human, upon, resets, heals, points, having, stroke, genius, allowing, interact, invoked, automatically, appropriate, become, real, programming, sense, optional, identified, hit, killed, allows, keying, off, tests, individual, includes, case, structures, very, reason, both, given, must, possible, limit, instance, says, separated, use, decoded, wants, years, 1981, syntax, preposition, indicate, word, wrong, why, interpreter, finally, those, pages, well, seek, specific, online, emulators, wonderful, processes, handled, current, lots, normal, rugs, rings, may, own, combined, blast, past, definitions, describes, lines, processor, practically, virtual, machine, written, decodes, verbs, prepositions, loop, manual, introduction, woman, cries, jungle, get, morning, looks, good, exploring, breakfast, planning, foot, perhaps, talk, few, natives, any, might, give, hire, sip, coffee, scan, region, crew, approaches, holding, arm, wrinkled, native, dressed, robes, wearing, headdress, ram, usage, disassembled, clear, escape, backspace, function, emulator, click, green, console, typing, zip, tools, stoned, morris, worm, virus, usvdobjs, ssvdobjs, section9, section8, section7, section6, section5, section4, section3, section2, section1, xenos, code2, ramuse2, hauntedhouse, hardwaredisk, hardwarelevel1, hardwarelevel2, tetris, bank1f, bank1e, bank1d, bank1c, bank1b, bank1a, bank19, bank18, bank17, bank16, bank15, bank14, bank13, bank12, bank11, bank10, bank0f, bank0e, bank0d, bank0c, bank0b, bank0a, bank09, bank08, bank07, bank06, bank05, bank04, bank03, bank02, bank01, bank00, link, awakening, gameboy, kid, icarus, zelda, nes, doubleback, audio, analyzer, downland, maps, daggorath, popcorn, mega, bug, savegameviewer, walk, madness, minotaur, work, data350, code350, dataorg, codeorg, colossalcave, missile, codebank7, codebank6, codebank5, codebank4, codebank3, codebank2, codebank1, codebank0, burger, entombed, doublegap, double, gap, codepal, combat, chess, battle, zone, stella, atari2600, sea, wolf, pilot, tempest, scap, hhi, foreground, background, phoenix, pooyan, dvgprom, soundboard, mainboard, omega, race, moonpatrolsound, textcolors, spritecolorsets, spritecolors, imagebackgroundcolors, gfx5, city, gfx4, hills, gfx3, mountains, text, moon, cpu1fix, prompalettesprite, prompalettechar, promcolors, characters, cpu3, cpu2, secondary, cpu1, galaga, gfx, frogger, donkey, kong, soundrom, vid, rom, cpu, mapping, bankfixed, memorymap, graphicsandcharacterassetinfo, crazyclimbermemorymapinfo, charenc, cclimber, buildings, bigspritegraphics, crazy, climber, centipede, dvg, arcade, orig, dec, rainbow, islands, amiga, page, home, contact,
Text of the page (random words):
nal trs80 hardwarelevel2 hardwarelevel1 hardwaredisk hauntedhouse ramuse1 code1 ramuse2 code2 journal pyramid ramuse code ramuse1 code1 journal raakatu ramuse code journal bedlam ramuse code journal xenos ramuse code section1 section2 section3 section4 section5 section6 section7 section8 section9 ssvdobjs usvdobjs journal virus morris worm 1 journal stoned journal tools blend blend zip journal raaka tu play me code links the temple of raaka tu tour guide references the evolution of the engine user input structure game objects adventure commands raaka tu implementation carved wooden door guards raaka tu play me play the game in a coco emulator click on the green console and start typing pc key coco key function left arrow shift left arrow move cursor left right arrow shift right arrow move cursor right delete right arrow delete character right of cursor backspace left arrow delete character left of cursor escape clear delete the line code links disassembled code ram usage the temple of raaka tu this morning looks like a good one to start exploring the area after breakfast you re planning to set out on foot perhaps talk to a few natives for any information they might give you and hire a guide as you sip your coffee and scan a map of the region one of your crew approaches holding by the arm a wrinkled old native dressed in long robes and wearing a headdress beware beware the temple of raaka tu the old woman cries do not go into the jungle you will never get out from the game manual introduction tour guide the code is practically a virtual machine for the game written in adventure language the main loop decodes the complex user input with nouns verbs and prepositions have a look at the adventure language processor and all its complex commands have a look at the phrase list that describes the forms of all known input lines in raaka tu the rooms are objects with descriptions and commands combined visit all the room definitions for a blast from the past there are lots of game objects normal things like rugs and rings and guards they all can have complex code scripts and may move around on their own like the guards and the serpent have a look at the objects and their scripts have a look at the general command script that processes commands not handled by the current room look through the game s list of all known words references if you seek specific game information solutions and online emulators then check out sean murphy s wonderful site solutions and info on pyramid 2000 raaka tu and bedlam http www figmentfly com the evolution of the engine i will follow arnstein s adventure language and interpreter as it evolved from pyramid 2000 to raaka tu and finally to bedlam be sure to visit those pages as well pyramid 2000 raaka tu bedlam user input structure two years later in 1981 arnstein s adventure engine has evolved considerably the syntax for a user input line is verb noun preposition noun as in light candle with lamp error messages now indicate which word of the line is wrong and why both nouns if given must be within the user s reach the engine has a long list of possible phrase forms that limit user input for instance one phrase form says that the verb light has two nouns separated by with the scripts use the decoded phrase form number instead of just the verb number to decide what the user wants to do the raakatu engine always passes the user input to a single user input script instead of keying off of a verb number the user script is always executed at the first command it is up to the script to do if else tests on the individual phrase forms the adventure now includes a switch case structures for this very reason game objects the game objects have evolved considerably they have become real objects in the programming sense within each is a list of optional fields identified by a number and a size field 2 is the short name of the object field 9 is hit point information if the object is a living thing field 10 is a script that is executed with the object is killed field 8 is a script that is always executed between user turns it is this field 8 script that allows the serpent to follow the player from room to room field 6 is a script that is executed if the object is the 2nd noun in a command field 7 is executed if the object is the 1st noun these scripts are not invoked automatically instead it is up to the room or the general script to decide when they are appropriate there is a player object to represent the human player the field 10 upon death script prints a message and resets the game for another go the field 6 between turns heals the player 5 points having a player object was a stroke of genius allowing all the objects to interact with the player as they would each other adventure commands the adventure language contains a much richer set of 38 commands there is a variable object used as a temporary in script processing one script command sets this variable object to a desired object by number another script command compares the variable object to the 1st noun another to the 2nd noun flow control in the adventure language is more complex with a switch statement and a couple of sub script commands one executes commands while they are passing and the other executes commands while they are failing another command reverses the error status of a single command and it can be used on sub script commands to reverse an entire list no custom assembly logic is needed for game objects the lamp and candle have field 8 scripts that time them down with each user turn living things like the guards and serpent have field 8 commands that move them between turns here is the object data for the dead serpent object_16 deadserpent 29fc 24 40 number 24 size 0040 29fe 00 00 80 room 00 scorepoints 00 bits 80 u 2a01 03 03 description 2a02 1a 4e 45 31 49 46 5e 86 5f 57 17 1f a large dead serpent lies on the floor 2a0e b3 b3 9a 87 8c d1 b5 96 96 db 72 89 2a1a 67 c7 a0 2a1d 07 15 07 command handling if first noun 2a1f 0d 13 command_0d_execute_list_while_pass size 19 2a21 0a 15 command_0a_compare_to_phrase_form val 15 phrase 15 eat u 2a23 04 command_04_print_system_or_player_message 2a24 0f a8 77 4e 5e e6 a0 7b 16 92 14 f6 i ve lost my appetite 2a30 a4 7f 7b 21 2a34 02 02 short name 2a35 08 e3 59 15 58 3a 62 9e 61 dead serpent fields 2 and 3 are the short and long descriptions of the dead serpent field 7 is the script executed if the dead serpent is the 1st noun of a command here the script is a list of commands that are executed as long as they pass there are two commands in this pass script the first asserts that the phrase is eat which would be eat serpent the second executed if the assertion passes prints i ve lost my appetite the adventure language supports helper scripts these are essentially script subroutines that are called from other scripts they are used mainly for commonly printed messages raaka tu implementation carved wooden door one of my deepest frustrations in raaka tu was never figuring out how to cross the rug covered pit to the carved wooden door 1586 82 80 c4 00 script number 82 size 00c4 data 00 158a 03 80 ab data tag 03 size 00ab 158d c7 de 94 14 4b 5e 83 96 3b 16 b7 b1 you are in a large rectangular room on the 1599 2f 17 fb 55 c7 98 54 8b 39 17 ff 9f floor of the east side of the room is an 15a5 c0 16 82 17 48 5e 81 8d 91 af 96 64 intricate oriental rug stretching between 15b1 db 72 95 5f 15 bc ff 78 b8 16 82 17 the north and south walls in the east wall 15bd 54 5e 3f a0 d5 15 90 14 d0 15 f3 bf is a huge carved wooden door to the south 15c9 16 53 51 5e 07 b2 bb 9a 14 8a 6b c4 a small hole leads to a dark passage way 15d5 0c ba 7d 62 90 73 c4 6a 91 62 30 60 15e1 82 17 50 5e be a0 03 71 33 98 47 b9 15ed 53 be 0e d0 2f 8e d0 15 82 17 47 5e 15f9 66 49 f3 17 f3 8c 4b 7b 4a 45 77 c4 1605 d3 14 0f b4 19 58 36 a0 83 61 81 5b 1611 1b b5 6b bf 5f be 61 17 82 c6 03 ee 161d 5f 17 46 48 a9 15 db 8b e3 8b 0b 5c 1629 6b bf 46 45 35 49 db 16 d3 b9 9b 6c 1635 1b d0 2e 1638 04 13 data tag 04 size 0013 163a 0b 11 command_0b_switch size 11 163c 0a 04 command_0a_compare_to_phrase_form val 04 phrase 04 west 163e 02 if_not_jump address 1641 163f 00 81 command_00_move_active_object_to_room_and_look room 81 1641 02 command_0a_compare_to_phrase_form val 02 phrase 02 south 1642 02 if_not_jump address 1645 1643 00 83 command_00_move_active_object_to_room_and_look room 83 1645 03 command_0a_compare_to_phrase_form val 03 phrase 03 east 1646 06 if_not_jump address 164d 1647 0d 04 command_0d_execute_list_while_pass size 4 1649 20 1d command_20_check_active_object object 1d user 164b 8b commoncommand_8b 164c 81 commoncommand_81 room 82 has only 3 commands west south and east where the carved door is if you try and go east you fall into the pit notice the check however that makes sure the thing moving east is the player only the player falls into the pit other objects fail the assert and nothing happens to them they go nowhere notice the commoncommand_8b colorful death followed by commoncommand_81 restart the game the 81 is not needed here since commoncommand_8b actually ends with the 81 which never returns the pit appears more complex because there is an object rooted to this room the rug object_03 rug 210c 06 48 number 06 size 0048 210e 82 00 80 room 82 scorepoints 00 bits 80 u 2111 02 02 short name 2112 02 e9 b3 rug 2115 07 3f 07 command handling if first noun 2117 0b 3d command_0b_switch size 3d 2119 0a 0c command_0a_compare_to_phrase_form val 0c phrase 0c look under u 211b 01 if_not_jump address 211d 211c 8c commoncommand_8c 211d 36 command_0a_compare_to_phrase_form val 36 phrase 36 climb in 211e 01 if_not_jump address 2120 211f 8a commoncommand_8a 2120 33 command_0a_compare_to_phrase_form val 33 phrase 2121 01 if_not_jump address 2123 2122 8a commoncommand_8a 2123 34 command_0a_compare_to_phrase_form val 34 phrase 34 jump over u 2124 01 if_not_jump address 2126 2125 8a commoncommand_8a 2126 35 command_0a_compare_to_phrase_form val 35 phrase 2127 01 if_not_jump address 2129 2128 8b commoncommand_8b 2129 2d command_0a_compare_to_phrase_form val 2d phrase 2d pull up u 212a 01 if_not_jump address 212c 212b 8c commoncommand_8c 212c 26 command_0a_compare_to_phrase_form val 26 phrase 26 go around u 212d 28 if_not_jump address 2156 212e 04 command_04_print_system_or_player_message 212f 26 c7 de d3 14 e6 96 16 ee db 72 e9 you can t the rug stretches all the way 213b b3 66 17 76 b1 1f 54 c3 b5 f3 8c 5f across the room 2147 be f3 17 43 db b9 55 cb b9 5f be 39 2153 17 ff 9f if you pull up the rug or look under it you can see the pit if you try and cross it you fall in the pit there is no sequence of commands that let you reach the door it is just a trap through and through notice the phrases these were removed from the game as part of the strip down to fit on the coco the phrases were removed and the words that make them up but the checks were left in the game logic i need to disassemble the trs80 version to see what the phrases were guards the guards in raakatu are really the first complex object you encounter in arnstein s games in pyramid there was a serpent that barred the way it is little more than a door you have to figure out how to open but the guards move from place to place on patrol around the temple you have to figure out their rounds and sneak through them below i have reproduced part of the outside temple map by branden robinson you can find the complete map on sean murphy s site http www figmentfly com see north 9b north 9d see see west west east east 9a 9c 9e 98 south 9f see south 99 the temple entrance area is two concentric circles the guards are a single object that patrols the inner circle moving clockwise from 9c to 9d to 9e to 9f and back around the move script for the guards object see below moves the object from room to room one room at a time after every move you make if you are in the room with the guards object when it moves then it kills you if you are in the room the object moves too you see the message a group of guards comes around the corner your next command better be a movement command or you ll be in the same room with the object when it moves again you approach the temple on the outer circle the room descriptions on the outer circle are always from the point of view of you facing the center ring from these outer rooms you can see the guards coming and going from the room you are facing they always enter from the right and exit to the left if you stay in one of these outer rooms and continually look you ll easily figure out their timing another object object_24 is used to watch the guards from a far this object is contained by the user object and on every move it checks to see if you are on the outer circle even when you are deep in the temple object_24 immediately follows the guards object in the code thus it always prints its message after the guards object has moved but before you do the turn code see below is a switch statement that goes like this if the guards object is in room 9c if the player is in 9a then print enter from right else if the player is in 99 then print exit to left and so on for each room on the inner circle object_23 guards 2ee3 28 80 ca number 28 size 00ca 2ee6 9c 00 90 room 9c scorepoints 00 bits 90 u p 2f12 08 80 95 08 turn script 2f15 0e 80 92 command_0e_execute_list_while_fail size 146 2f18 0d 2f command_0d_execute_list_while_pass size 47 2f1a 14 command_14_execute_command_reverse_status 2f1b 01 1d command_01_is_object_in_pack_or_room object 1d user 2f1d 0b 29 command_0b_switch size 29 2f1f 03 9c 23 command_03_is_object_at_location object 23 guards location 9c 2f22 07 if_not_jump address 2f2a 2f23 0d 05 command_0d_execute_list_while_pass size 5 2f25 00 9d command_00_move_active_object_to_room_and_look room 9d 2f27 01 1d command_01_is_object_in_pack_or_room object 1d user 2f29 86 commoncommand_86 2f2a 9f 23 command_03_is_object_at_location object 23 guards location 9f 2f2c 07 if_not_jump address 2f34 2f2d 0d 05 command_0d_execute_list_while_pass size 5 2f2f 00 9c command_00_move_active_object_to_room_and_look room 9c 2f31 01 1d command_01_is_object_in_pack_or_room object 1d user 2f33 86 commoncommand_86 2f34 9e 23 command_03_is_object_at_location object 23 guards location 9e 2f36 07 if_not_jump address 2f3e 2f37 0d 05 command_0d_execute_list_while_pass size 5 2f39 00 9f command_00_move_active_object_to_room_and_look room 9f 2f3b 01 1d command_01_is_object_in_pack_or_room object 1d user 2f3d 86 commoncommand_86 2f3e 9d 23 command_03_is_object_at_location object 23 guards location 9d 2f40 07 if_not_jump address 2f48 2f41 0d 05 command_0d_execute_list_while_pass size 5 2f43 00 9e command_00_move_active_object_to_room_and_look room 9e 2f45 01 1d command_01_is_object_in_pack_or_room object 1d user 2f47 86 commoncommand_86 2f48 0c command_0c_fail 2f49 0d 5f command_0d_execute_list_while_pass size 95 2f4b 01 1d command_01_is_object_in_pack_or_room object 1d user 2f4d 1c 1d command_1c_set_var_object ...
|