Karoshi MSX Community
05 de Julio de 2021, 10:03:42 pm *
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.

Ingresar con nombre de usuario, contraseña y duración de la sesión
Noticias:
 
   Inicio   Ayuda Buscar Ingresar Registrarse  
Páginas: [1] 2
  Imprimir  
Autor Tema: Posibilidad de meter roms en un megaflash scc por puerto de cassette?  (Leído 8764 veces)
0 Usuarios y 1 Visitante están viendo este tema.
_ThEcRoW
Karoshi Fan
**
Mensajes: 50


« : 06 de Noviembre de 2011, 03:49:21 pm »

Hola, me gustaría saber si es posible introducir roms en un megaflash scc cargandolas por el puerto del cassette. Obviamente serían roms de 32kb máximo, ya que sólo dispongo de 64kb en mi msx. Se que existen adaptadores para sd que se comportan como unidades de disco, pero tal y como está la economía ahora, no puedo subirme mucho. Por eso pregunto si alguien sabe si es posible hacerlo, ya que hay algunas roms que me gustaría poder cargarlas de inmediato para jugar y así no tener que estar cargando por el puerto de cassette, que aunque tambien me guste, hay veces que uno lo que quiere es jugar y no esperar, jejeje.
Saludos y gracias de antemano!!!
En línea
KNM
Karoshi Hero
*****
Mensajes: 755

Fearless

jbosca@hotmail.com
Email
« Respuesta #1 : 06 de Noviembre de 2011, 05:30:05 pm »

Veamos...

Yo creo que alguno si que ha podido hacerlo... pero el como, no lo sé. Si el aludido quiere darnos alguna pista, aqui un servidor tambien es todo oidos.

Saludos :

KNM
En línea

<Bacterion> : ¿ Por qué la gente se empeña en pulsar F5 ?
pitpan
Karoshi Forum's Guru
*******
Mensajes: 1812


« Respuesta #2 : 06 de Noviembre de 2011, 07:29:41 pm »

Pues sí que se puede, y no sólo ROMs de hasta 32 KB. De hecho, he conseguido cargar a través del puerto de cassette en mi MegaFlashSCC nada menos que el Solid Snake (512 KB!). Eso sí, a la velocidad estandar de 2400 baudios es casi MEDIA HORA de espera. Para un NEMESIS 2 bastan unos 7 minutos, que es mejor marca que la de la mayoría de los juegos en cinta de la época Wink

Ahora vienen las malas noticias:
- El software que he preparado es para mi MegaFlashSCC, que es el modelo antiguo - debería funcionar también en el modelo nuevo.
- Sólo soporta de momento MegaROMs con mappers de 8KB por página (Konami, KonamiSCC, ASCII 8KB).
- No he incluido aún compresión ni carga turbo en los prototipos.
- No dispongo de tiempo que dedicar al desarrollo de esta aplicación.
- Por todo lo anterior, como no la considero acabada, no voy a publicarla.

En línea
_ThEcRoW
Karoshi Fan
**
Mensajes: 50


« Respuesta #3 : 06 de Noviembre de 2011, 11:46:54 pm »

Podrías indicar más o menos a grandes rasgos en que consiste pitpan?. Es decir, del puerto de cassete, va directo al megaflash, o va guardando trozos en ram y de ahí al megaflash?. Lo pregunto más que nada para empezar a cacharrear sobre algo así, ya que seguramente un programa, ya sea en basic o asm se encarga de ello. Saludos y gracias de antemano.
En línea
Iggy Rock
Visitante
« Respuesta #4 : 07 de Noviembre de 2011, 01:23:19 am »

Yo compré una Megaflash a Pazos en una RU de Madrid. Me costó lo suyo porque le comenté que no tengo un MSX con disquetera ^_^! Pero para mi no es ningún problema.

Uso MicroWaver. Es Ferpecto para estas cosas aunque requiere una pequeña parte de código. Recuerdo que hubo que hacer ciertas modificaciones al AsMSX.

Subiré algún ejemplo en WAV. (El salamander parcheado. Quebranta las normas del foro?)

http://karoshi.auic.es/index.php?topic=1096.msg17398#msg17398

PS: Yo termino muy pocas cosas también pero me lo paso muy bien repasándolas Cheesy
« Última modificación: 07 de Noviembre de 2011, 01:40:24 am por Iggy Rock » En línea
KNM
Karoshi Hero
*****
Mensajes: 755

Fearless

jbosca@hotmail.com
Email
« Respuesta #5 : 07 de Noviembre de 2011, 01:07:04 pm »

Yo compré una Megaflash a Pazos en una RU de Madrid. Me costó lo suyo porque le comenté que no tengo un MSX con disquetera ^_^! Pero para mi no es ningún problema.

Uso MicroWaver. Es Ferpecto para estas cosas aunque requiere una pequeña parte de código. Recuerdo que hubo que hacer ciertas modificaciones al AsMSX.

Subiré algún ejemplo en WAV. (El salamander parcheado. Quebranta las normas del foro?)

http://karoshi.auic.es/index.php?topic=1096.msg17398#msg17398

PS: Yo termino muy pocas cosas también pero me lo paso muy bien repasándolas Cheesy

Además de subir "ejemplos", un buen tuto para dummies vendría de granos, Iggy  police

Saludos :

KNM
En línea

<Bacterion> : ¿ Por qué la gente se empeña en pulsar F5 ?
pitpan
Karoshi Forum's Guru
*******
Mensajes: 1812


« Respuesta #6 : 07 de Noviembre de 2011, 02:27:49 pm »

Pues todo lo que hay que hacer es jugar con las rutinas de la BIOS de carga por cassette (TAPIN, por ejemplo), entender cómo funciona un mapper Konami SCC, y conseguir documentación sobre la memoria Flash que lleva el MegaflashSCC, que es un integrado más o menos corriente de AMD.

Mi planteamiento sigue estas pautas y precisamente por ello es lento (carga usando las rutinas de la BIOS) pero no necesita RAM adicional. De hecho, sería posible cargar un megaROM en un MSX con 8 KB de RAM (mínimo según el estándar).

No puede ser más sencillo.
En línea
_ThEcRoW
Karoshi Fan
**
Mensajes: 50


« Respuesta #7 : 07 de Noviembre de 2011, 03:49:05 pm »

Vale, gracias por las respuestas. Lo que comenta pitpan me hace ver más o menos lo necesario para conseguirlo, aunque tendre que echarle tiempo. iggy, lo del microwaver será la conversión de la rom, no?, o es que haces directamente el envio de dicha rom a la megaflash?.
Saludos!!!
En línea
SapphiRe_MSX
Visitante
« Respuesta #8 : 07 de Noviembre de 2011, 03:59:16 pm »

Lo cierto es que una vez que se sabe como hacerlo, grabar en las MegaFlash es sencillísimo, casi como escribir en RAM Cheesy
En línea
Iggy Rock
Visitante
« Respuesta #9 : 07 de Noviembre de 2011, 09:29:49 pm »

iggy, lo del microwaver será la conversión de la rom, no?, o es que haces directamente el envio de dicha rom a la megaflash?.
Saludos!!!

Es la ROM troceada. El AsMSX de Pitpan te facilita muchisimo la tarea y MW la puede ultracargar en la RAM en bloques BIN de 16kb (8+8) y de ahí escribirla en la Megaflash, tiene un retardo de escritura lo que incrementa en unos 3 segundos la carga por cada parte.

Le haré caso al KNM y subiré el código y un minitutorial. Tengo que pedrile permiso a Pazos antes.

De momento para pruebas
En línea
_ThEcRoW
Karoshi Fan
**
Mensajes: 50


« Respuesta #10 : 07 de Noviembre de 2011, 10:10:41 pm »

Gracias Iggy. De momento trasteare con la rom que has subido y intentando programar algo por mi parte para poder automatizar el proceso. Ya tengo con lo que entretenerme, jejeje.
Saludos!!!
En línea
KNM
Karoshi Hero
*****
Mensajes: 755

Fearless

jbosca@hotmail.com
Email
« Respuesta #11 : 08 de Noviembre de 2011, 08:53:35 pm »


