MSX Village forum

L'atelier Cartouche MSX

irios Membre non connecté

Touriste

Rang

Avatar

Inscrit le : 07/09/2011 à 13h27

Messages: 74

Le 08/12/2013 à 18h52
Bonsoir à tous,

Lorsqu'il y a une cartouche sur un MSX, quelle est l'adresse du point d'entré du programme ?
Merci pour votre aide.
   
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10734

Le 08/12/2013 à 18h58
si tu veux parler du point d'entrée du programme contenu dans la cartouche et bien ça dépend ;)

l'entête d'une cartouche est 41 42 xx xx
l'adresse de lancement est codée dans XX XX ex konami 10 40
voit le détail en anglais ci-dessous

The first 16 bytes of each Cartridge or Expansion ROM are used as header. In most cases (ie. in game cartridges) only the first two entries are used, and the remaing entries are set to zero.

Address Name Expl.
X000 ID Identification Code (4241h=ROM Cartridge, 4443h=SUBROM)
X002 INIT Start Address (could be anywhere 0000-BFFF)
X004 Statement Statement expansion routine address. For creating new
CALL statement (For example CALL MUSIC used in FM PAC)
X006 DEV For creating new devices (CAS:, MEM:, GRP:, etc...)
X008 TEXT Pointer to BASIC program in ROM, must be in 8000-BFFF.
X00A-F N/A Reserved (0)

Upon startup the BIOS scans all SLOTs for Cartridge ROMs (ID 4241h) at addresses 4000h and 8000h, and for SUBROMs (ID 4443h) at address 0000h.
Most Cartridge ROMs occupy the area from 4000h-BFFFh, but might be also using (or being mirrored to) the whole address space from 0000h to FFFFh.


:noel
Site web    
GDX Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 17/01/2011 à 08h52

Messages: 3004

Le 09/12/2013 à 00h52
Au démarrage, le MSX cherche l'entête "41h 42h ADRS1 ADRS2 ADRS3 ADRS4" dans chacun des Bank (0000h, 4000h, 8000h et C000h) de chaque Slot. Et lance, la routine de la ROM à l'adresse indiquée dans entête lorsqu'il en trouve une. ADRS4 est une adresse indiquant le début d'un programme Basic. ADRS1, ADRS2, ADRS3 et ADRS4 ne sont pas pris en compte si égal à 0. Edité par GDX Le 09/12/2013 à 08h55
   
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie