-
Posts
618 -
Joined
-
Last visited
Everything posted by Norman Sword
-
A list of some room names. If this is expanded to all known versions, it will end up very large. JSW continuing adventure 0< The Cook's Birthday Cake > 1< The Laundry Chute > 2< The First Indoor Bridge > 3< The Wash Room > 4< The Drying Area > 5< The Safe > 6< Entrance to the Mine > 7< The Upper Mine Shaft > 8< Abandoned Coal Face > 9< The Support Shaft > 10< Miner's Living Area! > 11< Don't Go Down!! > 12< The Tunnel > 13< The Moss Room > 14< The Rough Tunnel > 15< They've All Got the Shakes! > 16< Are You Good at Jumping? > 17< The Miniature Sherwood Forest! > 18< Outskirts of the Forest > 19< The Dam > 20< Dam Control > 21< Don't Say I Didn't Warn You! > 22< The Dreaded Room of Weirdness! > 23< The Lift > 24< The Lower Lift > 25< Under the Lift > 26< Further Under the Lift > 27< The Crevasse > 28< Chamber of Fire > 29< It's Not Easy Being a Dalek > 30< The Odd Room! > 31< The Conveyor Room > 32< The Underground Gym > 33< The Newly-designed Bathroom > 34<I'm Sure I've Seen This Before!!> 35< The Place of Eternal Rest > 36< The Plain Room > 37< The Disused Corridor > 38< Stalagmites and Stalactites > 39< The Indescribable Room > 40< Near the Top of the House > 41< The Roof Platforms > 42< Use the Force, Willy > 43< The Sky-ladder > 44< Are You Afraid of Heights? > 45< Into the Stars > 46< The Moon Surface > 47< The Moon Caves > 48< The Lunar Transporter Room > 49< The Further Recesses > 50< The Leaking Roof > 51< Under the Lake > 52< The Mound > 53< Above the Transporter Room > 54< The Large Cave > 55< The Small Cave > 56< The House Transporter Room > 57< By the Acid Lake > 58< Don't Fall Off! > 59< Antechamber > 60< Unsafe Deposit Box > 61< The Quick and the Dead! > 62< The Secret Passage > 63< The Secret Cavern > JSWDRUnkan master 0<Grab as much as you can and run!> 1< Don't worry it'll be over soon!> 2< Doesn't look so mega to me > 3< This tree > 4< The Drive > 5<PHEW!! They filled that hole in!> 6< Alreet' Skull? > 7<You haven't seen the last of me!> 8< Don't fall (or jump) off here > 9<This place doesn't look too safe> 10< The Front Door > 11< The Hall > 12< Startin' to get rickety again > 13< EGGIE CHUCK! > 14<NAH! You still can't shag here..> 15<I'm sure I've seen this before..> 16<I must perform a quick labotamy > 17< Pleased as Punch e > 18< On the Roof > 19<Party finished yesterday LEAVE!!> 20< Ballroom East > 21< Ballroom West > 22<To the Kitchens Main Stairway> 23< The cooks are revolting > 24<Because Willy bought a microwave> 25<The gits never clean the fridge!> 26< East Wall Base > 27< The Desocrated Chapel > 28< They smashed the stairs > 29< The slightly easier Nightmare > 30< I see something up ahead > 31< They even pissed in the pool > 32<Did you take the maverick route?> 33< It started with a curry > 34< I wish I'd had chips instead > 35< Mastur Bation > 36< Take it to the bridge > 37< The sparsely furnished orangery> 38< The priest jumped off the roof > 39< Generator down! > 40< An entrance to a second turret?> 41< The Attic Remix > 42< There's a plane in my Ceiling > 43< Conservatory Roof > 44< What! No Bellz? > 45< The previous owners porn stash > 46< I never knew about this place! > 47< The Oubliette > 48< More like just a LOONY bastard > 49<They never even touched the wine> 50<I used to see the shop from here> 51< They can't hurt you now > 52< Back Stairway > 53< There used to be a door here? > 54< West Wing > 55< Down, down and down > 56< West Wing Roof > 57< Into a room full of down > 58< The crabs fucked my sandcastle > 59<Those bastards blew my boat up!.> 60<They built this wall for you man> 61<So you risked your life for this> 62< Right hand side of the turret > 63<Just where is this taking me to?> JSWFANtasy adventure 0< MMMM!!! Me meths stash!!! > 1<This isn't my beautiful fountain> 2< I am the pepperoni man! > 3<"You'd think by now that people > 4<Worst Nightmare(Psycho eggz UXB)> 5< Pool of the swims? > 6< The Mosh Pit > 7< Backstage (NO AUTOGRAPHS) > 8<I used to dance here but now I > 9<croon the ballad of a lonely man> 10<An explanation is long overdue! > 11< The Hallway to a better place? > 12< Seranada!!! > 13< The Hot Palace > 14< Sauna us up!!! > 15< Ah Yea! Fresh Air > 16<must perform a botany(Penthouse)> 17< A clear night on the moor > 18< Pit above the favourate place? > 19< Fugee Werewolf in the Garden > 20< On my way to the promised land > 21<Think I used to park my car here> 22< Pseudo SEGA 1986 > 23< Quiche > 24< Ham and Egg > 25< Who ate all the pies? > 26< East wall sanitarium > 27< Deathcaps on the belt > 28< The worlds most popular linker!> 29<................................> 30< "I see dead people" > 31< This looks like a tomb > 32< Fire in the sky! > 33< The unsanitary reading spot! > 34<are fuckin' sick of this room!" > 35< The one we all know and love! > 36< The Underground Shrine > 37< Desocrater! > 38<The priest was not a God Squader> 39<Now I'd like to leave this place> 40< EEGROE NERPIN TRUMPET FEST 2K2 > 41< Sax-a-ma-phone > 42< Brassed off!!! > 43< I see light > 44< At last I smell the air of day > 45< Foggy old field > 46< The Graveyard > 47< Rock me Asmodieus! > 48< The world is collapsing? > 49< Poisoned froggy > 50< Am I in the right game here? > 51< Someones eaten the gardener > 52< Back door with fire escape > 53< Back gate > 54< Step into the light > 55< LIMBO > 56< The strange shore in the sky > 57< Worlds strangest lake > 58< The River Bank > 59< The River Bleeds > 60< Oh my....ooh hooray!!! > 61< The silver staircase > 62<................................> 63< They buried miners here!!! >
-
The Date I used 1985, was obtained from a history of Tandy site which listed their computer model history. I feel it is wrong, and I will change the date accordingly. Manic Miner released August 83 by Bug Byte and later that year by Software Projects Jet set willy released 1984. The megatree and the period after the release of Jet Set Willy are roughly the same. E.g. After the release of Jet Set Willy and around the end dates for the release of Jet Set Willy II. Which put the dates back to very vague. (TRS stands for Tandy Radio shack) which is why I will call the computer a Tandy when it has a radio shack label From another site listing the history of Tandy computers we get TRS-80 Microcomputer System Model 1 Level 1 Radio Shack - Tandy 1977 TRS-80 Color Computer Tandy 1980 TRS-80 Model 100 Portable Computer Tandy Radio Shack 1983 <<<<<<<<<<<<<<< Tandy 102 Portable Computer Tandy Radio Shack 1983 TRS-80 Colour Computer 2 Radio Shack Tandy 1983 Tandy TRS-80 Model IV Tandy 1983 TRS-80 Model 102 Portable Computer Tandy Radio Shack 1983 Tandy Color Computer 3 (CoCo 3) Tandy 30th July 1986 Tandy 1000 HX Personal Computer Tandy 1987 Tandy 1100FD Laptop Computer Tandy Radio Shack November 1989 Which is unfortunately no help. It simply dates the model 100 back as early as Manic Miner . e.g.83 Perhaps the other site I read the date from was confused by the model 100's name, which was originally the Kyotronic 85, which sold in Japan. As is usual I can not find the site in question (browser history will be in the 1000's, So I am not going through that) The gist of the original dialogue was that the tandy model 100, was named the Kyotronic and designed and built in Japan. It did not sell very well and was eventually bought by Tandy and repackaged as the Model 100, sold in America in 84, and brought to the UK for 85. Wiki does not agree with that timeline and the model history of Tandy (as listed above) also does not agree. So I am editing the dates listed with the pictures.
-
The most common file/picture of Matthew is this and a series of pictures taken at the same time. Either that or this was his favourite worn to bits jumper. A couple of clues on the dating of this picture and therefore all the pictures taken at the same time. The monitor is sat on a Tandy hard drive. Bought with the proceeds of Manic Miner The portable computer he is sat behind is a Tandy model 100, This was sold originally under a different name, but became the model 100 for Tandy in 1985. (see post number 15 concerning this date) The third picture is taken at a residence in Birkenhead, after the completion of Jet set Willy. This was the time which achieved very little and is I supposed classed as "writing the megatree" Addendum, due to having re-assigned the date for the model 100 as early as 1983 (possibly). The only definite clue for the date is the hard drive. Which is after Manic Miner.
-
Decided to use better maps to place the building better on the ground. The crude overlay, was just that very crude. This places the building more accurately on the ground
-
I walk into the "banyan tree" room, slow it down to the slowest setting and then can pass through the room nearly every time, at the first attempt. Something I can not manage when I play the original. I will time the slow speed. ----- It is timed at 25.93 . So the slow setting is around 25%+ slower than the original.... so a 25%+ reduction in speed makes it so much easier. And a doubling in speed makes the traversing a lot faster.
- 28 replies
-
- norman sword
- jet set willy
-
(and 2 more)
Tagged with:
-
I made a statement "WORLD'S FASTEST" in one of the screens on JSW128 VK So here I will justify the claim, and add some data. The Timing quoted for all versions is the time taken to do the same double room walk. The double room walk, is the walk through "The Kitchen" and then through "West of kitchen" Times are displayed to 100th of a second. Whilst the timing is accurate, my reactions varied a lot. Since music only slows this down, all times are without music. The T-states quoted are the times needed to copy one byte from memory and move it elsewhere. This timing is needed because the slowest part of the game is the huge amount of data copied on each and every game loop. It is these copies which have one of the largest influences on how fast the game runs. (an edit to revise and hopefully lay out this data in a clearer manner revision done 21st October 2024) Matthews unmolested code using LDIR - each byte taking 21 T-states - manual timing to do the Double room walk - 19.96 to 20.12 rounded up to 20.00 seconds. LDIR 21T-states - WALK 20 seconds My code changed back to using ldir's is comparable in time, which considering all the extra routines, is to be expected. - 20 seconds LDIR 21T_states - WALK 20 seconds My code using a long line of LDI's ---- each byte taking 16 T-states plus a small overhead - 15.46 seconds. LDI 16 T-states - WALK 15.46 seconds Mark Woodmass posted a "marginally faster" versions of Manic Miner and Jet Set Willy to alt.binaries.comp.sinclair on 27th January 2002 - his version of jsw does the double room walk in 15.51 seconds. Mark Woodmass uses a stack copy routine and it also destroys the rope routine. (e.g. it is bugged) STACK COPY 10.5T-states - WALK 15.51 seconds Mysterion posted his Turbo versions, so I will list the times from his versions. These use a stack copy method and the 128k, increase in speed is achieved by rolling the code out further. Matthews code using Mysterion Stack copy --- stack copy has a theoretical minimum of 10.5 T-states, but the overhead is quite high two sets of timing - 13.71SEC IN TURBO JSW IN 48K and 12.14SEC IN TURBO JSW IN 128K STACK COPY 10.5T-states - WALK 12.14 seconds in 48K STACK COPY 10.5T-states - WALK 12.14 seconds in 128K My code . These are the speed of my stack copy routines - STACK COPY 10.5T_states - WALK 10.61 in 48k This is 3.1 seconds faster than Mysterion's version in 48k My version in 48k is still 1.43seconds faster than Mysterion's version which is rolled out and will waste quite a large chunk of the 128k of ram needed. So yes "WORLD'S FASTEST" (At the time) NOTE the timing depends on the individuals response to the change of screen and partially to the machine it is being tested on. The times I list are consistent with the machine and hardware I use. (others will obtain different timing) however the overall trend will still be as above. Addendum concerning Speed and T-States From the above it is easy to see the relationship between the double room walk time and the T-State's for the method used to do the screen copying. LDIR 21 T-states 20 seconds LDI 16 T-states 15.46 seconds STACK COPY 10.5 T-states 10.61 seconds
- 28 replies
-
- norman sword
- jet set willy
-
(and 2 more)
Tagged with:
-
Something that I posted back in August 2016 on Facebook drawing By D.P.Rowson. And with his comments Mock up. Not to scale and drawn on recollection only, of the building above. Top picture is an enlarged portion of the lower picture. Room allocation was dynamic, so this allocation is a snap shot.
-
-
Very few pictures exist of the bear brand Picture 1 down the side of the main building Picture 2 view from the air Picture 3 Gate past the main office down towards the works Picture 4 A crude overlay of the building on a map. Pictures 1 and 3 by John Shaw. Just before the demolition. All the workers used the nearby Sainburys , as a food source.
-
1) Differing Versions -- The game cycles every main (Title) screen display, between Bug Bytes and Software Projects version. The animated display on the main (Title) screen (near the house) shows the sprite from the version that will play. There is no option to switch mid game. ***NOTE*** the differing versions are swapped on the Title screen, If a version is displayed and you want the other version. Then start the game, and the abort back to the Title screen. The versions will have been swapped. 2) Toolkit -- The toolkit will rebuild collapsing floors when active. When the toolkit icon is displayed pressing "9" will rebuild all collapsed floors. Needed when you have collapsed all the floors and have no way of returning. Pressing "9" rebuilds the floors to enable escape. This is mainly needed when the medical kit is used and he has managed to get stuck somewhere. 3) Alternate movement -- In manic miner to jump and turn around at the same time requires Willy to do a standing jump. e.g. the sequence from jumping right and holding down the jump key and then trying to turn around. Normal Manic miner movement - Jump right - static vertical jump - jump left. The alternate style of movement removes the static jump. Willy will do the sequence of - jump right - jump left (no static jump) This also happens when walking and turning around. the difference between the two is one frame of movement. The alternate version enables willy to turn around faster. This change was introduced to enable faster movement response. It is subtle but if you are aware of the change it enables faster response when turning, which can be the difference between life and death. Easter egg- When the credits screen is displayed. Hold down "1" and tap enter.
-
All objects should be now collectable. I have moved the one in "West of Kitchen" 127 rooms now have an object to collect Only "Entrance to Hades", has no object. To edit the game and change the layout or item position, is no more difficult than any edit using the standard edit programs. ;------------------------------ When writing the game ------------------ The repeated editing eventually wore me down. On every edit it must be remembered to put the arrows last. Fine, but a quick edit and putting an extra sprite in here or there, necessitates moving the sprite order around. So easy to forget, when it was just a quick edit. For the above reason, I added a routine to sort the sprites at run time. (just for the arrows) so every room is checked for sprite order, and pesky arrows are automatically moved to the last sprite slots. The routine was meant to be removed, but it uses only 60 bytes and saved me so much time on needed re-ordering, it was left. (having checked the present data, it has little effect - no arrows collide with sprites in the rooms it has need to re-order )
- 28 replies
-
- norman sword
- jet set willy
-
(and 2 more)
Tagged with:
-
I think this answers your question on my arbitrary selection of 74 arbitrary Dictionary.com subject to individual will or judgement without restriction; contingent solely upon one's discretion: Cambridge Dictionary based on chance rather than being planned or based on reason: Oxford Dictionary Based on random choice or personal whim, rather than any reason or system. Wiktionary Etymology From Middle English arbitrarie, Latin arbitrarius (
- 28 replies
-
- norman sword
- jet set willy
-
(and 2 more)
Tagged with:
-
My game code checks for "0" and uses this as a signal for the completion of the game. so in my version you can only have 0 to 255 objects. with 255 being the maximum. if the code assumed that a true "0" could not happen unless it was game finished. Which is not an unreasonable assumption. This is just assuming the game has objects at the start. Otherwise we start with no objects and no purpose which is a strange starting point. This is talking about object collection, and ignoring the actual coding used in the game. (the actual game, increments from a negative value) The code for object collection could blindly decrement the object count and check for none. I check for none before collecting an object, and I again check for none after the object is collected as well. This double check is not needed. It was added so I could mess with the number of objects specified at the start of the game. This consisted of inserting a value over the actual item count (after it is calculated in the game) Thus I could collect one object and go to the bedroom to start the game finished sequence. This left the problem of the collecting of an object with the counter at zero (plenty more objects defined in the game) ----this necessitated the double check - not needed but left. --- using a value to represent the objects to collect, as opposed to the actual code in the game---- a value of 1 indicates 1 object, when an item is collected the 1 is decremented to 0 ---- game finished ----- ------ -----2 ---------- 2 objects, ----------------- ------ 2 -- --------------- --- 1 ------ ----- -----3 --------- 3 ----------, --------------------- -- 3 -- --------------- ---- 2 ---- ------- -----4 --------- 4 -------- ,---------------- ----------- ---- 4 ----- -- --------- ---- 3 ------ ----- ----- 255 ------ 255 objects, --------- ----- ----- 255 -- ------------- ----- 254 and finally a value of 0 indicates 256 objects, when one item is collected the value is decremented to 255 --- carry on So if a need arose for 256 objects I would/could change the code to cope. So it is possible to have 256 objects to collect. Space is allocated for this many in the object list.
- 28 replies
-
- norman sword
- jet set willy
-
(and 2 more)
Tagged with:
-
Addendum JSW 128Vk2 is a file (game) that runs on a 48k Spectrum. ;------------------------------------------------------------------------------------------------------- It is called JSW 128 V?? simply because When I looked at the amount of editing that has/had occurred on Matthews original file. I noticed that the vast majority had stuck to the limitation of 64 rooms as designed by Matthew. Some brave soles had managed to add a hand full of rooms onto the 64 original. As far as I was aware no one had edited JSW to improve on 74 rooms. The figure 74 was an arbitrary figure set as a benchmark to beat. Having devised a method for storing the keys/objects that did not waste memory in the manor used by others, I added some rooms. Keeping to the format that Matthew had devised I managed to keep on adding rooms just by room layout compression. In the end I decided I wanted to add features so I compressed the room data/sprite data etc. I expanded to the limit that my new key layout would permit. The game as played has two versions of JET SET WILLY within its memory. But It could be a totally different plan, their is no layout restrictions. The dual game was just laziness on my part (the need to design 128 new rooms, as opposed to writing the code to add features) Since my target was 74 rooms, which was easily beaten. The room count ended up as 128, which exceeds the old count of 74 by 54 rooms. JSW 128 VK2 is just emphasising that this version has 128 rooms.
- 28 replies
-
- norman sword
- jet set willy
-
(and 2 more)
Tagged with:
-
JSW 128 VK3.Tap View File Altered Reality. The basic Core of this game is Matthew Smiths original code. Which although edited still runs in the original 48K Due to extensive compression and rewrites of the original code this version. Runs at double the original speed Runs with up to 16 sprites per room Runs with up to 32 arrows per room Has diagonal sprites Has mid sprite bounce Has homing sprites Has 128 rooms and ..... I will leave the user/player to work out what has changed. Uses "G" key- "H" key- and the "K" and "L" key --------------------------------------------- Technical addendum :- files needed to construct the game NOT INCLUDED. These files are used to generate the game file main files:- mnjsw9.asm 15,264 lines in 423,867 bytes manic_edit_copy.asm 342 lines in 10,576 bytes fixed_page.asm 1,249 lines in 48,929 bytes merged.asm 40 lines in 2,096 bytes included data files when assembling x0 1132 lines in 39k ; big data statements x1 286 lines in 20k x2 509 lines in 22k x3 1103 lines in 41k included binary files when assembling edited-edit_3 6.75k control.txt 650 lines in 20k game files jsw0.tap 30.9k jsw1.tap 30.9k the files control.txt jsw0.tap and jsw1.tap are processed by saveab1.bas this is 1651 lines of qbasic in 48.07k The process's includes- read room layout, compress data -output room layout data read sprite data and read control file, change sprite data compress and output reconfigure the key data and output read the room data, discard unwanted data compress and output in essence the basic file is taking the two games and merging into a set of output files, needed to assemble A sprite editor and a room editor, along with an assortment of checking data files . All in, around 790k of associated files and data for version "K". Which is why old versions are discarded when I update the logic I am currently on version "L" - which is a big change in game play Submitter Norman Sword Submitted 07/01/2018 Category Jet Set Willy [Remakes]
- 28 replies
-
- norman sword
- jet set willy
-
(and 2 more)
Tagged with:
-
Version Version K3
178 downloads
Altered Reality. The basic Core of this game is Matthew Smiths original code. Which although edited still runs in the original 48K Due to extensive compression and rewrites of the original code this version. Runs at double the original speed Runs with up to 16 sprites per room Runs with up to 32 arrows per room Has diagonal sprites Has mid sprite bounce Has homing sprites Has 128 rooms and ..... I will leave the user/player to work out what has changed. Uses "G" key- "H" key- and the "K" and "L" key --------------------------------------------- Technical addendum :- files needed to construct the game NOT INCLUDED. These files are used to generate the game file main files:- mnjsw9.asm 15,264 lines in 423,867 bytes manic_edit_copy.asm 342 lines in 10,576 bytes fixed_page.asm 1,249 lines in 48,929 bytes merged.asm 40 lines in 2,096 bytes included data files when assembling x0 1132 lines in 39k ; big data statements x1 286 lines in 20k x2 509 lines in 22k x3 1103 lines in 41k included binary files when assembling edited-edit_3 6.75k control.txt 650 lines in 20k game files jsw0.tap 30.9k jsw1.tap 30.9k the files control.txt jsw0.tap and jsw1.tap are processed by saveab1.bas this is 1651 lines of qbasic in 48.07k The process's includes- read room layout, compress data -output room layout data read sprite data and read control file, change sprite data compress and output reconfigure the key data and output read the room data, discard unwanted data compress and output in essence the basic file is taking the two games and merging into a set of output files, needed to assemble A sprite editor and a room editor, along with an assortment of checking data files . All in, around 790k of associated files and data for version "K". Which is why old versions are discarded when I update the logic I am currently on version "L" - which is a big change in game play- 1 review
-
- runs in 48k
- 128 rooms
-
(and 2 more)
Tagged with:
-
Having tested a room with a cell at head height. I find I can jump over it. So the third check is needed. What is strange is the arc of willy jumping over a nasty compared to the arc of willy passing over a wall. They are nothing alike. So I need to have a look at the ramp code or any other piece of code that might be relevant, and find out why the wall is stopping the arc in the manner it does. I am not concerned with the heel catch and land on a wall, but the point at which is says it is clear to move. The arcs are so dissimilar that I need to investigate the take off and clear portion. This is side tracking me from what I was doing...
-
This is similar to the ability to jump over a head height wall object. Logic say that we can clear the object and not land on it, yet land on it we do, Therefore I would think the same code layout that says you have landed on a wall, will also detect the nasty and kill you.
-
When the nasty(fire cell) is set to the same attribute as a wall then a number of interesting things happen (with no change in code) A nasty/wall acts as a normal wall. it will not let you pass into the space Sliding down a nasty/wall we have yet another aspect of the ramp stair code affecting the outcome. The passing through the wall by willies head will kill him. Walking on a tile that is defined wall/nasty will also kill him ;------------------------------------------- I was investigating another theme. eg. invulnerability. The code at #961e colours in willies tile as he moves around the screen. It has a check for nasties and kills willy if the area of willy is over a nasty. It also extends the checking to the area below willy for nasties and kills willy if he walks on a nasty. YET The code at #8e49 deals with the tiles beneath Willies feet and specifically checks for nasties. I see no reason for the code at #961e being made to check beneath his feet. If the attributes of willy are cell aligned then test/ colour in the four tiles. e.g check for nasty/colour in the tile If the attribute of will is not cell aligned then test/colour in the six tiles The change is to remove the check specifically for beneath his feet. It is not needed. This changes two parts of the code 95F8 LD HL,($85D3) 95FB LD DE,$001F 95FE LD C,$0F 9600 CALL $961E 9603 INC HL Move 9604 CALL $961E 9607 ADD HL,DE 9608 CALL $961E 960B INC HL 969C CALL $961E 960F LD A,($85CF) 9612 ADD A,B 9613 LD C,A 9614 ADD HL,DE 9615 CALL $961E 9618 INC HL 9619 CALL $961e 961C JR $9637 ;quick count 38 bytes and 61E LD A,($80A0) 9621 CP (HL) 9622 JR NZ,$962F 9624 LD A,C 9625 AND $0F 9627 JR Z,$962F 9629 LD A,($80A0) 962C OR $07 962E LD (HL),A 962F LD A,($80BB) 9632 CP (HL) 9633 JP Z,$90B6 9636 RET ;quick count 24 Total 62 becomes ; b=the offset for the ramp 95f8 ld c,2 ; default colouring height ld a,(#85cf) ; the y pos add a,b ; the y pos + stair offset and 14 ; check for cell aligned jr z,cell_aligned ; if cell aligned then 2 high inc c ;else it is 3 cell_aligned ld de,31 ;offset to next cell_set_loop call colour_me ;colour left cell inc hl ; move from left cell to right cell call colour_me ;colour right cell add hl,de ;down a line dec c jr nz,cell_set_loop ;loop for the height jr #9637 ;draw willy ;quick count 27 colour_me ld a,(#80bb) ; nasty cp (HL) ;is this a nasty JP Z,90B6 ;kill if so LD A,(#80A0) ;get the background tile CP (HL) ;is this background RET NZ ;used so no colouring OR #7 ; set ink white for willy LD (HL),A ;and colour in RET ;quick count 16 total 27+16=43 ;Which I hasten to add is nothing like the code I use
-
The original loop terminates with the ink(1) and paper(0) 37012 LD A,63 Initialise A to 63 (INK 7: PAPER 7) 37014 LD HL,22528 37017 LD DE,22529 37020 LD BC,511 37023 LD (HL),A 37024 LDIR 37026 LD BC,4 37029 DJNZ 37029 37031 DEC C 37032 JR NZ,37029 37034 DEC A 37035 JR NZ,37014 note this has filled the screen with value 1 when it finishes 37037 LD A,(33882) 37040 OR A Are we in demo mode? 37041 JP NZ,34449 If so, demo the next cavern ; a slight rearrange will fix the problem 37012 ld a,63 (or 64 if the same start colour wanted) 37014 ld hl,22528 37017 ld de,22528 ........................ 37020 ld bc,4 37023 djnz 37023 37025 dec c 37026 jr nz,37023 37028 dec a set the zero flag 37029 ld bc,511 37032 ld (hl),a 37033 ldir does not affect the zero flag ....................... 37035 jr nz,37014 ;this will finish the loop with black ink and black paper 37037 ld a,(33882) etc.
-
This should be under JSW not MM. But I am reluctant to start a new heading. I extended the headbutt to include the MM collapsing floors. The playability of this is restricted to 3 rooms. Hence the white blocking walls/floors added to stop wandering. Additions:- collapsing floor, in addition to headbutt, gun, 4 logo title screens, and 128 rooms. The gun is now disabled in specific rooms.... Note the ammo display disappears for the room when the gun is switched off. Added some SFX's COLLAPSE_FLOOR.TAP.tap
-
You are probably coming into the routine at 8ebc from one of the two jumps below, which presents a problem 8DF7 LD A,($80B2) 8DFA CP (HL) 8DFB JP Z,$8EBC >>>> 8DFE INC HL 8DFF CP (HL) 8E00 JP Z,$8EBC >>> I have a very small subroutine to handle the above type of tile check. It occurs elsewhere. The sole purpose of the routine is to leave HL alone. But a quick method of doing the same as my sub routine is original change to 8DF7 LD A,($80B2) Ld a,($80b2) 8DFA CP (HL) cp (hl) 8DFB JP Z,$8EBC >>>> jr z,$8e00 8DFC 8DFD inc hl 8DFE INC HL cp (hl) 8DFF CP (HL) dec hl 8E00 JP Z,$8EBC >>> jp z, Butt or $8ebc
-
Code at $8ebc change to original 8EBC call Butt LD A,($85CF) 8EBF ld a,($85CF) ADD A,$10 8EC0 8EC1 AND $F0 8EC2 ADD A $10 8EC3 LD ($85CF),A 8EC4 AND $F0 8EC5 8EC6 call $8E99 CALL $8E9C see the routine below 8EC9 LD A,$02 8ECB LD ($85D1),A 8ECE LD HL,$85D0 8ED1 RES 1,(HL) 8ED3 RET ; the call to this routine is moved to the point that "a" is saved 8E94 LD A,($85CF) 8E97 ADD A,$08 8E99 LD ($85CF),A ; moved to call here 8E9C AND $F0 ;<<<<<<<< original call point 8E9E LD L,A 8E9F XOR A 8EA0 RL L 8EA2 ADC A,$5C 8EA4 LD H,A 8EA5 LD A,($85D3) 8EA8 AND $1F 8EAA OR L 8EAB LD L,A 8EAC LD ($85D3),HL 8EAF RET ; a very vague Butt routine Butt: test if code is wanted, e.g. jump direction, headbutt flag return if not wanted else call Butt2 inc hl ;all calls here return with hl intatct Butt2 code to check where hl is pointing return is not wall tile act on the headbutt If tile graphics not cleared then return clear TILE from Master Attrib ret ;========================================================================================== Teaser: The border bits are very wasteful. The bits 0-1-2 are the border colour and the rest of the byte is wasted. So I use 1 bit for setting the Butt to on or off. That still leaves 4 bits With the room fixed to 256 bytes in size,. Conveyors and ramps use Ramp_dir 1 byte Ramp_position 2 bytes Ramp_length 1 byte Conveyor_dir 1 byte Conveyor_position 2 bytes Conveyor_length 1 byte That is eight bytes to define these two actions - It is possible on variable room size (as I now have) to delete a lot of the fixed room data. The bytes that store the conveyor and ramp direction are now also stored in the border colour byte. In fact I have deleted all the ramp data and all the conveyor data from the room data. e.g. these eight bytes are reduced to the top two bits in the border flag... - It uses a big chunk of code to restore these bytes but the code is part of a bigger piece of code. And the ramp/conveyor specific code (the bit dealing with replacing the data, deleted from the room) is no where near 100 bytes Simple maths will show you why it is worth the effort of removing unwanted data. Those 8 bytes are repeated 128 times, if using the old room storage method.( in a 128 room game) So the data contained would use 128*8 bytes of memory ( 1024 ) verses the 100 bytes of code The above is an over simplification.
-
Yes it is #8ebc. The code is crumbly floor in reverse. The majority of my code is concerned with checking that the wall tile can be deleted. I have now added a room specific flag. One of the unused border bits (bit 4) in my case. So rooms have head butting as an option via the border flag.(For now) This means only the one room left. And since that is in the original 60 rooms, it should be edited back to the original layout, and have the head butt option removed. Tested out the full 128 room version. I have it up and running and can now wander around 128 rooms in a 48k Spectrum Don't expect any major changes, from other versions... I am testing other things, and I have never tested this to see how far you can get. 128 room.tap
-
The wall tile disappearing is the result yet again of the ramp/stair code. So I used part of that code to stop downward detection and deletion of the tiles. The updated file is with the first file. E.g. Two posts ago.