DISC 8 ROOM CITADEL REASSEMBLY 0.1-d8r-r1 19th December 2021 "Diminished" This is a version of the Citadel Reassembly, tweaked for the playable demonstration and further refinement of the antique map generator (ROOM) from Disc 8 of Michael Jakobsen's floppies. See the added disc8ROOM-assets directory in this package for the source materials that were used to modify this copy. The following changes have been made to a vanilla copy of the Citadel Reassembly (v0.1): - Patches to the game engine (citadel.asm), as follows: - D_CHEAT_INVINCIBLE and D_CHEAT_UNLOCK_DOORS are set to 1, to make it easier to get around the map; - the routines responsible for solving puzzles have been patched out; - code to place both items and energy flasks into rooms has been patched out, since no information on item or flask locations is available for this version of the map; - code to overlay the title screen text has been patched out, since this map is not believed to contain a title screen; - the item pad has had its ID changed in the engine from 6 to 0. These modifications have hopefully been performed in a manner that does not change the assembled addresses of anything, so pokes and patches intended to be applied against the Beeb retail version should mostly work here too. - The data blob x740.bin in this package has been generated by concatenating three provided files (see disc8ROOM-assets/x740-components): ( x740-1-header.bin + x740-2-figs-pad.bin + x740-3-D.ROOM.bin ) - x740-1-header.bin is the first 533 bytes of x740.bin from the retail release; - x740-2-figs-pad.bin is a custom figures file built using the sprite information contained in the Disc 8 ROOM file; - x740-3-D.ROOM.bin is the D.ROOM file that was generated by the Disc 8 ROOM (with some modifications and simplifications, to prevent it crashing the game engine). Two modified versions of the Disc 8 ROOM itself (a BASIC program) are included here: - disc8ROOM-assets/disc8ROOM-patched-BASIC/ROOM-d2+d8-try1.txt This is a minimally-patched copy of ROOM, which runs in BASIC without error, but ten of the rooms will crash the retail engine when loaded. - disc8ROOM-assets/disc8ROOM-patched-BASIC/ROOM-d2+d8-try3.txt A minimum of BASIC code has been removed from -try1 in order to produce a D.ROOM that does not crash the retail engine. This is the precise version used to make the bundled x740.bin. -try3 is clearly imperfect and requires further work. It is hoped that such improvements to the Disc 8 ROOM will not necessitate changing either the header or the figure data. Revised generations of D.ROOM can hopefully be dropped in as x740-3-D.ROOM.bin, and a new x740.bin simply pasted together (e.g. with "cat") for testing. The set of figure files that were concatenated to make x740-2-figs-pad.bin has also been bundled as disc8ROOM-assets/figs/* for completeness. Note that these must be padded out (e.g. with zeros) to 2,635 bytes after concatenation. However, it is hoped that the included x740-2-figs-pad.bin is close enough to the intended configuration that rebuilding it should not be necessary. Have fun!