PCG for Sharp MZ-700 / Générateur de caractères graphiques pour Sharp MZ-700

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

PCG for Sharp MZ-700 / Générateur de caractères graphiques pour Sharp MZ-700

Post by Pacman »

EN:
Hello,
Here is a small map to have a programmable character generator (PCG) that can get 4 graphic plans of 4 sets of 256 characters, a total of 4096 characters.
It can display 4 screens of 320x200 pixels and 8 colors in blocks of 8x8 bits.
It connects to the backplane directly. ;)

I will soon publish the plans under KiCAD, but in the meantime, a small demonstration video ...
https://github.com/SHARPENTIERS/GCG700/ ... l_demo.mp4

FR:
Bonjour,
Voici une petite carte permettant d'avoir un générateur de caractères programmable (GCG) pouvant obtenir 4 plans graphiques de 4 jeux de 256 caractères, soit au total 4096 caractères.
On peut afficher 4 écrans de 320x200 pixels et 8 couleurs par blocs de 8x8 bits.
Elle se connecte dans le fond de panier directement. ;)

Je vais bientôt publier les plans sous KiCAD, mais en attendant, une petite vidéo de démonstration...
https://github.com/SHARPENTIERS/GCG700/ ... l_demo.mp4
Carte vierge
Carte vierge
gcg700_1.jpg (127.59 KiB) Viewed 12320 times
Description
Description
gcg700_2.jpg (250.74 KiB) Viewed 12320 times
Connexion 1
Connexion 1
gcg700_3.jpg (104.29 KiB) Viewed 12320 times
Connexion 2
Connexion 2
gcg700_4.jpg (130.64 KiB) Viewed 12320 times
Last edited by Pacman on Sat Jun 22, 2019 9:57 am, edited 1 time in total.
hlide
Posts: 681
Joined: Thu Jan 25, 2018 9:31 pm

Re: Générateur de caractères graphiques pour Sharp MZ-700 / PCG for Sharp MZ-700

Post by hlide »

Il y a une chose que je ne m'explique pas : le bus ne fournit pas de 5 V et je ne vois aucun fil qui va sur la carte. J'en déduis que tu piques le 5 V qui alimente le socle de la CGROM via la nappe ?
Jo Even
Site Admin
Posts: 152
Joined: Wed Jan 17, 2018 9:28 pm

Re: Générateur de caractères graphiques pour Sharp MZ-700 / PCG for Sharp MZ-700

Post by Jo Even »

Impressive! This opens up for a lot of possibilities for gaming on the 700. Without having looked into this at all - would it be possible to create a VBL interrupt too?
User avatar
Pacman
Posts: 172
Joined: Mon Feb 05, 2018 2:59 pm

Re: Générateur de caractères graphiques pour Sharp MZ-700 / PCG for Sharp MZ-700

Post by Pacman »

EN:
Yes the 5V comes from the CGROM

FR:
Oui le 5V vient de la CGROM
hlide
Posts: 681
Joined: Thu Jan 25, 2018 9:31 pm

Re: Générateur de caractères graphiques pour Sharp MZ-700 / PCG for Sharp MZ-700

Post by hlide »

Jo Even wrote: Thu Jun 20, 2019 8:43 pm Would it be possible to create a VBL interrupt too?
I see major issues:

1) there is only one /INT signal (regardless /NMI) and it is used for timer2.

2) CPU runs in IM1 mode (RST 38h).

While using /EXINT would certainly allow to raise an interrupt, it would call the same routine and so you need to alter the monitor code so it can distinguish the source.

/VBLK is issued by the ASIC and it is not clear if it is set in high-impedence when not asserted negatively. Why the question? well if you want to have several controllers be able to use /EXINT, I think it's pretty clear that they may all be high-impedance when not asserted negatively so they cannot affect the others if they output a high signal instead.

While using IM2 would allow using a vector table (I * 256 + DBUS[0..7]), it means every controller should provide an vector offset on the data bus when raising an interrupt (it also means each controller should synchronize to avoid outputting the data bus at the same time).

So in the end, we need an interrupt controller which is the only one to use /EXINT preferably. We keep IM1 because of timer2 which doesn't provide an offset. When calling RST 38h, the routine first check by reading a status port of the interrupt controller to determine the interrupt source. If no source, timer1. To be honest, even this way is not great: you can still receive /INT1 (timer2) AND /EXINT in the same time and still be unable to detect whether /INT1 raises.

The best approach would be to deroute /INT1 as one of the sources for the interrupt controller but it would means some changes on the motherboard and in the monitor code.

Or we keep /INT1 as such (/INT1 and /EXINT are ANDed) but we also provide /INT1 as a source to the interrupt controller which will also assert negatively /EXINT so the interrupt routine can retrieve that /INT1 is also asserted negatively. There could be some timing issue between /INT1 and the resulted /EXINT though... or not.
User avatar
Pacman
Posts: 172
Joined: Mon Feb 05, 2018 2:59 pm

