Thank you a lot, but in my environment your code doesn't work. It even fails to load a 16K ROM, which IIRC does no switching at all.
What I see is "Syntax error in 80" or "Syntax error in 90" and the garbage in the basic listing.
Here is the machine config as found in BlueMSX distribution:
Slot 0: expanded (four subslots)
Slot 1: primary
Slot 2: primary
Slot 3: expanded
External slots:
cartridge 1: slot 1
cartridge 2: slot 3, subslot 0
Memory:
Slot 0-0 0000-7FFF Normal +cassette patch (MSX2KR.ROM)
Slot 0-1 4000-BFFF Normal 0x4000 (MSX2HAN3.ROM)
Slot 0-2 0000-FFFF 512 kB Mapped RAM (in fact 128K only AFAIK)
Slot 0-3 0000-7FFF Normal ROM (MSX2KREXT.ROM)
Slot 2 4000-BFFF National Disk Controller (CPC400SDISK.ROM)
Hmm... Try to load it like this:
POKE &HF677,&HD0:POKE &HD000,0:RUN"ROMLOAD.BAS"
Indeed, moving Basic area helps !
At least Arkanoid and Zanac are running now.
Thank you a lot, NYYRIKKI !
Now I have to arrange this in a nice manner, with ROM selector, without asking about the size, etc.
And again, just as in MicroWAVer project, there exist so-called "copyright protected ROMs" that won't run if not patched (Wiz, almost all Konamies - e.g Goonies, etc.).
I have to either create a set of prepatched roms, or to make a patch table for as many of them as I can.
And, of course, would be nice if ExecROM.com will support such a MSX as well.
Yeah, I still suggest you to modify at least your own MSX.
BTW I just noticed, that ExecROM source is available here:
http://www.alsoftware.com.br/adrianpage/index.php?page=msxexec
I think that following changes would be enough to make it work also in CPC-400s :
- add this code just before "reloc5" routine:
ld a,(0ffffh) cpl and 11111100b ld (0ffffh),a
- add same code again just before "rst 0h" in the "reloc5" sub routine.
Yeah, I still suggest you to modify at least your own MSX.
That's a problem - I have no such one, and I am helping people that live thousands kilometers from me. My Yamaha is 100% OK though
BTW I just noticed, that ExecROM source is available
I knew, but I am not so skilled to modify it myself.
Thank you again for the patch, I hope it works.
I think that following changes would be enough to make it work also in CPC-400s
Do you know which assembler suits better to make .COM from this source ?
From my experience Z80 assemblers differ a lot in syntax they accept.
As the extension is .MAC I think that it is made for Microsoft M80 compiler.
It works !
NYYRIKKI, a million thanks !
I'm glad to hear that. I'm sorry that I didn't test these, but I've been a bit busy lately.
Maybe someone can now help you hardware vice (?) I think, that you just need to cut few foils, solder few jumper wires and change new ROM. After that you have an extremely good MSX2.[/q]Sorry for nekroposting.
I also have Dewoo CPC-400. I have the ability to cut and solder tracks on the board. What I need change in my Daewoo ?
Maybe someone can now help you hardware vice (?) I think, that you just need to cut few foils, solder few jumper wires and change new ROM. After that you have an extremely good MSX2.
Sorry for nekroposting.
I also have Dewoo CPC-400. I have the ability to cut and solder tracks on the board. What I need change in my Daewoo ?
I've newer seen such a machine and also I can't find service manual, so this is a bit tough one to help with... How ever from MSX engine Wiki I found that this machine should have S1985 on board...
I would start by tracing the lines from that chip... The pin 53 should be going back of the machine and pin 45 should be going towards RAM... If that is correct, I would start by cutting these wires and jumpwire foild going to pin 45 to go to pin 53 instead... That should already improve software compatibility a LOT. This will anyway disable the expansion bus from the back, but is it used to anything anyway or is it just for "future purposes" as I expect?
If you have to courage, then please test and report back the results.
(BTW S1985 manual is here)