Nº280 (8/2013)







  Download :
Ce numéro hors-série est un peu spécial, en ce que seules les personnes impliquées dans le développement du Super-Oric y trouverons (peut-être) un intérêt. Il a le mérite de faire le point sur l'historique de toutes les cartouches Super-Oric parues à ce jour et de toutes les Roms présentes dans ces cartouches. La partie "Super-Oric à Nu" (un peu longue hélas) est surtout un outil de travail pour les développeurs. Mais rappelons, qu'il n'est nul besoin d'entrer dans la machine pour l'utiliser et d'ailleurs, qu'il n'est nul besoin de posséder une console Snes pour jouer avec le Super-Oric : Les émulateurs Snes font parfaitement l'affaire. Si vous n'avez déjà essayé, laissez-vous tenter...

Super-Oric à nu : Listings commentés 6502 & 65816 de la toute première Rom, Base1.bin
L'espace mémoire de la Snes
Liste et résumé des cartouches Super-Oric
Liste et résumé des Roms Super-Oric

sommaire

Adresses CEO / Sommaire / Editorial   Page 2
Liste et bref descriptif des cartouches Super-Oric   Page 3-7
Liste et bref descriptif des Roms Super-Oric   Page 8-10
Résumé du contenu de la 1e Rom Super-Oric, Base1.Bin   Page 11-19
L’espace mémoire de la Snes   Page 20
La Rom Basic 0.01 à nu   Page 21-35
Le code 65816 de la Rom v 0.01 à nu   Page 36-44
Quelques considérations sur la Vram   Page 44-48
En guise de conclusion (provisoire)   Page 49
Un peu de pub : La page Web du Super-Oric   Page 50


L'espace mémoire de la Snes
par André C.

Cet article est court (une page), mais essentiel et vous aurez souvent à vous y référer, notamment au tableau final.

Pour bien comprendre le fonctionnement du Super-Oric, un petit préliminaire sur l'espace mémoire de la Snes est nécessaire. Ce préliminaire concerne le mappage dans la Snes des trois éléments importants du Super-Oric: Le Basic (#4000 octets), le code 65816 complémentaire (#4000 octets) et la mémoire Flash 29F010 (#20000 octets). Il faut préciser que les #8000 premiers octets de la mémoire Flash correspondent à la Rom Super-Oric (Basic + code 65816) proprement dite et que le reste sert au stockage des programmes Basic (stockage initial et stockage ultérieur avec la commande CSAVE).

L'espace mémoire de la Snes est organisé en 256 (#FF) banques de 64 Ko (#FFFF octets). Mais en fait tout (ou presque) est redondant dans cet espace gigantesque. D'abord les banques #80 à #FF sont la copie exacte des banques #00 à #7F, à ceci près que la vitesse d'accès à la mémoire est plus grande. Par exemple les accès à la banque #80 sont plus rapides que ceux à la banque #00, mais le contenu est identique.

Sans entrer dans des détails épouvantablement compliqués, il faut savoir que la mémoire Flash 29F010 que nous utilisons (#20000 octets) est virtuellement découpée en quatre morceaux de #8000 octets (#8000 x 4 = #20000) et que ces quatre morceaux sont mappés dans la moitié haute des banques $00 à $03. En clair, les #8000 octets de la Rom Super-Oric (le premier quart de la mémoire Flash) sont mappés de $8000 à $FFFF dans la banque $00 (et aussi dans la $80, d'accès plus rapide), tandis que les autres trois quarts de la mémoire Flash (qui servent à stocker les programmes Basic) sont mappés de $8000 à $ FFFF dans les banques $01 à $03.

En général les #8000 premiers octets des banques (de $0000 à #$7FFF) sont utilisés par le système et les #8000 derniers octets (de $8000 à #$FFFF) correspondent à de la Rom. Mais ce n'est pas le cas des banques 126 et 127 (#7E et #7F) qui sont spéciales et correspondent à deux banques de 64K (#FFFF) de Ram dans la console Snes. La banque $7E abrite la banque "principale" du Super-Oric et la banque $7F abrite la "deuxième" banque du Super-Oric (écrans, caractères et palettes).

Enfin, il faut aussi comprendre que si la Rom Super-Oric proprement dite est mappée dans la banque $00, les #4000 octets du Basic s'y trouvent de $8000 à $BFFF, tandis que les #4000 octets du code 65816 complémentaire s'y trouvent de $C000 à $FFFF. A l'exécution de la routine "copyrom", le Basic est copié en Ram, dans la banque $7E (banque Super-Oric "principale"), de $C000 à $FFFF (sa place normale d'exécution).

Voici en résumé les adresses des différents éléments du Super-Oric:

Entités Super-Oric Plage de localisation Remarque
Rom Basic $008000 à $00BFFF adresse initiale dans la mémoire Flash
Rom Basic $7EC000 à $7EFFFF adresse d'exécution en Ram
Code 65816 $00C000 à $00FFFF adresse initiale dans la mémoire Flash
Code 65816 $80C000 à $80FFFF adresse d'exécution accès rapide
Stockage Prg $018000 à $01FFFF deuxième quart de la mémoire Flash
Stockage Prg $028000 à $02FFFF troisième quart de la mémoire Flash
Stockage Prg $038000 à $03FFFF dernier quart de la mémoire Flash
Bk principale $7E0000 à $7EFFFF espace Oric classique moins écrans et caractères
Bk secondaire $7F0000 à $7FFFFF espace compl.: écrans, caractères et palettes



BROWSE

NUMEROS
 [284] - [283] - [282] - [281] - [280] [279] - [278] - [277] - [276] - [275] - [274] - [273] 

YEAR
2017 - 2016 - 2015 - 2014 - 2013 - 2012 - 2011 - 2010 - 2009 - 2008 - 2007 - 2006 - 2005 - 2004 - 2003 - 2002 - 2001 - 2000 - 1999 - 1998 - 1997 - 1996 - 1995 - 1994 - 1993 - 1992 - 1991 - 1990



Hosted By oric.org server www.oric.org V 2.6 CNIL ID : 872370 Write to Webmaster © 2000-2021 Built in 0.07 Seconds