The game is fairly bad. I think we had a long discussion about it before, because you have a big universe of "n" planets and you have to pick the correct ones and play a maze and space invaders. There is a savage time limit so unless you guess amazingly well you are going to have a bad time. -- But the tape loading is truly great, it's an experience. Weird colour stripes and that "peppering" moment when it suddenly blasts the logo onto the screen. This thing was made to test emulators.WhatHoSnorkers wrote: ↑Thu Oct 19, 2023 6:38 am I bought Xcel as I wanted to play it, and it's "distribution denied". I played it once in 1990 or so and it intrigued me. Of course, the tape doesn't work...
Fun with RANDOMIZE USR
Re: Fun with RANDOMIZE USR
Re: Fun with RANDOMIZE USR
Probably reasonably predictable. After all you will have always just run the code for decoding a USR instruction, which will probably have caused most of the registers to get into a knowable state.ParadigmShifter wrote: ↑Wed Oct 18, 2023 11:58 pm Many will depend on what is currently in registers though and I don't know enough about BASIC to know if the register contents will be consistent or not.
Re: Fun with RANDOMIZE USR
I've never tried OUT, after my brother's scolding I never tried to play little hacker again :\equinox wrote: ↑Thu Oct 19, 2023 4:52 am God, how did I not see this EXCELLENT thread previously?
Mate, for me, it was OUT, which is much more mysterious -- because we know what USR does, that's just saying "run a piece of code that I put at this address" (and if there is no code, then keep cycling through the zero 0...0...0... until you find some. Even if it's USR 0 reboot.)
OUT is much more subtle and bizarre. I used to mess with random numbers there, as a kid, and I will never forget the time when I managed to create the "opening menu" (Tape loader, BASIC, Calculator...) but all broken and crazy and green. Thing is, you can't do it twice. Even if you remembered the numbers. It's all connected to what the hell was going on at that millisecond. OUT is magic.
OUTing is also a good way to generate the "pyjama stripes". If you don't know what I'm saying then you haven't OUTed enough.
Later I graduated to "deleting every file I didn't personally like" and I screwed up the Windows 95 PC pretty bad. (I didn't like DLLs much.) I remember having to call some ATI hotline "please help, how do we get back from 16 colours to 256 colours again"...
Also, lacking a proper BASIC manual for me there were some taboo commands like CAT (my bro said "it's for the disk drive and we don't have one"), I really wanted to see that and play with that CAT, I was disappointed when I discovered that the command isn't about the feline (it isn't, eh?).
Anyway this is my first try... unfortunately I forgot to write down the values before the screen was filled with these two patterns.
The second has better visuals than many games.
- lister_of_smeg
- Microbot
- Posts: 145
- Joined: Thu Nov 16, 2017 1:44 pm
Re: Fun with RANDOMIZE USR
Chuntey field distortion on demand
Code: Select all
RANDOMIZE USR 2054
- Van_Dammesque
- Manic Miner
- Posts: 435
- Joined: Sat Jul 11, 2020 12:09 pm
Re: Fun with RANDOMIZE USR
I remember a thread like I started I think on WoS and was told the fake loading was the rest of the ROM being read probably continuing into the RAM.
- lister_of_smeg
- Microbot
- Posts: 145
- Joined: Thu Nov 16, 2017 1:44 pm
Re: Fun with RANDOMIZE USR
It'll be determined by whatever the values of the DE (length) and IX (start address) registers contain at the time.Van_Dammesque wrote: ↑Thu Oct 19, 2023 12:40 pm I remember a thread like I started I think on WoS and was told the fake loading was the rest of the ROM being read probably continuing into the RAM.
- ParadigmShifter
- Manic Miner
- Posts: 670
- Joined: Sat Sep 09, 2023 4:55 am
Re: Fun with RANDOMIZE USR
If you RANDOMIZE USR 1218 that calls the proper save routine (headerless though) and it appears to be saving 23770 bytes from address 980 when I try that. 1331 is right in the middle of that routine.
Main bit saves DE bytes from IX I did not check if different entry points adjust DE and IX before the main saving loop starts.
Easy to check in an emulator anyway.
With the help of the ROM disassembly it's fairly easy to work out what is happening anyway, this is well commented
https://skoolkid.github.io/rom/dec/maps/all.html#1507
And it's far easier to read ASM than to write it Even I used to debug stuff on processors I had no idea how the assembler opcodes worked fairly easily (RS3000 on PS1 and x86 for device drivers on PC). RS3000 was a bit silly though where if it did a jump it also executed the next instruction before it took the jump.
Main bit saves DE bytes from IX I did not check if different entry points adjust DE and IX before the main saving loop starts.
Easy to check in an emulator anyway.
With the help of the ROM disassembly it's fairly easy to work out what is happening anyway, this is well commented
https://skoolkid.github.io/rom/dec/maps/all.html#1507
And it's far easier to read ASM than to write it Even I used to debug stuff on processors I had no idea how the assembler opcodes worked fairly easily (RS3000 on PS1 and x86 for device drivers on PC). RS3000 was a bit silly though where if it did a jump it also executed the next instruction before it took the jump.