MSX Village forum

L'école ROM en 0000H

Fabf Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 24/08/2010 à 20h55

Messages: 4833

Le 11/09/2012 à 17h44
Quelqu'un connaitrait il le moyen de charger un ROM à l'adresse 0000H dans une megaflashrom ou une megasram ?

Pour info la ROM fait 48ko mais je peux la garnir de vide jusqu'à 64ko

Cela m'éviterais de câbler une eprom ;)
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10900

Le 11/09/2012 à 18h02
dans une MegaSram ASCII il y a un reflet de la page 4000H en 0000H ce qui permet de charger une rom de 16K démarrant en 0000H en mode 16K



:noel
Site web    
Fabf Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 24/08/2010 à 20h55

Messages: 4833

Le 11/09/2012 à 18h04
Je me suis trompé la ROM fait 32ko :oups

Je n'ai pas de megasram ASCII :(

Je suis bon pour câbler une eprom pour mes tests

Merci quand même :top
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10900

Le 11/09/2012 à 18h09
il y a un moyen avec la ram 64k d'elektor mais il n'y a pas de chargeur spécifique
dans un post j'ai donné un chargeur pour un jeu 64k
faut juste l'adapter a ta rom
autre moyen utiliser shem pour copier


:noel
Site web    
Fabf Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 24/08/2010 à 20h55

Messages: 4833

Le 11/09/2012 à 18h15
Peut être que si je fais la ROM de 64ko je peux utiliser le chargeur 64ko elector :hum

Sinon SHEM mais je m'y perd un peu et en plus les plages se chevauchent lors de la copie
En plus pour bien finir la galère, j'aurais un expander en équilibre à 2 cm du clavier :|

Je crois que le plus sage est le câblage d'une eprom
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10900

Le 11/09/2012 à 18h27
si tu met une capa gold sur la sram tu peux programmer avec un autre MSX

comme j'ai déja le matos il ne me reste plus qu'a l'appliquer a ton HB500 ;)


:noel
Site web    
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10900

Le 11/09/2012 à 18h35


:noel
Site web    
Fabf Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 24/08/2010 à 20h55

Messages: 4833

Le 11/09/2012 à 18h57
J'ai trouvé :top

D'après ce que j'ai compris, il faut remplacer gb1 et gb2 par 2 roms de 16ko
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10900

Le 11/09/2012 à 19h09
comme ce sont des fichiers binaires il faut ajouter une en-tête a ton fichier rom

ça fait 7 octets du genre FE XX XX XX XX XX XX regarde dans les gb1 et gb2 pour voir les adresses exactes


:noel
Site web    
Metalion Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 23/12/2009 à 15h32

Messages: 1511

Le 11/09/2012 à 19h22
Sinon, tu peux mettre un programme en 4000h qui charge les 32Kb en 0000h.

Du genre :

Code :
4000h    JP C000h
-----------------
C000h    sélection RAM en bank 0
         sélection RAM en bank 1
         sélection pages MegaRAM en 4000h / 6000h / 8000h / A000h
         copie des 4 pages (32Kb) en 0000h
         JP 0000h
Edité par Metalion Le 12/09/2012 à 08h17


MSX1: Daewoo DPC-200 / Yamaha CX5M
MSX2: Sony HB-F9P
MSXVR
Vidéo: V9990 (GFX-9)
Audio: MSX-Music (FM-PAC) / MSX-Audio (Audiowave) / OPL4 (Monster Sound FM Blaster) / OPNB (Neotron)
   
GDX Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 17/01/2011 à 08h52

Messages: 3004

Le 13/09/2012 à 09h44
C'est mieux de mettre le programme, qui copie les pages de 1 à 4 dans la RAM, en Page 0.

un programme qui procéderait comme suit :

1/ Sélectionner la RAM en 0000h et y copier la page 1 de la ROM.
2/ Sélectionner et copier la page 2 de la ROM en 2000h
3/ Mettre une routine en C000h permettant de sélectionner les pages 3 et 4 en 4000h et 6000h
4/ Lancer la routine puis faire un JP à l'adresse indiqué en 0002h.

Edit : Voici une routine pour sélectionner la RAM :
Code TEXT :
DI
IN A,(#A8)
AND #F0; xxxx0000
LD B,A
RLCA; xxx0000x
RLCA; xx0000xx
RLCA; x0000xxx
RLCA; 0000xxxx
OR B
OUT (#A8),A; RAM Selection (Primary SLOT)
 
LD A,(#FCC4)
BIT 7,A
JR Z,no_ext
LD A,(#FFFF)
CPL
AND #F0; xxxx0000
LD B,A
RLCA
RLCA
RLCA
RLCA; 0000xxxx
OR B
LD (#FFFF),A; RAM Selection (Secondary SLOT)

Elle est simple et efficace à condition que les 64Ko de RAM soient dans un même slot.
Par exemple, elle ne marche pas sur un MSX2 HB-500, sauf si l'on met une extension de mémoire de 64Ko minimum dans un port cartouche. Edité par GDX Le 14/09/2012 à 03h32
   
Fabf Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 24/08/2010 à 20h55

Messages: 4833

Le 16/09/2012 à 20h37
Merci pour votre participation :top

Je vais plutôt partir sur le câblage d'une eprom :oups

Ce sera plus simple pour moi et je serais vraiment sur si ça marche ou si ça marche pas

Merci encore
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie