logo

 

 

DBIOS (Debug BIOS)

Source (Assembleur Z80 pour WLA-DX). Binaire, fonctionne sur l'SMS1, pas testé sur la SMS2. Devrait tenir dans n'importe quel EPROM/Flash de 32ko compatible avec le brochage du BIOS d'origine (j'utilisais un 27E257).

Features: démarrage plus rapide, test de tous les slots, affichage du header, du checksum (avec comparaison), du byte de localisation, de la taille. Fastboot du slot cartouche en appuyant sur 1.

Le check de la SRAM ne marche pas, mais c'est normal... Le reste fonctionne.

Merci smspower.org !

 

Devkit

Prototype jamais réalisé (version plus grande du schéma ici).

L'équivalent d'une cartouche flash de 512ko intégré dans une SMS1, avec programmation par USB, stepping et reset.

Le mapper SEGA avait été refait en VHDL pour être clôné avec des PLDs lattice, il faudra que je retrouve le fichier...

 

Texte d'origine de cette page (notes prises pendant l'écriture du BIOS et du tracé du schéma):

Remplacement du BIOS pour reset rapide, vérifs détaillées et upload par port joystick:
BIOS d'origine: V1.3 Eurod dans un ROM Sony CXK3864 en DIP 28. Retiré, dumpé et remplacé par un support tulipes.
Remplacement par une EEPROM Winbond 27E257 32Ko, programmée avec le dump d'origine.
Seules les broches 1, 26 et 27 sont différentes.
Sur le ROM Sony la broche 1 est NC, mais devient VPP sur l'EEPROM. Pas de problème de compatibilité, peut rester flotante.
Sur le ROM Sony la broche 26 est CE2, mais A13 sur l'EEPROM. Pas de problème de compatibilité, extension de la mémoire disponible à 16Ko au lieu de 8Ko.
Sur le ROM Sony la broche 27 est /WE (VCC), mais A14 sur l'EEPROM. Pas de problème de compatibilité, il suffit de placer le BIOS à $4000.

Les premiers 16Ko de l'EEPROM ne serviront jamais, à moins de couper la broche 27 de VCC et de la relier à A14 sur le Z80.

/OE1 du controleur SEGA est relié à /CE1 de l'EEPROM.
/M0-7 est relié à /OE de l'EEPROM.

Le BIOS fait un test complet de la RAM puis de la VRAM.
Le BIOS fait un test du devboard si on appuie sur haut.
Le BIOS copie une routine de detection en RAM.
La routine detecte la présence de données en lisant les 256 premiers octets sur chaque slot (card, cart, ext).
Pour chaque slot ayant des données présentes, "TMR SEGA" est testé à trois endroits différents.
Pour chaque slot ayant "TMR SEGA" présent au moins une fois, la région est vérifiée et le checksum est calculé puis comparé au header.
Le slot qui a la plus haute priorité est lancé même si le checksum est faux en appuyant sur 1.

Devboard:
Utilise un mapper 315-5235 (max 512Ko) et 4 SRAMs TC551001 128Ko.
Les broches A0 à A13 sont routées en parallèles aux SRAMs.
Les broches A14 à A16 sont routées depuis les sorties du mapper (A14OUT à A16OUT).
Les broches A17OUT et A18OUT du mapper sont données à un decodeur 2 vers 4 pour selectionner la SRAM correspondante (/CE1).
/RD est routé sur tous les /OE.
/MREQ est inversé et routé sur tous les CE2.
/WR est inversé et routé sur tous les RW (pas besoin ?).

footer
symbol symbol symbol symbol symbol