Re: PCG for Sharp MZ-700 / Générateur de caractères graphiques pour Sharp MZ-700

Post by Pacman »

Jo Even wrote: Thu Jun 20, 2019 8:43 pm would it be possible to create a VBL interrupt too?
EN:
I do not think that it is possible easily in state because / VBLK is generated directly by the M60719 and goes on the 8255 in PC7. It would be necessary to be able to transplant on the pin 10 in order to exploit it.
Personally, I do not really want to go soldering directly on the motherboard. :mrgreen:

FR:
Je ne pense pas que ce soit possible facilement en état car /VBLK est généré directement par le M60719 et va sur le 8255 en PC7. Il faudrait pouvoir se repiquer sur la pin 10 afin de l'exploiter.
Personnellement, je n'ai pas trop envie d'aller souder directement sur la carte mère. :mrgreen:
User avatar
Pacman
Posts: 172
Joined: Mon Feb 05, 2018 2:59 pm

Re: PCG for Sharp MZ-700 / Générateur de caractères graphiques pour Sharp MZ-700

Post by Pacman »

EN:
I have finalized a project of creating, editing and generating 40x25 screens, characters using all the features of the GCG card and patterns ranging from 1x1 to 5x5 to create games. Here are some screenshots.
For the moment I will generate assembler codes, but I could integrate a generation of MZF files later, I await your suggestions.
I finalize all this, and I make available as soon as it is ready. ;)

FR :
J'ai en finalisation un projet de logiciel de création, d'édition et de génération d'écrans 40x25, de caractères utilisant toutes les caractéristiques de la carte GCG et de motifs allant de 1x1 a 5x5 pour créer des jeux. Voici quelques captures d'écran.
Pour l'instant je vais générer des codes assembleur, mais je pourrais intégrer une génération de fichiers MZF par la suite, j'attends vos suggestions.
Je finalise tout cela, et je met a disposition dès que c'est prêt. ;)
Créateur de caractères et écran graphiques / Character creator and graphic screen
Créateur de caractères et écran graphiques / Character creator and graphic screen
createur_ecran_extracteur_motifs.png (39.29 KiB) Viewed 12254 times
Éditeur d'écran graphique / Graphic screen editor
Éditeur d'écran graphique / Graphic screen editor
editeur_ecran.png (42.26 KiB) Viewed 12254 times
Éditeur de caractères / Character Editor
Éditeur de caractères / Character Editor
editeur_caracteres.png (40.26 KiB) Viewed 12254 times
Éditeur de motifs / Pattern Editor
Éditeur de motifs / Pattern Editor
editeur_motifs.png (42.18 KiB) Viewed 12254 times
MooZ
Posts: 38
Joined: Thu Mar 01, 2018 9:39 am

Re: PCG for Sharp MZ-700 / Générateur de caractères graphiques pour Sharp MZ-700

Post by MooZ »

I can't wait to get my hands on this (and a unicard).
User avatar
Pacman
Posts: 172
Joined: Mon Feb 05, 2018 2:59 pm

Re: PCG for Sharp MZ-700 / Générateur de caractères graphiques pour Sharp MZ-700

Post by Pacman »

EN:
Hello,
I just updated the PCG for Sharp MZ-700 : https://github.com/SHARPENTIERS/GCG700
There is :
- Technical documentation
- The PCB
- The Schema
- The list of components
- A small demo with its source code to program graphics
- and an example of a game that comes directly from Japan from the October 1987 issue of "OH! MZ", BROADSWORD, which I scanned, disassembled, re-assembled and adapted for original use, European or PCG mode .

The pattern and character editor is not quite ready yet. He will arrive very soon.

Good fun everyone!

FR:
Bonjour,
Je viens de mettre à jour le GCG pour Sharp MZ-700 : https://github.com/SHARPENTIERS/GCG700
Il y a :
- La documentation technique
- Le PCB
- Le Schéma
- La liste des composants
- Une petite démo avec son code source pour programmer des graphiques
- et un exemple de jeu qui vient directement du Japon tiré de la revue "OH! MZ" d'octobre 1987, BROADSWORD, que j'ai scanné, désassemblé, ré-assemblé et adapté pour une utilisation originale, Européenne ou en mode GCG.

L'éditeur de motifs et de caractères n'est pas encore tout à fait prêt. Il arrivera très bientôt.

Bon amusement à tous !
Vue du PCB sous KiCAD
Vue du PCB sous KiCAD
gcg_pcb.png (64.69 KiB) Viewed 12101 times
Vue 3D
Vue 3D
gcg_pcb_3d.png (178.25 KiB) Viewed 12101 times
fitus
Posts: 60
Joined: Tue Jun 12, 2018 8:52 pm

Re: PCG for Sharp MZ-700 / Générateur de caractères graphiques pour Sharp MZ-700

Post by fitus »

Looks perfect. It makes a completely new computer... I can imagine very nice Games, something like Games for MZ 1500 or X1.
Post Reply