News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_poulette73

Multiface 2 clone and The Insider

Started by poulette73, 23:25, 07 July 22

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

poulette73

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
- Tearaway v0.4e.zip
- TUSS.zip (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 :




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 :




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

caver99

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

Skunkfish

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?
An expanding array of hardware available at www.cpcstore.co.uk (and issue 4 of CPC Fanzine!)

poulette73

Here's the information I have.

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 :



Thanks @megachur for all his support on the subject. 😉

poulette73

#4
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.

caver99

Quote from: poulette73 on 07:06, 13 December 22
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.
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.

caver99

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.

caver99

pressing reset does indeed allow insider to load in to the mf2, just cant get it to work

poulette73

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)

caver99

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.

caver99

they all work even tearaway works, i just have no idea how to use them

poulette73

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?

caver99

Yes sure inwill take some today for you

caver99

#13
trying to add a pic but its not working


Skunkfish

Don't these clones use a modified firmware that works on both CPC and Plus? Or did I imagine that...
An expanding array of hardware available at www.cpcstore.co.uk (and issue 4 of CPC Fanzine!)

caver99

No its a standard firmware m, just select one that works with normal or plus machines

poulette73

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).

poulette73

Hello,

Thank's a lot @caver99 for sharing these two photos of your Multiface II interface. 😉




Powered by SMFPacks Menu Editor Mod