Muy buenas!
Tengo en mente un proyecto muy parecido al Amstratil de sydaroa pero quitando de en medio el teclado, o lo que es lo mismo: crear una consola y de paso aprovechar la idea para mejorar las posibilidades de uso de la GX4000
Peeeero, como siempre, el principal problema es la programación estoy buscando el código fuente suficientemente comentado de la ROM del Basic pero sólo encuentro este fichero:
http://www.cpctech.org.uk/docs/basic.asm
Y mi nivel no me permite descubrir como parchear esta ROM para lograr que aparezca el famoso mensaje "Press Play then any Key" automáticamente al arrancar la máquina
Cualquier pista o sugerencia será siempre bien recibida
Un saludo.
"Consolización" de un CPC: parcheo de la Basic ROM
Reglas del Foro
Debido a que hay varios temas pidiendo ayuda para programar en ensamblador máquinas distintas al Amstrad CPC, con micro distinto al Z80 y que incluso dependen del sistema operativo, nos vemos en la necesidad de poner por escrito que estos posts son bienvenidos pero que no es el lugar adecuado ya que por estos lares nos dedicamos más al ensamblador del Z80, un microprocesador de 8 bits que tuvo su gran auge en ordenadores y consolas de los años 80.
De todas formas, esto no quita que alguien que sepa del asunto pueda postear alguna respuesta pero es más fácil encontrar foros dedicados a programar en ensamblador en Windows o MS-DOS que ayudarán más que nosotros:
http://www.lawebdelprogramador.com/news ... nsamblador
Debido a que hay varios temas pidiendo ayuda para programar en ensamblador máquinas distintas al Amstrad CPC, con micro distinto al Z80 y que incluso dependen del sistema operativo, nos vemos en la necesidad de poner por escrito que estos posts son bienvenidos pero que no es el lugar adecuado ya que por estos lares nos dedicamos más al ensamblador del Z80, un microprocesador de 8 bits que tuvo su gran auge en ordenadores y consolas de los años 80.
De todas formas, esto no quita que alguien que sepa del asunto pueda postear alguna respuesta pero es más fácil encontrar foros dedicados a programar en ensamblador en Windows o MS-DOS que ayudarán más que nosotros:
http://www.lawebdelprogramador.com/news ... nsamblador
-
- Keeper of The Forum
- Mensajes: 712
- Registrado: Vie 27 Feb , 2009 12:21 pm
Re: "Consolización" de un CPC: parcheo de la Basic ROM
Que es exactamente lo que quieres hacer. Que la consola cargue de cassete nada mas arrancar? No prefieres usar un 6128 y remplazar la rom basic por la amsdos y que al encender provoque un |cpm? Creo que hay un link en la placa que hace precisamente eso...
--------
Carpeta publica [url=https://mega.nz/#F!W5IyhbLa!51JpgZqvyx6j__v12Pr9QA]MEGA Amstrad[/url]
Carpeta proyecto [url=https://github.com/KaosOverride]GitHub[/url]
Carpeta publica [url=https://mega.nz/#F!W5IyhbLa!51JpgZqvyx6j__v12Pr9QA]MEGA Amstrad[/url]
Carpeta proyecto [url=https://github.com/KaosOverride]GitHub[/url]
Re: "Consolización" de un CPC: parcheo de la Basic ROM
Muy buenas, Kaos!
El problema es que al no haber teclado no puedo pulsar CTRL + Intro y necesito que se produzca el salto a la ejecución de un RUN" virtual nada más aparecer el READY... me temo que va resultar más complicado que alterar los juegos para que sean controlados con el joy desde el principio
Date cuenta de lo bueno que sería lograrlo, porque la GX4000 podría beneficiarse muy mucho del tema.
Un saludo.
EDIT:
Parece que voy progresando:
Con este código logramos el equivalente al comando RUN" desde C.M. (en un CPC6128). Ahora el problema es encontrar dónde colocarlo para que se ejecute justo después del READY
Exacto! lo que comentas del amsdos es un ejemplo perfecto de lo que quiero hacer, salvo que yo necesito que cargue desde cinta, o mejor dicho, desde CD o MP3.Que es exactamente lo que quieres hacer. Que la consola cargue de cassete nada mas arrancar? No prefieres usar un 6128 y remplazar la rom basic por la amsdos y que al encender provoque un |cpm? Creo que hay un link en la placa que hace precisamente eso...
El problema es que al no haber teclado no puedo pulsar CTRL + Intro y necesito que se produzca el salto a la ejecución de un RUN" virtual nada más aparecer el READY... me temo que va resultar más complicado que alterar los juegos para que sean controlados con el joy desde el principio
Date cuenta de lo bueno que sería lograrlo, porque la GX4000 podría beneficiarse muy mucho del tema.
Un saludo.
EDIT:
Parece que voy progresando:
Código: Seleccionar todo
CALL &B900
LD HL,&B5A9
JP &C0B4
-
- Keeper of The Forum
- Mensajes: 712
- Registrado: Vie 27 Feb , 2009 12:21 pm
Re: "Consolización" de un CPC: parcheo de la Basic ROM
Hay dos "Ready" en la ROM del BASIC... Un Breackpoint de lectura en la R y a ver donde esta ejecutando. tracea y reemplaza xDDDDD
Igual es mas divertido quitar las librerias del LOGO del AMSDOS, mirar como meten el menu del BASIC/JUEGO de los PLUS y reemplazarlo con un "CINTA/DISCO" o un navegador estilo PSP para ejecutar cosas del disco o cargar cinta xDD ¿¿Creo que te deja pie a casi 8 Ks libres en la ROM?????
Igual es mas divertido quitar las librerias del LOGO del AMSDOS, mirar como meten el menu del BASIC/JUEGO de los PLUS y reemplazarlo con un "CINTA/DISCO" o un navegador estilo PSP para ejecutar cosas del disco o cargar cinta xDD ¿¿Creo que te deja pie a casi 8 Ks libres en la ROM?????
--------
Carpeta publica [url=https://mega.nz/#F!W5IyhbLa!51JpgZqvyx6j__v12Pr9QA]MEGA Amstrad[/url]
Carpeta proyecto [url=https://github.com/KaosOverride]GitHub[/url]
Carpeta publica [url=https://mega.nz/#F!W5IyhbLa!51JpgZqvyx6j__v12Pr9QA]MEGA Amstrad[/url]
Carpeta proyecto [url=https://github.com/KaosOverride]GitHub[/url]
Re: "Consolización" de un CPC: parcheo de la Basic ROM
El segundo "ready" es en realidad "already"Hay dos "Ready" en la ROM del BASIC... Un Breakpoint de lectura en la R y a ver donde esta ejecutando. tracea y reemplaza xDDDDD
Pues si, eso acabo de hacer y parece que funciona!
El cutre-parcheo consiste en meter 21,A9,B5,C3,B4,C0 en la posición &C081 (&0081 de la eprom basic 1.1). Con esto conseguimos que aparezca "Press Play then any key" en lugar de "Ready" (desactivando previamente AMSDOS, claro).
Espero que a alguien se le ocurra una solución más elegante
Pues es una idea genial pero me temo que es un proyecto que me viene demasiado grande de momento me conformo con mi pequeño logroIgual es mas divertido quitar las librerias del LOGO del AMSDOS, mirar como meten el menu del BASIC/JUEGO de los PLUS y reemplazarlo con un "CINTA/DISCO" o un navegador estilo PSP para ejecutar cosas del disco o cargar cinta xDD ¿¿Creo que te deja pie a casi 8 Ks libres en la ROM?????
Un saludo.
Re: "Consolización" de un CPC: parcheo de la Basic ROM
Mas avances!
Ya he tostado una eprom 27c512 de 64Kbytes con una rom preparada a partir de la especial francesa (la que no tiene Burning Rubber) a la que he incorporado la s3 en vez de la f3 (os v3 del 6128 clásico en castellano) y se ha eliminado el amsdos, aplicando el parche al basic 1.1 para que arranque con el comando run" automáticamente.
¿el resultado? el esperado arranca igual de bien que en los emuladores y al pulsar la tecla pausa o cualquiera del joystick hace desaparacer el cursor, asi que de momento todo va genial
Ahora toca la segunda fase: enganchar un cable a la patilla 68 del ASIC y fabricar este circuito:
http://www.zxdesign.info/cassette.shtml
y tengo pensado conectar masa y "line in" a las patillas 5 y 9 del puerto de joystick 2... a ver que tal se da
Un saludo.
Ya he tostado una eprom 27c512 de 64Kbytes con una rom preparada a partir de la especial francesa (la que no tiene Burning Rubber) a la que he incorporado la s3 en vez de la f3 (os v3 del 6128 clásico en castellano) y se ha eliminado el amsdos, aplicando el parche al basic 1.1 para que arranque con el comando run" automáticamente.
¿el resultado? el esperado arranca igual de bien que en los emuladores y al pulsar la tecla pausa o cualquiera del joystick hace desaparacer el cursor, asi que de momento todo va genial
Ahora toca la segunda fase: enganchar un cable a la patilla 68 del ASIC y fabricar este circuito:
http://www.zxdesign.info/cassette.shtml
y tengo pensado conectar masa y "line in" a las patillas 5 y 9 del puerto de joystick 2... a ver que tal se da
Un saludo.
Re: "Consolización" de un CPC: parcheo de la Basic ROM
Huy! se me olvidó dar el toque final a este tema, sorry
A finales de agosto hice una prueba y no logré cargar nada en la GX4000 con el amplificador de la página mencionada (ni siquiera apareció un triste read error a) y en diciembre me pasó lo mismo con el spectrum harlequín, asi que tuve que hacerme un circuitillo en base a un comparador de tensión LM311, con el que logré cargar juegos en el clon, y ya de paso hice la misma prueba en la GX4000... ¿resultado? ¡espectacular! debo ser el primero que logra cargar audios en una GX4000
Asi que ya lo sabeis, la GX4000 tiene más posibilidades de lo que se presuponía
Saludos.
A finales de agosto hice una prueba y no logré cargar nada en la GX4000 con el amplificador de la página mencionada (ni siquiera apareció un triste read error a) y en diciembre me pasó lo mismo con el spectrum harlequín, asi que tuve que hacerme un circuitillo en base a un comparador de tensión LM311, con el que logré cargar juegos en el clon, y ya de paso hice la misma prueba en la GX4000... ¿resultado? ¡espectacular! debo ser el primero que logra cargar audios en una GX4000
Asi que ya lo sabeis, la GX4000 tiene más posibilidades de lo que se presuponía
Saludos.
Re: "Consolización" de un CPC: parcheo de la Basic ROM
Buen trabajo !! Danos más detalles, creo que KaosOverride estará más que interesado
-
- Keeper of The Forum
- Mensajes: 712
- Registrado: Vie 27 Feb , 2009 12:21 pm
Re: "Consolización" de un CPC: parcheo de la Basic ROM
Mola, de hecho creo que serias el primero en cargar un juego comercial de cpc en una gx4000 sea disco/cinta ya que el no$cart solo va en el 6128plus por tener el 765 fisico.
Que tal se arregla con un OTLA? Y los comprimidos de CngSoft?
Que tal se arregla con un OTLA? Y los comprimidos de CngSoft?
--------
Carpeta publica [url=https://mega.nz/#F!W5IyhbLa!51JpgZqvyx6j__v12Pr9QA]MEGA Amstrad[/url]
Carpeta proyecto [url=https://github.com/KaosOverride]GitHub[/url]
Carpeta publica [url=https://mega.nz/#F!W5IyhbLa!51JpgZqvyx6j__v12Pr9QA]MEGA Amstrad[/url]
Carpeta proyecto [url=https://github.com/KaosOverride]GitHub[/url]
Re: "Consolización" de un CPC: parcheo de la Basic ROM
Pues no se, nunca he usado el OTLA, pero si te puedo decir que el primer juego que cargué fue el Mag Max, que por el sonido debía de estar a 2000 baudios o más (ver. pirata), y cargó perfectamente. También le metí el mega apocalypse y perfectoMola, de hecho creo que serias el primero en cargar un juego comercial de cpc en una gx4000 sea disco/cinta ya que el no$cart solo va en el 6128plus por tener el 765 fisico.
Que tal se arregla con un OTLA? Y los comprimidos de CngSoft?
Pero vamos, si tienes algún archivo mp3 no tengo ningún inconveniente en hacer la prueba
Saludos.
¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro
La Comunidad Española |