Le haré caso al KNM y subiré el código y un minitutorial. Tengo que pedrile permiso a Pazos antes.


Siempre, antes de actuar, consigue la bendición del "Master" Pazoses... Y si se presta, pues cuéntanos como Cheesy

KNM


En línea

<Bacterion> : ¿ Por qué la gente se empeña en pulsar F5 ?
Iggy Rock
Visitante
« Respuesta #12 : 12 de Noviembre de 2011, 02:46:42 pm »

Tras la autorización de Pazos:

Forma de cargar ROM's de 16 kb en la MegaFlash.

Código:


* MicroWaver 0.91  (WYZ & Cax) (Necesarios COMCTL32.OCX + COMDLG32.OCX)
* AsMSX
* MegaFlash ROM  (Manuel Pazos)


Archivos
________

* ROM
* Código ensamblador


Procedimiento:
_____________


Vamos a cargar bloques de 16kb mediante el MW y utilizaremos en código para
enviarle al cartucho trozos de 8kb en 8kb.

* Definir en el código:

- Nombre del archivo -> filename
- Archivo ROM -> game
- Banco inicial -> SCCBANK
- Flash Slot -> Slot donde estará el cartucho.

* Compilar con AsMSX para generar un archivo filename.bin

* Abrir MW:

Seleccionar CD Mode
Compressed (mas lento menos problemas) / Experimental (Mas rápido..)
Attach built in loader
No patch
Pause=3000 ms

Abrir el BIN y generar el WAV.


* Colocar el cartucho MFR en el Slot indicado FlashSlot y encender el MSX pulsando
  el interruptor del cartucho y bypassear el arranque.
 
* Cargar con Bload"Cas:",r el WAV generado. Una vez cargado apagar unos segundos el MSX
  y arrancar de nuevo.
 
  -> si hay problemas de carga probar:
 
  - Eliminar efectos/ ecualizador ...
  - media player sin filtros a volumen alto.
  - cable blanco del cassette medio metido para que solo toque
    los bornes de salida de un solo canal (derecho o izquierdo)

El código AsMSX es el sigueinte:
Código:
        .FILENAME "VIDIPRO_OPF"       
.BASIC
.BIOS
.START BOOT

.ORG $8000

FLASHSLOT EQU $E000 ;DB    1
SCCBANK  EQU $E001 ;DB    0
LAST_BANK EQU $E002 ;DB

GAME: .INCBIN "VIDIPROV2.rom"



BOOT: EI

LD A,$00 ;EMPEZAMOS POR EL BANCO 0
LD [SCCBANK],A
;AND A
;JR NZ,LOADING

; LO PRIMERO BORRAMOS TODA LA MEMORIA FLASH.
; OTRA OPCIÓN SERÍA SABER DE ANTEMANO EL TAMAÑO DE LA ROM Y BORRAR SÓLO
; TANTOS SECTORES DE 64K COMO SEAN NECESARIOS [LO QUE HACE EL OPF]

      LD    A,000000001B ;[FLASHSLOT]      ; SLOT DEL MEGAFLASHROM
      LD    H,$40 ;SLOT 1 =1 SLOT 2=2 ...
      CALL    ENASLT



ERASEFLASH:
      LD   A,$AA
      LD   [$4555],A
      LD   A,$55
      LD   [$42AA],A
      LD   A,$80
      LD   [$4555],A
      LD   A,$AA
      LD   [$4555],A
      LD   A,$55
      LD   [$42AA],A
      LD   A,$10
      LD   [$4555],A      ; COMANDO QUE BORRA TODA LA MEMORIA FLASH
                         
      LD   A,0FFH                         
      LD   DE,4000H                         
      CALL   CHECK        ; COMPROBAMOS QUE SE HA BORRADO CORRECTAMENTE
      JP   C,FAIL1          ; ERROR AL BORRAR

     

; AQUÍ RECUPERAMOS 16K CARGADOS DESDE EL MICROWAVER EN $8000

LOADING: ;[LOADING...]

