[MZ-SD2CMT] GitHub link

hlide
Posts: 146
Joined: Thu Jan 25, 2018 9:31 pm

[MZ-SD2CMT] GitHub link

Post by hlide » Tue May 01, 2018 10:27 pm

Adding my new GitHub project MZ-SD2CMT: https://github.com/hlide/MZ-SD2CMT. Not finished but any contributions are welcome. Still, a lot of works to do. Turbo X4 is not stable with all MZF files but turbo X3 seems to work fine. I also want to add a very fast serial transfer between Arduino and MZ to load/save MZF files using the tape signals.
Last edited by hlide on Sat Jun 09, 2018 12:21 pm, edited 1 time in total.

Jo Even
Site Admin
Posts: 35
Joined: Wed Jan 17, 2018 9:28 pm

Re: [SD2MZCMT] GitHub link

Post by Jo Even » Wed May 02, 2018 6:22 pm

hlide wrote:
Tue May 01, 2018 10:27 pm
I also want to add a very fast serial transfer between Arduino and MZ to load/save MZF files using the tape signals.
Not quite sure what you mean by this. If you want to add an alternative, faster interface, wouldn't the easiest and fastest be to connect it directly to the databus and access the Arduino through a port? Theoretically you should be able to fill the entire RAM in less than a second that way.

Also, not sure if this is possible but if you can suspend CPU access to the databus it could be possible to write directly to RAM from the Arduino. So when the MZ wants to load a file from tape, you can read the load address from the tape header and write the entire file directly to RAM without any extra or modified loading routines on the MZ.

hlide
Posts: 146
Joined: Thu Jan 25, 2018 9:31 pm

Re: [SD2MZCMT] GitHub link

Post by hlide » Wed May 02, 2018 8:48 pm

Theorically you're right. But connecting data bus means 50 wires to connect (well a little less in fact) and probably some components to solder on a circuit and to connect between the Arduino and the databus. If I can create a turboloader which uses /sense signal as a serial clock to transfer between Arduino and MZ, it is only three wires and no intermediate circuit or component to solder so anyone could make one.

This project is the simplest I wanted to do.

Of course, I'm thinking about making another project using the data bus but that's another project.

hlide
Posts: 146
Joined: Thu Jan 25, 2018 9:31 pm

Re: [SD2MZCMT] GitHub link

Post by hlide » Thu May 03, 2018 11:20 am

To be exact, I want something like that:

Code: Select all

  __         _____         _____         _____         _____
SC  \   0   /  1  \   0   /  1  \   0   /  1  \   0   /  1  \  ...
     \_____/       \_____/       \_____/       \_____/       \
     
     |-|++++|-|++++|-|++++|-|++++|-|++++|-|++++|-|++++|-|++++| ...
  __         _____  _____                _____         _____
SD  \   0   /  1  \/  1  \   0      0   /  1  \   0   /  1  \  ...
     \_____/              \_____/\_____/       \_____/       \
     |           6h              |           5h              |
SC is Serial Clock and it is /SENSE on both Arduino (output pin) and MZ (input pin).
SD is Serial Data and it is READ on both Arduino (output pin) and MZ (input pin).

On MZ, SC is 8255 PC4 (MOTOR <=> not /SENSE*) and SD is 8255 PC5 (READ). So if the Arduino first sets serial data bit then toggles the serial clock, the MZ can read both PC4 and PC5 in a byte and exploits the PC5 bit to shift it in a byte if the PC4 bit changes its value.

* If the MZ never uses M-ON to toggle the MOTOR state during the serial transfer, then reading MOTOR on the MZ should be roughly the same as reading the inverted value of /SENSE.

|-| should be the shortest time that still allows for MZ to detect a rising/falling edge of the serial clock and get the serial data bit.
|+| time not critical as Arduino is the clock master: this time may vary because it includes reading SD, updating GUI and should be long enough for the MZ to get a data bit and shift it to a byte in memory and so on.

Just for reading, two wires are only needed. A byte is read just after toggling 8 serial clocks instead of reading 18 levels at fixed periods. There is no long GAP (around 5s!), No TAPEMARK, just a byte sequence. So it should really be faster and stable enough as long as Arduino is the one to orchestrate the transfer.

