Jump to content
Jet Set Willy & Manic Miner Community

Norman Sword

Contributor
  • Posts

    596
  • Joined

  • Last visited

Everything posted by Norman Sword

  1. Errors in data for Manic 40 Miner v6c Since this was the last version - I am not modifying code - but I will modify the data. Two versions - V6c1 and v6c2 - Take the path grass hopper. both versions add another platform above the portal. V6c1 removes the crumbling conveyor platform V6c2 Leaves the crumbling conveyors alone. The removal of crumbling conveyors was because I expected a graphic problem, Having jumped on a few in the room itself ( I added a few and tested what happened) I reverted back to the original crumbling conveyor platform. Files listed alongside the original V6c The path that is taken - will remove the path behind.
  2. I have replaced the file V6c in the linked post above. Not aware of deleting . I did however edit the instructions page and remove all the blank lines and spaces. I will not edit this file for at least a year, probably never. What the file showed me was it would far simpler to write an editor in something like QBASIC64. I spent a couple of days doing a screen editor for manic panic in QBASIC64. It is a feasable thing to go further and write an editor for the whole game. With less effort I could write an editor for Manic 40 Miner. By doing it in qbasic64 I do not have any memory constraints. Whilst I looked at the question of writing an editor. I stopped myself from actually going further. The reason being the vast quantity of variables in Manic Panic that can be edited in one way or another. The prgram I wrote was just a few hundred lines of code. (actually 864 lines) Manic 40 Miner would be a lot easier, just not particularly interested in doing so.
  3. Concerning Manic 40 miner. Response to the above questions about Manic 40 Miner 1) The version should be playable and finishable. I have/had no intention of creating a new version. The data started as an amalgamation of two sets of data (I think that is stated in the scrolling message). I then edited some of the screens and added a part editor..... The editor part, was what I was concentrating on, not the game part. Hence the statement it is a test routine. 2) No other versions are planned. It might actually be impossible to update. This year and last, I have suffered more crashed and corrupted hard drives and ssd's than in the previous 30+ years combined. Around four drives I think! (without specifically checking) 3) Ok ---- I have not seen the code for this version on any of my backup drives. It is possible that all the code is on a dead drive. Addendum - I have checked ... it appears I have the source code and the room source code/data. Last version I have assembled is version 6c. No immediate plans to update. I concluded that editing the game in z80 with the code as well is not the ideal way to do it.
  4. The short notes that accompany jsw2+ was never really updated, for the subsequent updates. Those note are in essence mostly what the first and original version of JSW2+ did. In those notes it talks about a short maze. That maze is NOT seen in any of the updates writen after the test version. What the maze did was present the player with what appeared to be very similar rooms. Those rooms were interlinked in a complex cross cross logic and unfortunately the logic was complicated enough that the people testing the routine, could not work out how to escape the maze. I have played the maze and when told the sequence needed to escape from it. Using the specified logic, it was a simple enough thing to repeat and escape. However it was concluded that the logic, whilst it never changed - Was not in keeping with the simplicity the rest of the game exhibits when moving around. The Maze rooms were moved and placed in a linear fashion as Glitch in holodeck x. The complex room logic removed and since it was plugging the hole that escaped the NCC1501 (via a death contact). The multitude of objects were added to compensate for the loss of life. So the Maze does not exist in the final version. Addendum. The maze was originally between top landing and first landing.
  5. A variant with 40 levels --- How about Manic 40 Miner... Designed as an editor . but still has 40 levels.
  6. Follow on:- Available on E-bay for £14.95 + £3.00 P&P No idea of quality or any other aspect. https://www.ebay.co.uk/itm/194237192617?hash=item2d397059a9:g:a5AAAOSwwlVgNDbf
  7. reference TobyLobster/jsw2021 from GitHub Quote:- Documenting the Remaining Minor Differences The jump parabola shape is very slightly different (while still being the same height and length overall) since the code seems to have problems with odd numbers of pixel height changes within the jump. This makes only a few minor changes overall: Nomen Luni: On the BBC you can jump from the top of the slope, under the Moon enemy to land on the platform under the ledge. On the Spectrum you have to jump to the lower platform first. The Bow: to jump up from the platform next to the wheel item needs two platform tiles instead of just one. Top Landing: Jumping into the Chapel area lands on the top level of flooring not the tiles below as on the Spectrum. The Forgotten Abbey: The platform under the item should be a wall, but changing this means the player can't fall down past it, trapping them at the top of the room. All the differences above match what is seen in the Spectrum's JSW II, so I imagine the jump parabola there matches the BBC version. A correction to the above statement- highlighted in red. JSW II uses the correct parabolic data. The reason -The Bow-, has two blocks instead of one in JSW II is the consequence of JSW checking the wrong blocks. This also causes the bug of passing into floors when jumping in -the First landing- going towards -the Chapel-. The code in JSW does not handle the double crossing of block edges, when entering a new block diagonally. That is when it moves both vertically and horizontally across a block boundary. This also is the reason why JSW II can clear the wall in the Garden and the same move is impossible with the code of JSW.
  8. Spider wrote I kept thinking about the Eugune 'removal or harmless' cheats I wrote but they sort of spoil it a bit. What I could do with is something to either: > Slow his descent down to about half its current rate or > If he is moving upwards when the last object is collected, do not make him move down until he's reached the top. This has both advantages and disadvantages. I'm thinking more along the lines of the first option, if there's no sane space a quick JR out into a bit of dead area would do just fine. My response follows with two pieces of code:- First of the two posts was half speed Eugene on object collection. e.g. Eugene moves up and down as normal Until last object is collected then moves only downward. Eugene's speed is slowed to half its normal speed and Eugene finally stops when over the portal The second was ignore direction change for Eugene - E.g. Eugene moves up and down as normal until the last object is collected. From then onwards Eugene will continue moving as normal but will stop when over the portal. (this removes the forced direction change to only downward on all objects being collected)
  9. ; eugene keep movement - lock on portal org #8df8 move_eugene ld hl,#80dc ; Y POS LD DE,#80DB ; DIRECTION ld a,(de) ; the direction or a jr z,descend ;else going up - ignore possible collection of all objects ld a,(hl) ; y position dec a ; move eugene up jr z,change_dir dec (hl) jr draw_eugene descend ld a,(hl) cp #58 ; PORTAL POSITION jr z,change_dir_maybe inc (hl) jr draw_eugene nop ; pad out nop nop nop nop nop nop nop nop nop nop change_dir_maybe ld a,(#8074) ; last item attribute or a jr z,draw_eugene change_dir ld A,(DE) XOR 1 LD (DE),A draw_eugene ld a,(hl) ; from here #8e27 the same as the old code ; FROM HERE ---- THE OLD CODE and #7f ; as old code end move_eugene
  10. Half speed.... ;eugene slow org #8df8 move_eugene ld hl,#80dc ; Y POS LD DE,#80DB ; DIRECTION ld a,(#8074) ; last item attribute or a jr z,descend_slow ld a,(DE) ; the direction or a jr z,descend ld a,(hl) dec a ; move eugene up jr z,change_dir dec (hl) jr draw_eugene nop ; my code is smaller - so pad out nop nop nop descend_slow ld a,(#80bd) ; game clock - steps in 4 bit 2,a jr z,draw_eugene ; slow to half speed descend ld a,(hl) cp #58 ; PORTAL POSITION jr z,change_dir inc (hl) jr draw_eugene change_dir ld A,(DE) XOR 1 LD (DE),A draw_eugene ld a,(hl) ; from here #8e27 the same as the old code ; FROM HERE ---- THE OLD CODE and #7f ; as old code end move_eugene
  11. Cunning - I assume that the revised routines are passive. The original added blocks to an exposed face, actively over writing the screen with the new block I assume the revised routine adds blocks to the hidden faces - passively adding blocks with no overwrite of existing blocks. I will come back to this when I have the time to do so.
  12. When the routine Block.tap was listed. (written in basic) I wondered if the same type of routine could be used to generate the familiar JSW title logo. So I wrote something that emulated the visuals of the basic. Whilst that code took an hour to write, I could not generate the JSW logo using the routine I wrote. It can draw what looks like the LOGO with a flicker. The Flicker is the result of not being able to stop the drawing at any point, with the graphics needed. It has to keep on updating the screen to form a flickering image. So a failure and not what I wanted. This is the Block Tap equivalent in Assembler. Hold "A" to slow down to the speed of drawing the basic blocks. Hold "D" to freeze LOGO_G.tap
  13. Best viewed from the moon. e.g. not close pulsing Psychedelic This uses two separate routines to move colours - the colours are then merged. PULSE.tap as usual - I looked at the code - it was not quite what I wanted . Pulsar is more symmetrical in code and output. This separates the bright ink and paper - so this uses 3 routines and then merges them pulsar.tap
  14. 10 PLOT INK RND*7 ; RND*255 , RND*175: GOTO 10 Explode.tap is just a bit more complicated. The backdrop has 128 stars that are being tracked. E.g. Every so often a star in the backdrop is moved. The explosions move 160 points. The maximum number of explosions is 8. so the explode routine tracks and moves 1280 points - giving the total of 1408 points the program is tracking and moving. The whilst the above is happening it changes the attributes of differing squares. -----------------------
  15. This is basically a re write of the routine I added to Manic Miner (dual - Software Projects and Bug Byte). Major difference being it is not constrained to a game playing area, and the backdrop. explode.tap
  16. Balloon Popping. The solar ray is controlled by the vertical sprites. The skylab sprites step sideways. Either left or right with a programmable defined step. (each sprite has its own step) Due to the start positions being anywhere, that stepping could move the sprite over a wall and/or the graphic depiction of the remaining air/oxygen. Whenever this instance happens, the sprite is moved again. Whenever the double move condition is done, the solar ray is switched on and off. The magenta skylab comes down 3 times before stepping onto the edge. It switches on/off the solar ray and is moved to the left of the screen to repeat. + the yellow Balloon moving left
  17. The last sprite in Particle Collision Chamber has a horizontal component of movement. I did try most of them having a horizontal component and concluded -<NO>- In Particle Collision Chamber when played in TORCH mode. The balls have a high vertical velocity which when coupled to a horizontal component made their paths seem erratic when they could not be seen. Your response (above) was while I typed this. In Balloon Popping -- The solar ray is only switched on in EXPERT, ACE and TORCH modes.
  18. The room/cavern count was set as (you will not know, until you try) Technically their are 7 caverns in this code. It was just as hard for me to delete the rooms/caverns as it was to add new ones. Having now changed the code to now allow room deletions I can alter room count with greater ease. Caverns included. That are changed. 1) Smelly Genes, 2)Yellow stones, 3)Balloon Popping, 4)Virus attack, 5)Particle Collision Chamber Left as a game terminator - Control one. Particle Collision chamber is different from the final version. In Balloon popping -- When playing the room, the direction of deflection of the solar ray is set to the side of the room that Willy is in relative to the beams start point. In other words the beams will deflect left or right depending on where Willy is.
  19. Very similar - written in assembler - I took the visual idea of above and wrote the code in assembler. twirl.tap the 2nd version, is the progression in complexity twirl2.tap the 3rd version plays with speed as well twirl3.tap The very last version - which changes the checker pattern The real purpose of writing this was to show the size difference between C and assembler. twirl4.tap Footnote. Each of these tap files contains a header and a basic loader. All the running code data is contained within the assembled file. The size of each version is 121 bytes less than the files size. E.g. Twirl tap has 367 bytes of code and data. -- Twirl2.tap has 387 bytes of code and data -- etc..
  20. I decided when I was writing Manic Panic to make the screens as easy as possible - To celebrate nearly 600 downloads (on this website) (it is 598 at the moment) , I will show how four of the screens started off and where then changed to be easier. Only 4 screens here. mp_4rrm.tap
  21. I looked at the code from the above - it was not quite what I wanted - This is more how I wanted it to look. The struggle between areas of colour, for domination. ======================================== The routine fills the screen with colour. Then it selects a (random) position and checks to see what colour is dominant in that area. The dominant colour, then fills the local area. The selection of areas continues for 10,000 loops. Then the whole process is repeated. Shape2.tap
  22. I write in assembler. This is called shape. Surprisingly it is running flat out with no delays. Shape.tap
  23. The full list of alternate (shorter) opcodes using either RRCA for RRC A and RLCA for RLC A in JSW. The two sets of opcodes are not exactly the same in operation regarding flags. But in their context within JSW swapping to the shorter version has no impact on the code. Besides the value at #8f14, all the other uses are in the conveyor routine. RLC A at #9514 and #9516 RRC A at #9527 and #9529
  24. I will leave you to get on with it then. Addendum Meaning :- I will not bother myself any further on your behalf.
  25. Turning off the music does not interfere with movement. E.g. You can turn the music on/off whilst playing the game. So the music can be turned off on the 2nd frame - when played automatically.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.