I made a new App for the Multiface 3

Show us what you're working on, (preferably with screenshots).
User avatar
druellan
Manic Miner
Posts: 341
Joined: Tue Apr 03, 2018 6:19 pm
Location: Argentina
Contact:

Re: I made a new App for the Multiface 3

Post by druellan » Fri May 17, 2019 4:01 am

Hobes128 wrote:
Thu May 16, 2019 10:22 pm
druellan - It really made me smile to see you actually captured some hidden loading screen messages with my code - thats really cool! And yes, I would love for you to use my code in a stream so feel free to do that :-)
Done! And we found a little collection of hidden messages and secretly signed screens, pretty amazing considering I was trying to pick random titles (Spanish)



The stream was so-so because of EightyOne: it has some issues with the autoload I was not aware of.
Hobes128 wrote:
Thu May 16, 2019 10:22 pm
Your suggestion to add a pause at the end of the routine would make sense i guess (i.e. press any key to continue running the game). After doing a bit more reading, i realised that i didn't really put much effort into making sure the game could continue running after i exit my routine. That was mostly because i was focused on loading screens, and i figured that triggering an NMI in the middle of the tape loading would almost always cause a crash (or at least an r-tape loading error).
The problem arises when you are loading a game that uses a custom loader, in that case, two things might happen:
- After the NMI, the custom loader just triggers a reset
- After the NMI, the custom loader keeps going, in that case, if there are no hidden attributes, you have no indication the NMI worked.

But those are small details, really, the code works pretty well!
0 x
Un buen día me puse a probar juegos de ZX Spectrum a ciegas en Youtube, terminó siendo:
📺 Retroarqueología en Youtube

Alcoholics Anonymous
Berk
Posts: 30
Joined: Mon Oct 08, 2018 2:36 am

Re: I made a new App for the Multiface 3

Post by Alcoholics Anonymous » Fri May 17, 2019 5:43 am

Hobes128 wrote:
Fri May 17, 2019 12:05 am
The multiface is indeed triggered via a non-mascable interuprt, but the last page of the manual states...
"to return from your program, to the program you stopped, use RST 0" so i just did what the manual said ;-)
The multiface rom probably contains the right instructions to return to the caller at address 0. There are a few things that need to be done (write to port 0x3F to allow the nmi button to work again, read from port 0xBF to disable the multiface rom/ram mapping and that should be done just before a retn instruction in the spectrum rom). At least that's how I think it works :)

I have a question though - the multiface should be in invisible mode when it powers up which means you have to push the button and exit from the multiface at least once before enabling the multiface ram and copying your code there. Is that how it works on the real thing? I don't have one to try myself.

And the multiface manual mentions that you could write in to get more detailed programming instructions. I don't suppose anyone has seen these instructions?
0 x

User avatar
djnzx48
Manic Miner
Posts: 398
Joined: Wed Dec 06, 2017 2:13 am
Location: New Zealand

Re: I made a new App for the Multiface 3

Post by djnzx48 » Sat May 18, 2019 1:44 am

djnzx48 wrote:
Thu May 16, 2019 11:39 pm
So in your example, after the RRAs the A register should equal 00100001.
Sorry, I made a mistake here... I should have said 01000001.
0 x

Hobes128
Berk
Posts: 10
Joined: Sun Apr 14, 2019 5:13 pm

Re: I made a new App for the Multiface 3

Post by Hobes128 » Sun May 26, 2019 7:14 am

Well, i've made a new version of my MF3 Easter Egg finder, with a pause added (as requested by druellan). After pressing the MF3 button, it now waits untill you press space before returning to the game. I incorporated some of djnzx's advice and removed all the calls, and replaced them with relative jumps too (so the code is portabel now) but i didnt incorporate the xor method as i didnt really understand it TBH. I might come back to that at some point. Anyway, here it is...

10 REM Multiface Easter Egg Finder V2 - By Hobes128 20,05,2019
20 CLEAR 32768
30 PAPER 6: INK 3: BORDER 0: BRIGHT 1: FLASH 1: CLS : PRINT "MULTIFAC 3 EASTER EGG FINDER"
40 PRINT : PRINT "SETTING UP - PLEASE WAIT"
50 FOR i=40000 TO 40027: READ a: POKE i,a: BEEP 0.01,(a/5): NEXT i
60 FOR i=40100 TO 40105: READ a: POKE i,a: BEEP 0.01,(a/5): NEXT i
70 FOR i=40200 TO 40282: READ a: POKE i,a: BEEP 0.01,(a/5): NEXT i
75 REM STOP
80 PRINT
90 PRINT "PLEASE ENSURE MULTIFACE IS ON, THEN PRESS ANY KEY"\#013100 PAUSE 0
110 RANDOMIZE USR 40000
120 PRINT : PRINT "DONE. NEXT TIME YOU PRESS THE MULTIFACE BUTTON, ANY HIDDEN MESSAGE WILL SHOW IN FLASHIN YELLOW/MAGENTA. Have Fun!"
130 DATA 219,63,33,164,156,17,0,32,1,6,0,237,176,33,8,157,17,96,34,1,84,0,237,176,0,219,191,201
140 DATA 96,34,0,82,85,78
150 DATA 245,197,213,229,33,0,88,17,0,3,126,230,7,71,126,230,56,31,31,31,184,40,56,35,27,122,179,32,237,62,6,211,254,6,140,5,32,253,62,19,211,254,6,140,5,32,253,62,6,211,254,6,80,5,32,253,62,19,211,254,6,80,5,32,253,1,254,127,237,120,254,191,40,211,225,209,193,241,199,54,243,24,196


I also experimented with some pointless border effects and sound, so while it's waiting for the space key to be pressed, it just a big of a horrible noise, and flashes the border a bit. This will probably be really annoying for anyone that actually wants to use the app, but i learned a bit more about coding, so it made me smile at least :-)
2 x

User avatar
druellan
Manic Miner
Posts: 341
Joined: Tue Apr 03, 2018 6:19 pm
Location: Argentina
Contact:

Re: I made a new App for the Multiface 3

Post by druellan » Sun May 26, 2019 1:36 pm

Hobes128 wrote:
Sun May 26, 2019 7:14 am
Well, i've made a new version of my MF3 Easter Egg finder, with a pause added (as requested by druellan).
Beautiful, I need to test this ASAP. BTW, people got hooked on the small stream I did. To see the hidden messages on the actual screen instead of a text reference on an article makes a huge difference.
0 x
Un buen día me puse a probar juegos de ZX Spectrum a ciegas en Youtube, terminó siendo:
📺 Retroarqueología en Youtube

Post Reply