User avatar
Pacman
Posts: 45
Joined: Mon Feb 05, 2018 2:59 pm

Re: [SD2MZCMT] GitHub link

Post by Pacman » Wed May 30, 2018 7:59 pm

Hello to all the community,

I took over the work of hlide to be able to offer an interface for reading the files MZF, M12, MZT, BIN using a graphical display reprap discount full graphic smart controller. It contains a built-in SD drive and connects easily to an ATMEGA2560.
I planned to use several profiles.
I have not finished the project yet, but I can read any file under monitor 1Z-013A and under sharp basic 1Z-013b.
I will post all the work very soon: PCB card, ino program and connection diagram.
DSCN9824.JPG
Vu d'ensemble
DSCN9825.JPG
Détails

hlide
Posts: 146
Joined: Thu Jan 25, 2018 9:31 pm

Re: [SD2MZCMT] GitHub link

Post by hlide » Wed May 30, 2018 8:44 pm

Not bad! Impatient to see the code!

hlide
Posts: 146
Joined: Thu Jan 25, 2018 9:31 pm

Re: [SD2MZCMT] GitHub link

Post by hlide » Wed May 30, 2018 8:47 pm

PACMAN, ne serais-tu pas Francophile ?

User avatar
Pacman
Posts: 45
Joined: Mon Feb 05, 2018 2:59 pm

Re: [SD2MZCMT] GitHub link

Post by Pacman » Thu May 31, 2018 9:51 am

Oui, ça se voit tant que ça ?

hlide
Posts: 146
Joined: Thu Jan 25, 2018 9:31 pm

Re: [SD2MZCMT] GitHub link

Post by hlide » Thu May 31, 2018 11:12 am

FR:
A lire l'écran sur la deuxième photo, on peut difficilement le rater ;)

En tout cas, je suis impatient de lire ton code. J'ai actuellement mis mon projet au placard car je suis en train de me familiariser avec MiSTer (Terssasic DE10-nano) pour voir comment créer un coeur MZ-80 K/C pour commencer puis j'embrayerais peut-être sur les autres (MZ-80 A, MZ-1200, MZ-700 et peut-être MZ-1500).

EN:
when reading the screen on the second photo, we can hardly miss it;)

Anyway, I can not wait to read your code. I'm currently putting my project in pause because I'm getting familiar with MiSTer (Terssasic DE10-nano) to see how to create an MZ-80 K/C core to get started and then I might move forward to others (MZ-80 A, MZ-1200, MZ-700 and perhaps MZ-1500).

User avatar
Pacman
Posts: 45
Joined: Mon Feb 05, 2018 2:59 pm

Re: [SD2MZCMT] GitHub link

Post by Pacman » Thu May 31, 2018 8:07 pm

FR :

Je vois que tu te lance dans un vaste et gros projet utilisant un FPGA. :o

Personnellement je n'ai qu'un sharp mz-700 d'époque, que j'avais eu pour les 14 ans et qui fonctionne parfaitement encore.

Depuis quelques temps j'essai de remettre en route mes anciens programmes, et surtout pouvoir tous les récupérer. ;)

J'en ai plein sur cassette et vais aussi diffuser un programme de traduction de fichier wav vers programme MZF, qui pour l'instant m'a permi de récupérer l'ensemble de mes programmes enregistrés sur des cassettes originales.

Enfin je suis en train de terminer un émulateur logiciel de sharp MZ-700 qui prend en compte les lecteurs de disquettes SFD700.

EN :
I see you are embarking on a large and big project using an FPGA.

Personally I only have a sharp mz-700 vintage, that I had for 14 years
and that works perfectly again.

For some time I have been trying to restart my old programs, and
especially to be able to recover them all.

I'm full on tape and will also broadcast a wav file translation program to MZF program, which for now has allowed me to recover all of my programs recorded on original tapes.

Finally I am finishing a sharp MZ-700 software emulator that takes into account SFD700 floppy disk drives.
sharp_mz_700.png
Emulator Sharp MZ-700
wav2mzf.png
WAV2MZF automatic
wav2mzf.png (68.83 KiB) Viewed 487 times

Post Reply