standard de todos modos
no, por si sola no es razón, son muchas cosas que me llevaron a crear el
mnbios
Aparte, te cuento, que en TODOS los MSX, sea msx1, 2 o TR, es facilísimo
averiguar donde está la RAM
SIMPLEMENTE
SLOT= (INP(&HA8) AND &HC0) \64
más facil que eso es imposible
y en cuanto a sub-slot
SLOT=((PEEK(-1) XOR 255) AND &HC0)\64
puesto que la última página siempre tiene seleccionada la RAM, el registro
FFFF al que accedemos es el del slot donde está la RAM y no otro
Eso, es mucho mejor porque es universal, mucho mejor que toda la porquería
que estube vieno..
como verán, no hay que ingeniarselas, ni nada, los datos simplemente están
ahí.
Este loader lo puse para alguien hace unas semanas en el MRC..... es lo
mejor para ponerlo en un bload.
Y funciona en todas las MSX del mundo
Universal without slotting sensitive.
DI
IN A,(0xA8)
PUSH AF
AND 0x30
RRCA
RRCA
LD B,A
IN A,(0xA8)
AND 0xF3
OR B
OUT (0xA8),A
LD A,(0xFFFF)
CPL
PUSH AF
AND 0x30
RRCA
RRCA
LD B,A
LD A,(0xFFFF)
AND 0xF3
OR B
LD (0xFFFF),A
IN A,(0xFD)
PUSH AF
LD A,0xXX ------< page number where load the bin.
OUT (0xFD),A ----> this block only for MSX2 or upper
LD HL, 0x8000
LD DE, 0x4000 ----> address destiny, change it if the game is for MSX1
you want to use the page 0
LD BC, 0x4000
LDIR
POP AF
OUT (0xFD),A -----> this block only for MSX2 or upper
POP AF
LD (0xFFFF),A
POP AF
OUT (0xA8),A
EI
RET
This is the more perfect loader, for work in all world msx.
At following the coding....all in HEXA
F3, DB, A8, F5
E6, 30, 0F, 0F, 47, DB, A8, E6, F3, B0, D3 , A8
3A, FF, FF, 2F, F5, E6, 30, 0F, 0F, 47, 3A, FF, FF, E6, F3, B0, 32, FF, FF
DB, FD, F5, 3E, xx, D3, FD <---- only for msx2 or upper
21, 00, 80, 11, 00, 40, 01, 00, 40, ED, B0
F1, D3, FD <---- only for msx2 or upper
F1, 32, FF, FF
F1, D3, A8, FB, C9
tHE CODING and routine I DO IT A HAND, MAYBE WRONG , just need a test.
Please tellme, if it work
AND THIS WORK WITH ALL INPUT DEVICE LIKE CASSETE
----- Original Message -----
From: "Armando Perez Abad" <armando(_en_)g2k(_punto_)es>
To: <hispamsx(_en_)yahoogroups(_punto_)com>
Sent: Monday, May 24, 2004 10:51 AM
Subject: Re: [hispamsx] loaders
Flyguille wrote:
ayer me estube arreglando los loaders de juegos que me he bajado de
funet hace un par de años atrás para hacerlos rular
es increiblemente estúpida la programación que usan los crackers....
Si. Resulta que en MSX1 no es tan facil averiguar donde esta la memoria,
si no haces un test.
La memoria no es mapeada, no sabes donde esta, y te las tienes que
ingeniar para averiguarlo. Coincido que el 90% son una chapuza. Y que no
funcionan en MSX2 parriba.
Pero tambien es cierto, que en MSX1 no es tan sencillo. Se tienen que
recorrer todos los slots y subslots y determinar donde tienes memoria,
para ponerla en la pagina 0 y 1, que es loq ue buscan el 99% de juegos
de casette para poder usar 64k de RAM.
En cualquier MSX ocn unidad de disco ya lo tienes mas sencillo, puesto
que las variables del DOS te dicen donde tienes memoria para cada pagina
(0F341h en adelante).
Pero eran otras historias, de hace muchos muchos años. Y no creo que den
razon de ser para el MNBIOS.
Yo estuve un tiempo arreglando muchos de estos loaders, por peticion del
Imanok con un cargador generico que te buscaba la ram y te ponia las
variables en el formato del 80% de esos cargadores (que eran el mismo).
La verdad , muy malos todos los loaders en general.. salvo algunos
que multiplicaban a PEEK(-1)*1.0625 o algo así. como se las
ingeniaron para hacer el equivalente a .... LD a,(FFFF), CPL, AND 30,
RRCA RRCA, LD B,A ..... y duplicar la selección de la página 3 o 2 en
1....
Tete, creo que estas patinando. Puesto que no tiene por que tener la RAM
en el mismo slot el MSX. Eso que haces en un MSX1 puede fallar. Pues no
existe en la norma, en ningun sitio, donde te diga que es obligado que
la ram este siempre en el mismo slot.
Precisamente POR ESO hacian algunos loaders los test, por que en algunos
modelos de MSX1 los 64k (por los que mas se hicieron) no estaban en el
mismo slot/subslot, y tenian 16k aqui, 16 alli y asi.
Creo que tu lo ves todo desde la perspectiva MSX2, y aqui es mas facil
acertar con tu formula, pero aun asi podrias patinar.
Eso si, no estaria de mas que se juntasen en algun sitio versiones 100%
compatibles con todos los MSX de esos juegos, pero ya te digo, es una
faena, pues hay que hacerlos uno a uno.
--
Un saludo,
Armando Pérez Abad
HELIO YAGO, S.L.
http://www.g2k.es
Tlf: (96) 363 43 17
Fax: (96) 390 27 17
*HispaMSX. La mailing-list de MSX en castellano*
Para cualquier duda: hispamsx-owner(_en_)yahoogroups(_punto_)com
Web de lista: http://www.hispamsx.org
Enlaces a Yahoo! Grupos
Para visitar tu grupo en la web, accede a:
http://es.groups.yahoo.com/group/hispamsx/
Para cancelar tu suscripción en este grupo, envía
un mensaje en blanco a:
hispamsx-unsubscribe(_en_)yahoogroups(_punto_)com
El uso que hagas de Yahoo! Grupos está sujeto a
las Condiciones del servicio de Yahoo!:
http://es.docs.yahoo.com/info/utos.html
*HispaMSX. La mailing-list de MSX en castellano*
Para cualquier duda: hispamsx-owner(_en_)yahoogroups(_punto_)com
Web de lista: http://www.hispamsx.org
Enlaces a Yahoo! Grupos
Para visitar tu grupo en la web, accede a:
http://es.groups.yahoo.com/group/hispamsx/
Para cancelar tu suscripción en este grupo, envía
un mensaje en blanco a:
hispamsx-unsubscribe(_en_)yahoogroups(_punto_)com
El uso que hagas de Yahoo! Grupos está sujeto a
las Condiciones del servicio de Yahoo!:
http://es.docs.yahoo.com/info/utos.html