Hello,
I have a Multiface 2 clone (firmware 0E) and I would like to use these 3 programs which can be installed instead of the ROM version, when you press the STOP button :
- The Insider.zip (https://drive.google.com/file/d/1UWKLdk5HH4DwE7CfR95X52zfKUqj7_Aw/view?usp=sharing)
- Tearaway v0.4e.zip (https://drive.google.com/file/d/1yHKAIv-6aFiyxKt8XzW9_QpFp5xvhdOr/view?usp=sharing)
- TUSS.zip (https://drive.google.com/file/d/1detZ4aZGpz0C9yzdDKK0oMpAW4mSV9G7/view?usp=sharing) (The Ultimate Sprite Searcher)
So it works very well for TUSS. 👍
The program remains resident in the MF2 even after reset.
Every time I press the STOP button, the TUSS interface is displayed :
(https://i.servimg.com/u/f59/18/51/04/47/tu0310.jpg)
On the other hand it does not work for The Insider and Tearaway for the MF2 clones. :(
No problem on emulator or on an official MF2.
During the installation, these 2 programs correctly detect my MF2.
But when I press the STOP button, my CPC freezes :
(https://cpcrulez.fr/im4/2/poulette73-img02110.jpg)
Here is the basic launcher for The Insider :
10 REM insider - by David Vivian and Matthew KL Edwards
20 MEMORY 29999
30 PAPER 0:BORDER 0:MODE 1:INK 0,0:INK 1,8:INK 2,26:INK 3,18
40 PEN 2:PRINT:PRINT:PRINT:PRINT:PRINT " Romantic Robot"
50 PEN 1:PRINT:PRINT " Present"
60 PRINT:PEN 3:PRINT " The INSIDER v2.1"
70 PRINT:PRINT:PEN 1:PRINT " By Devonshire House"
80 PRINT:PRINT:PRINT:PRINT
90 PEN 2:PRINT " (C) 1989 ROMANTIC ROBOT UK Ltd"
100 LOAD "upcode",32768
110 LOAD "BOOTCD",38000
130 CLS
140 CALL 32768: REM install Booter
150 PRINT "INSIDER OK - Press any key to reset CPC"
160 WHILE INKEY$=""
170 WEND
180 CALL 0
Here is the basic launcher for Tearaway :
1 MODE 1:BORDER 13:INK 0,13:INK 1,13:INK 2,13:INK 3,13
2 KEY DEF 66,1,0:POKE &BDEE,201:' v0.4e
3 MEMORY &3FFF:LOAD"TEARAWA2.SCR",&4000:CALL &4000:INK 1,0:INK 2,0:INK 3,26
4 LOAD "p.bin",&8000:CALL &8000
5 DEFINT b:banks=0:PAPER 0:PEN 1
6 ùINSTALL.1,àbanks
7 IF banks=0 THEN x=12:y=13:a$="NOT ENOUGH MEMORY!":GOTO 17
8 IF banks=128 THEN x=7:y=13:a$="YOUR MULTIFACE IS NOT ACTIVE":GOTO 17
9 base=&C4
10 IF banks>4 THEN base=&C8
11 OUT &7F00,base+1
12 LOAD "modul04e.bin",&4000
13 LOAD "os.bin",&7808
14 OUT &7F00,&C0
15 ùINSTALL.2
16 x=15:y=13:a$="IS NOW ACTIVE"
17 FOR i=&8000 TO &82FF:POKE i,0:NEXT
18 PEN 2:LOCATE x,y:PRINT a$:LOCATE 15,12:PRINT" "
19 WINDOW #1,1,40,1,13:WINDOW 1,40,14,25:PEN 1:CLS:WINDOW 1,40,15,25
20 LOCATE 5,1:PEN 2:PRINT"PRESS ANY KEY TO RESET COMPUTER."
21 WHILE INKEY$<>"":WEND:WHILE INKEY$="":WEND
22 KEY DEF 66,1,252:POKE &BDEE,195:CALL 0
Here is the disassembled binary launcher for TUSS :
8000 ED 5B 7D BE LD DE,(BE7D)
8004 1A LD A,(DE)
8005 32 16 80 LD (8016),A
8008 21 FF AB LD HL,ABFF
800B 11 40 00 LD DE,0040
800E CD CB BC CALL BCCB
8011 ED 5B 7D BE LD DE,(BE7D)
8015 3E 00 LD A,00
8017 12 LD (DE),A
8018 06 08 LD B,08
801A 21 5A 80 LD HL,805A
801D 11 00 08 LD DE,0800
8020 CD 77 BC CALL BC77
8023 21 00 40 LD HL,4000
8026 CD 83 BC CALL BC83
8029 CD 7A BC CALL BC7A
802C CD 00 40 CALL 4000
802F CD 18 BB CALL BB18
8032 FE 31 CP 31
8034 21 80 80 LD HL,8080
8037 CA 6C 80 JP Z,806C
803A FE 32 CP 32
803C 21 8C 80 LD HL,808C
803F CA 6C 80 JP Z,806C
8042 FE 34 CP 34
8044 06 0B LD B,0B
8046 21 98 80 LD HL,8098
8049 CA AF 80 JP Z,80AF
804C FE 33 CP 33
804E 06 0C LD B,0C
8050 21 A3 80 LD HL,80A3
8053 CA AF 80 JP Z,80AF
8056 C3 2F 80 JP 802F
8059 C9 RET
805A 54 LD D,H
805B 55 LD D,L
805C 53 LD D,E
805D 53 LD D,E
805E 2E 53 LD L,53
8060 51 LD D,C
8061 5A LD E,D
8062 7E LD A,(HL)
8063 FE FF CP FF
8065 C8 RET Z
8066 CD 5A BB CALL BB5A
8069 23 INC HL
806A 18 F6 JR 8062
806C 06 0C LD B,0C
806E 11 40 00 LD DE,0040
8071 CD 77 BC CALL BC77
8074 21 40 00 LD HL,0040
8077 CD 83 BC CALL BC83
807A CD 7A BC CALL BC7A
807D C3 40 00 JP 0040
8080 54 LD D,H
8081 55 LD D,L
8082 53 LD D,E
8083 53 LD D,E
8084 30 30 JR NC,80B6
8086 34 INC (HL)
8087 30 2E JR NC,80B7
8089 31 32 38 LD SP,3832
808C 54 LD D,H
808D 55 LD D,L
808E 53 LD D,E
808F 53 LD D,E
8090 30 30 JR NC,80C2
8092 34 INC (HL)
8093 30 2E JR NC,80C3
8095 36 34 LD (HL),34
8097 4B LD C,E
8098 74 LD (HL),H
8099 75 LD (HL),L
809A 73 LD (HL),E
809B 73 LD (HL),E
809C 6D LD L,L
809D 75 LD (HL),L
809E 6C LD L,H
809F 74 LD (HL),H
80A0 2E 36 LD L,36
80A2 34 INC (HL)
80A3 74 LD (HL),H
80A4 75 LD (HL),L
80A5 73 LD (HL),E
80A6 73 LD (HL),E
80A7 6D LD L,L
80A8 75 LD (HL),L
80A9 6C LD L,H
80AA 74 LD (HL),H
80AB 2E 31 LD L,31
80AD 32 38 3E LD (3E38),A
80B0 C9 RET
80B1 32 EE BD LD (BDEE),A
80B4 11 00 60 LD DE,6000
80B7 D5 PUSH DE
80B8 CD 77 BC CALL BC77
80BB E1 POP HL
80BC CD 83 BC CALL BC83
80BF CD 7A BC CALL BC7A
80C2 21 44 81 LD HL,8144
80C5 CD 62 80 CALL 8062
80C8 01 E8 FE LD BC,FEE8
80CB ED 49 OUT (C),C
80CD 06 7F LD B,7F
80CF 0E 89 LD C,89
80D1 ED 49 OUT (C),C
80D3 3E DF LD A,DF
80D5 32 00 20 LD (2000),A
80D8 01 EA FE LD BC,FEEA
80DB ED 49 OUT (C),C
80DD AF XOR A
80DE 32 00 20 LD (2000),A
80E1 01 E8 FE LD BC,FEE8
80E4 ED 49 OUT (C),C
80E6 3A 00 20 LD A,(2000)
80E9 FE DF CP DF
80EB C2 3C 81 JP NZ,813C
80EE 21 20 82 LD HL,8220
80F1 11 05 20 LD DE,2005
80F4 01 03 00 LD BC,0003
80F7 ED B0 LDIR
80F9 21 00 60 LD HL,6000
80FC 11 0A 20 LD DE,200A
80FF 01 A8 11 LD BC,11A8
8102 ED B0 LDIR
8104 2A 17 BD LD HL,(BD17)
8107 CB BC RES 7,H
8109 CB B4 RES 6,H
810B 22 08 20 LD (2008),HL
810E 21 23 82 LD HL,8223
8111 11 C9 31 LD DE,31C9
8114 01 50 00 LD BC,0050
8117 ED B0 LDIR
8119 3E C0 LD A,C0
811B 32 03 20 LD (2003),A
811E 21 C9 31 LD HL,31C9
8121 22 00 20 LD (2000),HL
8124 3E 89 LD A,89
8126 32 02 20 LD (2002),A
8129 01 EA FE LD BC,FEEA
812C ED 49 OUT (C),C
812E 06 7F LD B,7F
8130 0E 8D LD C,8D
8132 ED 49 OUT (C),C
8134 21 F7 81 LD HL,81F7
8137 CD 62 80 CALL 8062
813A 18 FE JR 813A
813C 21 AF 81 LD HL,81AF
813F CD 62 80 CALL 8062
8142 18 FE JR 8142
8144 04 INC B
8145 01 1C 00 LD BC,001C
8148 00 NOP
8149 00 NOP
814A 1D DEC E
814B 00 NOP
814C 00 NOP
814D 1C INC E
814E 02 LD (BC),A
814F 14 INC D
8150 14 INC D
8151 1C INC E
8152 03 INC BC
8153 07 RLCA
8154 07 RLCA
8155 1C INC E
8156 01 19 19 LD BC,1919
8159 20 20 JR NZ,817B
815B 20 20 JR NZ,817D
815D 18 54 JR 81B3
815F 55 LD D,L
8160 53 LD D,E
8161 53 LD D,E
8162 20 4D JR NZ,81B1
8164 75 LD (HL),L
8165 6C LD L,H
8166 74 LD (HL),H
8167 69 LD L,C
8168 66 LD H,(HL)
8169 61 LD H,C
816A 63 LD H,E
816B 65 LD H,L
816C 20 49 JR NZ,81B7
816E 6E LD L,(HL)
816F 73 LD (HL),E
8170 74 LD (HL),H
8171 61 LD H,C
8172 6C LD L,H
8173 6C LD L,H
8174 20 50 JR NZ,81C6
8176 72 LD (HL),D
8177 6F LD L,A
8178 67 LD H,A
8179 72 LD (HL),D
817A 61 LD H,C
817B 6D LD L,L
817C 18 0A JR 8188
817E 0D DEC C
817F 0A LD A,(BC)
8180 0D DEC C
8181 20 20 JR NZ,81A3
8183 20 A4 JR NZ,8129
8185 31 39 39 LD SP,3939
8188 33 INC SP
8189 20 52 JR NZ,81DD
818B 6F LD L,A
818C 62 LD H,D
818D 20 53 JR NZ,81E2
818F 63 LD H,E
8190 6F LD L,A
8191 74 LD (HL),H
8192 74 LD (HL),H
8193 20 61 JR NZ,81F6
8195 6E LD L,(HL)
8196 64 LD H,H
8197 20 53 JR NZ,81EC
8199 54 LD D,H
819A 53 LD D,E
819B 20 53 JR NZ,81F0
819D 6F LD L,A
819E 66 LD H,(HL)
819F 74 LD (HL),H
81A0 77 LD (HL),A
81A1 61 LD H,C
81A2 72 LD (HL),D
81A3 65 LD H,L
81A4 0A LD A,(BC)
81A5 0D DEC C
81A6 0A LD A,(BC)
81A7 0D DEC C
81A8 0A LD A,(BC)
81A9 0D DEC C
81AA 0A LD A,(BC)
81AB 0D DEC C
81AC 0A LD A,(BC)
81AD 0D DEC C
81AE FF RST 38
81AF 07 RLCA
81B0 4D LD C,L
81B1 75 LD (HL),L
81B2 6C LD L,H
81B3 74 LD (HL),H
81B4 69 LD L,C
81B5 66 LD H,(HL)
81B6 61 LD H,C
81B7 63 LD H,E
81B8 65 LD H,L
81B9 20 69 JR NZ,8224
81BB 6E LD L,(HL)
81BC 61 LD H,C
81BD 63 LD H,E
81BE 74 LD (HL),H
81BF 69 LD L,C
81C0 76 HALT
81C1 65 LD H,L
81C2 2C INC L
81C3 20 20 JR NZ,81E5
81C5 70 LD (HL),B
81C6 72 LD (HL),D
81C7 65 LD H,L
81C8 73 LD (HL),E
81C9 73 LD (HL),E
81CA 20 52 JR NZ,821E
81CC 45 LD B,L
81CD 53 LD D,E
81CE 45 LD B,L
81CF 54 LD D,H
81D0 20 62 JR NZ,8234
81D2 75 LD (HL),L
81D3 74 LD (HL),H
81D4 74 LD (HL),H
81D5 6F LD L,A
81D6 6E LD L,(HL)
81D7 20 20 JR NZ,81F9
81D9 20 20 JR NZ,81FB
81DB 20 20 JR NZ,81FD
81DD 20 20 JR NZ,81FF
81DF 20 20 JR NZ,8201
81E1 61 LD H,C
81E2 6E LD L,(HL)
81E3 64 LD H,H
81E4 20 72 JR NZ,8258
81E6 65 LD H,L
81E7 2D DEC L
81E8 72 LD (HL),D
81E9 75 LD (HL),L
81EA 6E LD L,(HL)
81EB 20 70 JR NZ,825D
81ED 72 LD (HL),D
81EE 6F LD L,A
81EF 67 LD H,A
81F0 72 LD (HL),D
81F1 61 LD H,C
81F2 6D LD L,L
81F3 21 0A 0D LD HL,0D0A
81F6 FF RST 38
81F7 20 54 JR NZ,824D
81F9 55 LD D,L
81FA 53 LD D,E
81FB 53 LD D,E
81FC 20 49 JR NZ,8247
81FE 6E LD L,(HL)
81FF 73 LD (HL),E
8200 74 LD (HL),H
8201 61 LD H,C
8202 6C LD L,H
8203 6C LD L,H
8204 65 LD H,L
8205 64 LD H,H
8206 20 70 JR NZ,8278
8208 72 LD (HL),D
8209 65 LD H,L
820A 73 LD (HL),E
820B 73 LD (HL),E
820C 20 18 JR NZ,8226
820E 52 LD D,D
820F 45 LD B,L
8210 53 LD D,E
8211 45 LD B,L
8212 54 LD D,H
8213 18 20 JR 8235
8215 62 LD H,D
8216 75 LD (HL),L
8217 74 LD (HL),H
8218 74 LD (HL),H
8219 6F LD L,A
821A 6E LD L,(HL)
821B 20 6E JR NZ,828B
821D 6F LD L,A
821E 77 LD (HL),A
821F FF RST 38
8220 52 LD D,D
8221 55 LD D,L
8222 4E LD C,(HL)
8223 F3 DI
8224 31 00 C0 LD SP,C000
8227 21 0A 20 LD HL,200A
822A 11 00 C0 LD DE,C000
822D 01 A8 11 LD BC,11A8
8230 ED B0 LDIR
8232 21 70 3A LD HL,3A70
8235 11 A9 BE LD DE,BEA9
8238 01 10 00 LD BC,0010
823B ED B0 LDIR
823D 21 F1 31 LD HL,31F1
8240 11 80 BE LD DE,BE80
8243 01 28 00 LD BC,0028
8246 ED B0 LDIR
8248 C3 80 BE JP BE80
824B 2A 08 20 LD HL,(2008)
824E 06 7F LD B,7F
8250 0E 8D LD C,8D
8252 ED 49 OUT (C),C
8254 22 A7 BE LD (BEA7),HL
8257 01 EA FE LD BC,FEEA
825A ED 49 OUT (C),C
825C 21 00 C0 LD HL,C000
825F 11 40 00 LD DE,0040
8262 D5 PUSH DE
8263 01 A8 11 LD BC,11A8
8266 ED B0 LDIR
8268 E1 POP HL
8269 06 7F LD B,7F
826B 0E 89 LD C,89
826D ED 49 OUT (C),C
826F 0E FF LD C,FF
8271 C3 00 00 JP 0000
8274 00 NOP
8275 00 NOP
8276 00 NOP
8277 00 NOP
8278 00 NOP
8279 00 NOP
827A 00 NOP
827B 00 NOP
827C 00 NOP
827D 00 NOP
827E 00 NOP
827F 00 NOP
Could anyone help getting The Insider and Tearaway to work on MF2 clones ?
Perhaps by analyzing the Z80 source for TUSS (which works!) to see where and how it installs in the MF2.
There are several versions on the TUSS diskette. The file which is installed in the Multiface relates to TUSSMULT.128
And then,
- maybe either modify/adapt the Basic sources for The Insider & Tearaway.
- or relocate the binaries to another address, disassemble and recompile them.
Thanks in advance ! 🙏
If needed here's the ROM file which is extracted from my MF2 clone : MF2.zip (https://drive.google.com/file/d/173Kah7StOvlaaZeVoG6LPVLLB9K-qCwP/view?usp=sharing)
I have tried the insider as well and it says the mf2 is off and when the button is pressed and r pressed the 6128 just rests
Is it the updated ROM in these clones that's causing the issue? I guess the Insider and Tearaway are calling routines at specific locations?
Here's the information I have.
www.cpcwiki.eu/index.php/Multiface_II (https://www.cpcwiki.eu/index.php/Multiface_II)
Here's the part of code that copies the program into the MF2 :
org #80c8
ld bc,#fee8 ; activate the ROM and RAM
out (c),c
ld b,#7f ; enable lower rom using port 7fxx as normal + mode 1
ld c,#89
out (c),c
ld a,#df
ld (#2000),a
ld bc,#feea ; deactivate the ROM and RAM
out (c),c
xor a
ld (#2000),a
ld bc,#fee8 ; activate the ROM and RAM
out (c),c
ld a,(#2000) ; detection MF2 ?
cp #df
jp nz,#813c
ld hl,#8220 ; copie 'RUN' @ #2005
ld de,#2005
ld bc,#0003
ldir
ld hl,#6000 ; code copied into MF2 memory from #6000 -> #200a
ld de,#200a
ld bc,#11a8
ldir
ld hl,(#bd17) ; hl=#861c
res 7,h
res 6,h
ld (#2008),hl ; hl=#061c
ld hl,#8223 ; code -> cf en-dessous
ld de,#31c9
ld bc,#0050
ldir
ld a,#c0
ld (#2003),a
ld hl,#31c9
ld (#2000),hl
ld a,#89
ld (#2002),a
ld bc,#feea ; deactivate the ROM and RAM
out (c),c
ld b,#7f
ld c,#8d
out (c),c
org #8223
di
ld sp,#c000
ld hl,#200a
ld de,#c000
ld bc,#11a8
ldir
ld hl,#3a70
ld de,#bea9
ld bc,#0010
ldir
ld hl,#31f1
ld de,#be80
ld bc,#0028
ldir
jp #be80
ld hl,(#2008)
ld b,#7f
ld c,#8d
out (c),c
ld (#bea7),hl
ld bc,#feea
out (c),c
ld hl,#c000
ld de,#0040
push de
ld bc,#11a8
ldir
pop hl
ld b,#7f
ld c,#89
out (c),c
ld c,#ff
jp #0000
Here we are with this at the beginning of the memory of the MF2 (#2000) :
org #2000
ret
dw #8931
db #c0,#00
db #52,#55,#4e ; = db 'RUN'
dw #061c
di
...
Also, the documentation on the 'jump program' found in the notice below.
Here we use the 'direct jump' method with the word 'RUN' @ #2005 :
(https://i59.servimg.com/u/f59/18/51/04/47/captu143.jpg)
Thanks
@megachur for all his support on the subject. 😉
Quote from: caver99 on 21:59, 12 December 22I have tried the insider as well and it says the mf2 is off and when the button is pressed and r pressed the 6128 just rests
Do you have an official MF2 or a clone?
Don't use the reset button on the MF2, as it turns the MF2 into ghost mode (and undetected). Always turn off/on the CPC.
Quote from: Skunkfish on 22:03, 12 December 22Is it the updated ROM in these clones that's causing the issue? I guess the Insider and Tearaway are calling routines at specific locations?
That's the whole question. Why TUSS successfully establishes itself in MF2 clones and not The Insider and Tearaway.
Quote from: poulette73 on 07:06, 13 December 22Quote from: caver99 on 21:59, 12 December 22I have tried the insider as well and it says the mf2 is off and when the button is pressed and r pressed the 6128 just rests
Do you have an official MF2 or a clone?
Don't use the reset button on the MF2, as it turns the MF2 into ghost mode (and undetected). Always turn off/on the CPC.
Quote from: Skunkfish on 22:03, 12 December 22Is it the updated ROM in these clones that's causing the issue? I guess the Insider and Tearaway are calling routines at specific locations?
That's the whole question. Why TUSS successfully establishes itself in MF2 clones and not The Insider and Tearaway.
like yours mine is also the clone, not sure what firmware it is but when on mf2 menu one is 89 and other is 90 for the year.
just reading the wiki, apparently if you press the reset button on the mf2 it switches it on till the stop button is pressed.
it was done as programs saved with the mf2 would say its not on and once the stop button is pressed the mf2 is on but when the R is pressed it switches off but the reset on the mf2 switches it on not off.
will give it aq go later when home.
pressing reset does indeed allow insider to load in to the mf2, just cant get it to work
Quote from: caver99 on 13:59, 13 December 22like yours mine is also the clone, not sure what firmware it is.
To see what is your the firmware :
1) launch MF2 menu (by pressing the STOP button).
2) click on the F0 key.
Quote from: caver99 on 19:11, 13 December 22pressing reset does indeed allow insider to load in to the mf2, just cant get it to work
That's the whole point : this does not work with clones.
This is the purpose of this topic: what needs to be changed in The Insider's implementation procedure to make it work. 😉
Have you checked that it works for you, for "The Ultimate Sprite Searcher" program ?
Logically this should also work.
It works for my 2 Multiface II clones (I have an Edge connector version, and a DC3 connector version)
right i have a switch on the back and 4 positions with 4 roms as follow, 1-0E, 2-A3, 3-8B, 4-29.
just checked the insider on all 4 but switch on reset, load insider, press stop button, and wait and lo and behold it works in each firmware on the mf2
will download all the other programs now and test.
they all work even tearaway works, i just have no idea how to use them
Thank's for the feedback. 👍
You are lucky finally.
So this isn't a problem on all clones, but only on some... the both mine for example.
The firmware for my two Multiface II interfaces is A3 and 0E.
Just for my knowledge, could you post a photo of your Multiface II clone allowing to store 4 roms?
Yes sure inwill take some today for you
trying to add a pic but its not working
(about:invalid)
Don't these clones use a modified firmware that works on both CPC and Plus? Or did I imagine that...
No its a standard firmware m, just select one that works with normal or plus machines
Quote from: caver99 on 20:32, 14 December 22trying to add a pic but its not working
If you want, you can send me a PM with the link for your picture.
Or directly send an email (with attached file) by clicking on my email icon profile.
Quote from: caver99 on 21:28, 14 December 22No its a standard firmware m, just select one that works with normal or plus machines
For my 2 multiface II it's logically also the original firmware.
It's very easy to check and compare, as I put the ROM file extracted directly from my first interface in the very first post of this topic.
If necessary : I can also export the other firmware version (there is a utility that takes care of exporting the rom of a Multiface II).
Hello,
Thank's a lot
@caver99 for sharing these two photos of your Multiface II interface. 😉
(https://i.servimg.com/u/f59/18/51/04/47/img08310.jpg)
(https://i.servimg.com/u/f59/18/51/04/47/img08410.jpg)