|
Post by c128dcr on Feb 1, 2017 21:04:04 GMT
Hello. I built a 8×32=256 KB internal function ROM (U36) EPROM. Servant, Keydos, Superchip, Super 81 utilities, BASIC 8, TASS (turbo assembler), GEOS128 V2 1571, GEOS128 V2 1581. All ROM OK with 3 switches. I use C128DCR. I modified a C64 EPROM card to external function ROM. I installed a other 256 KB EPROM into card with 8 ROMs, but 5 ROMs not work, not start (I remove internal U36 EPROM). 3 OK, Servant, Keydos, BASIC 8. Why do the 5 ROMs not work? Internal and external function ROM banks, page 10-11: link
|
|
|
Post by VDC 8x2 on Feb 10, 2017 0:11:32 GMT
did you set them up to autostart in the binary?
|
|
|
Post by c128dcr on Feb 10, 2017 0:16:25 GMT
did you set them up to autostart in the binary? Autostart?
|
|
|
Post by remark on Feb 10, 2017 14:00:55 GMT
Hello. I built a 8×32=256 KB internal function ROM (U36) EPROM. Servant, Keydos, Superchip, Super 81 utilities, BASIC 8, TASS (turbo assembler), GEOS128 V2 1571, GEOS128 V2 1581. All ROM OK with 3 switches. I use C128DCR. I modified a C64 EPROM card to external function ROM. I installed a other 256 KB EPROM into card with 8 ROMs, but 5 ROMs not work, not start (I remove internal U36 EPROM). 3 OK, Servant, Keydos, BASIC 8. Why do the 5 ROMs not work? Internal and external function ROM banks, page 10-11: linkI'm not sure if this is helpfull, but the ROML and ROMH signals at the expansion port are used as chipselect signals. Example: blog.worldofjani.com/?p=1600
|
|
|
Post by c128dcr on Feb 11, 2017 15:04:24 GMT
|
|
|
Post by trainmaster on Feb 11, 2017 19:13:46 GMT
First of all, have you actually verified that you can see the ROMs using MONITOR when you have switched them in using your switches? If you don't see the code, neither does the CPU.
What happens when you start the C128 with an image that does not work (GEOS for example)? Do you end up in the MONITOR or what happens?
I saw your post over at melon64.com: "At $D000-DFFF not bank command (always I/O, or RAM)". This is not true. You can't switch out this area using the BANK-command but you can do so by POKE:ing a custom value into $FF00. For example, if you POKE 65280,43 ($2B binary: 00101011) you will end up with RAM at $0000-$7FFF and external function ROM at $8000-$FFFF (except for the MMU registers at $FF00-$FF04).
The banking may also be what gives you these problems. The images you have used may be meant for the internal socket (internal function ROMs) and they expect to be in that socket, not on a cartridge. So when their code is run it may put the bit pattern xx0101xx into $FF00 effectively switching themselves out of the memory that the CPU sees. When used as a cartridge or external funtion ROM they should be putting the pattern xx1010xx into $FF00. If you end up in the MONITOR when these "faulty" images are activated, this is probably due to the this problem.
|
|
|
Post by c128dcr on Feb 12, 2017 2:23:06 GMT
If this (bank switching) is the problem, then why do the 3 ROMs work? Why do the 5 ROMs not work? All 8 ROMs work, or all not work, not? 3 ROMs why work in external function ROM card? Servant, Keydos, BASIC 8. If C128 mode reset routine find a internal, or external function ROM, then the system automatically set $FF00 register, and start ROM. Or not? I do not find C128 disassembled ROM list on internet.
At Servant ROM "." key = "CALL EXROM". If I switch external function ROM card to Keydos, then I start internal U36 Servant, this OK, if I press "." key, external Keydos start. This (Servant and keydos) works in the 1764/1750 REU socket (I saw it on internet, but I do not have 1764 REU). Do I have to modify the start (inic) program routines in the 5 ROM contents? How?
|
|