; GRABAMOS AL CARTUCHO 8K

      LD    A,[SCCBANK] ;BANCO
      LD    [$5000],A                        
      LD    HL,GAME ;DIRECCIÓN DEL BLOQUE DEL JUEGO
      LD    DE,$4000
      LD    BC,$2000
      CALL FLASH ;FLASH DE 8 KB

;INCREMENTAMOS EL BANCO     

      LD    A,[SCCBANK]
      INC    A
      LD    [SCCBANK],A           
 
 ; GRABAMOS AL CARTUCHO 8K MAS
 
      LD    A,[SCCBANK]
      LD    [$5000],A                       
      LD    HL,GAME+$2000 ;DIRECCIÓN DE LOS 8KB SIGUIENTES
      LD    DE,$4000
      LD    BC,$2000
      CALL FLASH
     
      XOR A
      LD [SCCBANK],A
      JP 0 ;RESET
     
      RET

FLASH:
      LD   A,$AA
      LD   [$4555],A
      LD   A,$55
      LD   [$42AA],A
      LD   A,$A0
      LD   [$4555],A      ; COMANDO DE ESCRITURA EN FLASH
      LD   A,[HL]          ; DATO A GRABAR
      LD   [DE],A      ; GRABANDO...

      LD   A,[SCCBANK]
      LD   [$5000],A
      LD   A,[HL]

      CALL   CHECK      ; COMPRUEBA SI SE GRABA CORRECTAMENTE
      JP     C,FAIL2          ; ERROR DE GRABACIÓN

   
      INC   HL
      INC   DE
      DEC   BC
      LD   A,B
      OR   C
      JP   NZ,FLASH
      RET

     
; ERROR

FAIL1:   
LD A,'X'
CALL CHPUT
RET

FAIL2:   
LD A,'O'
CALL CHPUT
RET

;
; COMPRUEBA LOS 'TOGGLE BITS' PARA VER SI EL COMANDO SE EJECUTA CORRECTAMENTE
; OUT: CY = ERROR
;
CHECK:
      PUSH   BC
      LD   C,A
CHK_L1:
      LD   A,[DE]
      XOR   C
      JP   P,CHK_R1
      XOR   C
      AND   $20
      JR   Z,CHK_L1
      LD   A,[DE]
      XOR   C
      JP   P,CHK_R1
      SCF
CHK_R1:
      POP   BC
      RET

Os podeis imaginar como cargar 32 KB o una MegaROM, es bastante sencillo. De todas formas lo explicaré tras ver si todo va bien con las de 16 KB. Y lo definitivo seria hacer una MultiROM O_O!
En línea
_ThEcRoW
Karoshi Fan
**
Mensajes: 50


« Respuesta #13 : 13 de Noviembre de 2011, 03:31:04 pm »

Muchas gracias Iggy por el código. He estado echando un vistazo y aunque mi ensamblador ya no es el que era, (hace siglos que no lo toco, y cuando lo hice fue el 8086), más o menos veo por donde van los tiros.
Una pregunta, si quiero meter una rom de mas de 16k, lo único que tendría que hacer, sería ir incrementando el registro sccbank e ir metiendo bloques de 8k hasta llegar a la cantidad deseada, no?. Por ejemplo, para una megarom de 128k, sería ir de 8 en 8 hasta alcanzar el total.
Saludos y muchas gracias por el aporte!!!
En línea
_ThEcRoW
Karoshi Fan
**
Mensajes: 50


« Respuesta #14 : 13 de Noviembre de 2011, 03:41:26 pm »

Una duda que me ha surgido ahora que me he dado cuenta. En la msx cartridge shop pone que el cartucho no lleva switch en la nueva versión, por lo tanto, cómo se hace para introducir el cartucho y que no arranque lo que lleve dentro con el nuevo megaflash?.
Saludos!!!

Acabo de leer como en el manual que hay en la página.  Spank
« Última modificación: 13 de Noviembre de 2011, 03:49:32 pm por _ThEcRoW » En línea
Páginas: [1] 2
  Imprimir  
 
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.21 | SMF © 2013, Simple Machines XHTML 1.0 válido! CSS válido!