-
Posts
5,294 -
Joined
-
Last visited
Everything posted by Spider
-
Is there any unused space in the game code ? As in , you've not used much of the dead space within the game itself ?
-
I recorded it in Spectaculator. This does not play back in Spin. Can redo if needed. I set Spectaculator on flash load , using the 48K model and just recorded the whole lot to the title screen. Its the original tape not the re-release*** so it asks for a code which I provided (yes the correct one, the code was not modified) jsw2_spectac.rzx I re-did this in Spin , its the whole lot , but you can save as video and trim down. It did not speed up loading for some reason with this emulator. Note I had to record this in 128K (Sinclair toastrack model) because my Spin 48K rom is quite modified whereas the 128K one is not. jsw2_spin.rzx Please say if anything needs redoing. Note I failed the first key entry, my fault. *** Re-release, its quite different. The original should be one short piece of Basic containing the loader then a large headerless block, nothing else. The re-release tends to be about 3 pieces of code to 'bypass' the keycode. Best I can remember with this version (re-release) without having looked into it in details for many years is its a snapshot in effect of the game at the title screen. This was -not- used here for the above, only the original tape. complete with seven pages of keycodes! 🙂
-
So we can see it soon ? 🙂
-
Should not need to repeat the CLEAR 🙂 With ZXBasic its extended mode (assuming 48K Basic) then symbol shift and 3 together to get the keyword LINE With ZXEDitor (block editor anyway) you can choose a type of header "compose datablock" and pick either tzx or tap to match and choose "program autostart header" instead of "program header" I did see some files you sent a while ago but due to (other issues) I can't process multiple copies of things at the same time 😞 One "full" tape file and I should be able to sort it.
-
What (where is it loaded) is the piece of code in line 100 of the second program ? You'd need CLEAR 32767 at a minimum really that will give plenty (ish) Basic space and let the main codeblock load at 32768 You're correct, 'load' the second one which will overwrite the first, i am thinking here -if- the second program does -not- have a LINE xyz to start it, as the original has been overwritten it -might- try to continue onwards from the program line counter instead of the start of it... if it was loaded in a new reset machine it would load and not do anything without a LINE however if something is already there... so if you had say line 200 (example) in the first program of LOAD "" , like 200 LOAD "" (load the next bit) and the second program did -not- have a LINE when saved... it -might- start running at line 201 in the -new- program. Its hugely preferable to add LINE xyz unless merging so that it won't confuse the basic interpreter. The issue could be as simple as something like that. I'm not sure how Basic will deal with a new piece of Basic without an autostart line number that is loaded (not merged) , assuming the old and new share a line number it may even start executing the 'new' Basic at the next statement in the line that was used in the old program to load it.
-
Had added a bit while you were typing @DigitalDuck 🙂 , Wrong error I meant to say "out of memory" not "no room" , that one I saw a lot of with 16K 😄 , but yes. The merging (if it is being merged) is usually reliable but I've not really had to ever use that "in anger" as such with a lot of Basic. I do agree if its throwing that kind of interpreter error it might be changed while running, a good thought. Not hard to poke a value in , while in Basic but actually accidentally*** change something. As you know what is 'shown' is not always what is executed, numbers certainly, example: not_what_list.tap *** Was done a bit on some custom protection schemes iirc , much obfuscation... But here in this case for the O.P its not intentional . I do suspect you're right in perhaps a stray POKE or similar is doing something, easily done with a typo.
-
What is on line 100 Are you merging the second Basic into the first aka MERGE or are you loading it ? I'd expect it to fail with tape loading error if there was not enough space because ramtop was too low (technically a bug as it should say "no room" or similar iirc) Another possibility is any code being loaded low down has overwritten part of the Basic too but in that case it tends to (if you can do it) make a complete mess of the listing.
-
Yes I realised after I'd posted*** that it was locked to one level only. It does show how far you can go though. Although it is without a speed up terribly slow once you have a full row or more of lives! 🙂 (and temporarily lost internet) aka restart because someone aka me "forgot" to enable a couple of Bios features oops.
-
I wonder if I should of altered the code, its only changed iirc for cavern choice on startup*** so it didn't gain more lives, however as you've found ( well done 🙂 ) eventually the lives will spill over into the playing area preventing further progress. *** I could of I suppose with some work done the level select in the code, ideal world being it asked upon game start which cavern you'd like rather than at the moment a bit of Basic to alter it then fire the code up. EDIT... Good choice of Sam version music , 99% sure its that. 🙂
-
Why was Manic Miner never properly optimised?
Spider replied to Norman Sword's topic in Designer's Lounge
I did remove (merely out of curiosity) two halt instructions I noted and the speed was insane however that was not the point , I wanted to see it like that, then I put them back. 🙂- 38 replies
-
- demo only
- optimisation
-
(and 1 more)
Tagged with:
-
This looks very good. 🙂 Although a small (relatively) change the font is excellent too especially on the cavern name area.
-
Why was Manic Miner never properly optimised?
Spider replied to Norman Sword's topic in Designer's Lounge
I'm interested to see this too. 🙂 I found a reasonable speed increase by a more efficient method of the four main copy routines and combined with (in my case) storing the source screen data outside contended ram also made a good increase*** *** To do the latter, I cheated as a test by disabling contention in emulation, but it gave me a good approximation of what it would do. Must admit I'd not read that thread other than maybe a couple of posts when it first appeared as I'd assumed it was only about sprite designs nothing else. 🙂- 38 replies
-
- demo only
- optimisation
-
(and 1 more)
Tagged with:
-
No problems at all, it had to be really I think , unless his site was having some odd issues. Great. 🙂 Looking forward to you hopefully sharing some of your work when you're ready to.
-
Works fine on W10 (and W7 too, I can't recall if there were any issues with W11 and I don't have a 'box' to check that at the moment) I'm not sure why you can't actually download it, that sounds more like a browser issue ? Perhaps either wait a short time and try again or if you can and have one installed try another browser ? 🙂
-
No, it is normally reliable. Are you 100% you entered the correct code ? This might sound odd but try it again, if it persists, when on the code entry page itself being asked for a code, what is the byte value at 24965 ? It should be 2 The instruction itself is at 24964... 24964 JR NZ , 24968 ; jump if the code is wrong to ask again (or crash if its the second wrong attempt) If 24965 = 0 it reads like this 24964: JR NZ, 24966 ; jump if the code is wrong to accept it anyway: 24966: POP HL ; throw away the current return address from the stack 24967 RET ; Now the next one one will take us to the Title screen Enter something other than the correct code aka 1246 or 1111 etc Random: I think the codesheet for the AMS version is different (colouring aside) but I've not actually compared them, never saw the need.
-
Here. 😉 Comparison. https://spectrumcomputing.co.uk/forums/viewtopic.php?p=90487 Back on topic, as said please feel free to ask here, we can only try to help. 🙂
-
There are a couple of other disassembles too, with various levels of comments. Can I ask which platform you were considering ? It has been ported to quite a few (MM too) , just curious. 🙂 However (unlikely) we are 'missing' a Sam Coupe JSW and both MM and JSW for the Amstrad PCW256/512*** (the greenscreen wordprocessor) *** Don't laugh, there's some interesting titles on that machine, including Head Over Heels.
-
Thank you for the updated descriptor. 🙂 Always nice to have these up-to-date. I see the topic here now has decided*** to update itself to reflect that. *** Ongoing concern about it either updating immediately , a day later or in some cases never.
- 3 replies
-
- manic miner
- 40 caverns
-
(and 2 more)
Tagged with:
-
[File] Manic Miner: The Lost Levels
Spider replied to The-Red-Bayron's topic in Download Discussions
Great stuff! 🙂 -
Why was Manic Miner never properly optimised?
Spider replied to Norman Sword's topic in Designer's Lounge
Yes 🙂 That was partly the idea too. But I want to leave certain places in the code empty (3 bytes) where someone can easily CALL their own routine upon certain conditions in the game.- 38 replies
-
- demo only
- optimisation
-
(and 1 more)
Tagged with:
-
Made a couple of adjustments for now to see how it goes. I do see one small issue still.
-
Why was Manic Miner never properly optimised?
Spider replied to Norman Sword's topic in Designer's Lounge
I think the 'standard' MM and JSW run a bit too slow (honest thought) as with emulation I used to run them a bit faster. I do agree the third party edited ones are a lot harder and take into account (perhaps subconsciously) the erm "pace" ? I've seen myself with my own attempt at it, how fast MM and JSW can run with just a simple modification to the main loop , aka no actual detailed optimisation of the code in itself and also the next gain -if- the 'game buffer' was moved out of contended memory (easy with some emulators) I suppose when new on a real Speccy "back then" they seemed fast enough but these days we are spoiled a bit I suppose. 😕 I'm not sure. 🙂- 38 replies
-
- demo only
- optimisation
-
(and 1 more)
Tagged with:
-
Why was Manic Miner never properly optimised?
Spider replied to Norman Sword's topic in Designer's Lounge
Small update to my post with file, detailed in the description. I've not uploaded the txt notes on how as I'm not happy with the way I've written (and re-written) them yet.- 38 replies
-
- demo only
- optimisation
-
(and 1 more)
Tagged with:
-
Ah yes I saw this on Spectrum Computing the other day, its AGD based if I recall. I did have a quick go at the first two screens. 🙂