◆ APMSX

Z80 MSX card is not just for run as MSX computer

이안김 2016. 5. 10. 18:31

Z80 MSX is Z80 CPU board and have devices as the MSX computer.

It can run under the APPLE IIe but, it isn't just running one computer with shared Power supply of APPLE IIe.

It isn't just one isolated system running above the APPLE IIe. It is running inthe APPLE IIe with shared memory and running together with APPLE IIe.

The both of CPUs could run at the same time.


The structure looks like as under.



As you've seen, MSX hold all area of APPLE IIe so, all of APPLE IIe memory could use.

It means that even I/O could access by Z80.


Z80 MSX board have two major modes.


Single running mode


Single mode, runs only one CPU and the other one is waiting unless give ticket to run.


Mode 1;  Z80 running 2Mhz but can access all of APPLE II Memory area

Mode 2;  Z80 running 3.58Mhz and not access APPLE II memory area


* In fact, Z80 has 512KB own memory and using APPLE IIe memory as extra one. So, when It running on the APPLE IIe memory, It can't run more than 2Mhz so, Z80 only runs 2Mhz on APPLE IIe memory.

But, if it runs on it's own RAM, it could run full speed of MSX (3.58Mhz). 

It automatically change the clocks.


Dual running Mode


Always working both of CPUs but CPU speed isn't fixed.


Mode 1; Z80 runs 2Mhz when it runs on APPLE IIe RAM and 65C02 runs about 1/3 Mhz.

Mode 2; Z80 runs 3.58Mhz when it runs on it's own RAM and 65C02 runs full speed 1Mhz.


* Dual mode always 65C02 is running.

The 65C02 runs with variable speed. When Z80 access APPLE IIe memory, 65C02 runs only around 30% but, 65C02 speed is variable not fixed, 

If Z80 didn't access APPLE IIe Memorh BUS, 65C02 could have more clocks to run. 

When Z80 using own memory, 65C02 is free to use all of bandwidth of BUS so could run 100% of speed.

So the 65C02 speed is vary 30% to 100%.


With this feature, You can use Z80 CPU as the co-processor vice versa.

While the Z80 is running, 65C02 still have clocks and no need to wait for Z80 done.

If you don't want share APPLE IIe memory, you can consider to put Z80 codes into Z80 RAM area to make it run faster. Anyway, It required proper code to switching Z80 memory and APPLE IIe memory.


Z80 MSX card can use all of APPLE IIe resources


In fact, the time critical equipment can't use properly. such as Floppy DISK Z80 may lose the data from DISK.

To use DISK, should switching or Should allow to RUN 100% of 65C02.

Z80 could approach all area of APPLE IIe, I mapped it to SLOT#0 of MSX.

Even could access graphics mode, Low and High Res. modes and APPLE IIe speaker can toggle by Z80.

Andmore other peripheral device could access but not interrupt device.


You can select starting mode between Single running mode or Dual running mode for your purpose.

Even after RUN, if the memory condition is fine to change the mode, you can switch to another mode too.

Z80 make 65C02 to run or wait. vice versa.


I want to use this feature to access APPLE IIe HDD for Z80 MSX.


Also I want to use the Z80 MSX card as a Arcade board to display sprites or play songs.

Of cause,  add some code for Z80 it would easier to use complex command such as draw circle or any on Back ground.


I just provide the potential possibility for user who love Z80 MSX and 65C02 APPLE II.

I would be happy if someone could make interesting game or tricky programming with DSP and PSG.


Just wait for some more weeks to to complete the design.


Thank you

Ian Kim