Cargar juegos en un Oric real
Publicado: 18 Jul 2013 20:55
Hola a todos.
Googleando un poco me he encontrado con varios posts en otros foros con peña preguntando cómo cargar los juegos de
en una máquina real. Parece ser que no es algo fácil y da muchos problemas. Hay gente que no consigue cargar nada.
No he contestado directamente, porque en la mayoría no soy miembro (y aunque lleve poco tiempo ya tengo demasiados sitios que mirar, leer y contestar) así que creo que podría ser una buena idea abrir un hilo con algunos trucos y experiencias para los que quieran intentar poner en marcha sus Oric.
La historia de las rutinas de carga de cinta en el Oric es de lo más rocambolesca. Es algo que dio problemas siempre y que no acabaron de solucionar bien. Para hacer la historia corta decir que la detección de errores de carga por paridad no se hacía bien en el Oric-1 (ROM 1.0). Entre otras cosas detectaba errores en la cabecera de sincronismo, que muchas veces es inestable debido a ajustes del volumen del reproductor y nosequé cosas más. Yo creo que había más problemas, pero desconozco cuáles.
Muchos programas añadieron una pequeña cabecera con una rutina que cada interrupción ponía a cero la bandera que indica detección de error, de forma que el programa cargase aun con errores y se auto ejecutase como si nada hubiese pasado. Esto se puede ver en muchos juegos, que comienzan cargando un trozo pequeño generalmente sin nombre o con un asterisco como nombre.
El problema intentó corregirse en el Atmos (ROM 1.1a), deshabilitando la detección de errores durante la fase de sincronismo. Aun así los problemas persistieron (yo me volví loco hasta encontrar un reproductor que cargase cosas en mi Oric). La cuestión es que se detectan errores en muchas ocasiones cuando no los hay. Esto generalmente va a detener la carga con un mensaje, y muchas veces va a salirnos el "Errors found" AL FINAL de la carga. El programa no se auto-ejecuta y estamos fastidiados. Si es basic un RUN puede bastar, pero si es CM... Podemos probar con un CALL#500 (que es la dirección de inicio más típica), pero nadie nos asegura nada. De hecho el saltar a BASIC para dar el error puede haber ya hecho estragos en el programa.
Y peor aun: si el programa se pone en modo HIRES (alta resolución) el mensaje se imprimiría en las tres últimas líneas. La mayoría de las veces no lo vamos a ver porque o bien el autor puso el mismo color de tinta y papel o bien porque, como tras el mensaje se vuelve al prompt del BASIC, se hace un scroll muy rápido y nos quedamos contemplando un precioso Ready con el cursor parpadeante.
Como esto no terminó de funcionar del todo y los usuarios se quejaban, sacaron una versión de la ROM nueva (la 1.1b) que era más "fiable" donde simplemente eliminaban completamente la detección de errores. De hecho no le hacían caso y auto-ejecutaban el programa como si no hubiese pasado nada.
Así que, dependiendo de nuestra ROM puede ser que carguemos un programa sin errores aparentes, pero que se cuelgue al ejecutar. Imaginaos los desarrolladores lo contentos que debían estar sin saber si el código en el que trabajaban se había cargado correctamente o no.
Bueno tras este rollo ya os habréis imaginado que cargar cosas va a ser un problema. No sabemos si van a cargar bien, pueden ejecutarse aun con errores de carga o pueden dar error al final sin que lo haya habido. Añadid a esto rutinas de carga "customizadas" pero que llamen a subrutinas de la ROM y la variedad de resultados puede ser pasmosa.
Supongamos que tenemos nuestro archivo .tap, lo convertimos con tap2wav y lo queremos cargar al Oric. Lo primero es encontrar un reproductor que funcione. No es nada fácil. Yo he probado con varios reproductores mp3 sin éxito. La mayoría supongo que porque modifican la onda con el ecualizador o los realces o por la propia compresión. Algunos no son capaces de dar suficiente señal, aparentemente.
Mi móvil Nokia del año catapún tampoco dio resultado, ni mi iPad. A mí sólo me ha funcionado usar un portátil (he probado dos), usando el Audacity o incluso la grabadora de sonidos de Windows. Eso sí, enchufad el ordenador a la misma base de enchufes a la que tenéis el Oric, que ya ha habido gente que ha fundido su tarjeta de sonido. Hay que deshabilitar todos los filtros y (por si acaso) los sonidos de Windows (no vaya a ser que un email entrante o un recordatorio os jorobe la carga).
Hay gente que dice que le ha funcionado su iPod o iPhone y algunos teléfonos Android.
Bueno, enchufamos. Tecleamos en el Oric CLOAD"" y pulsamos RETURN. Suelen recomendar empezar por un volumen bajo (como al 50%). Si el Oric no muestra el mensaje de Loading.. es que hay que subirlo. Vamos probando subiendo el volumen poco a poco hasta conseguir cargar el juego (probad un programa corto, para no esperar demasiado). Normalmente tras unos pocos intentos daremos con un volumen que cargue bien para la mayoría de los programas.
Si queréis ultracargas la cosa es aun más sencilla, siempre que uséis la versión última (aquí), que funciona en versiones de 64 bit de Windows y tiene un modo de comprobación de carga propio con un CRC de 8 bits (convertid con tap2cd -c ). Sólo funciona con el Atmos, eso sí, y con juegos que no tengan rutinas de carga propias.
Ojo que las versiones antiguas de tap2cd (sólo para DOS) fallan en MUCHOS casos. Por ejemplo con reproductores que inviertan la polaridad de la señal. Además usan las rutinas de la ROM para manejar los errores, así que volvemos a la pesadilla de antes con las distintas versiones.
Lo que yo hago es:
1. Poner el volumen al máximo
2. Intentar la carga
3. Si se detecta un error, aparece el mensaje "Errors found" y la carga para. Bajamos un poquito el volumen y volvemos a intentarlo
4. Si todo va bien el programa auto-arranca (a mí me suele ir bien un volumen del orden del 80%). En otro caso ha habido un error, así que podemos probar a bajar el volumen otro poco y volver a probar.
También podéis empezar con un volumen bajo (el menor que muestre el mensaje de Loading..) e irlo subiendo poco a poco.
Como la carga es muy rápida y los errores se chequean cada página de 256 bytes, si algo va mal sale el mensaje enseguida, así que aunque no lo parezca lleva poco tiempo ajustarlo.
Aun así cualquier ruido puede afectar a la carga. Si parece que todo va bien hasta casi el final, volved a intentarlo, por si acaso, sin tocar nada.
Ahora ya entendéis por qué nos hace falta tanto un sistema alternativo de carga.
Estaría bien si ahora los Oricómanos dejaseis aquí vuestras experiencias, trucos e ideas para cargar los juegos en vuestros Oric
Googleando un poco me he encontrado con varios posts en otros foros con peña preguntando cómo cargar los juegos de
No he contestado directamente, porque en la mayoría no soy miembro (y aunque lleve poco tiempo ya tengo demasiados sitios que mirar, leer y contestar) así que creo que podría ser una buena idea abrir un hilo con algunos trucos y experiencias para los que quieran intentar poner en marcha sus Oric.
La historia de las rutinas de carga de cinta en el Oric es de lo más rocambolesca. Es algo que dio problemas siempre y que no acabaron de solucionar bien. Para hacer la historia corta decir que la detección de errores de carga por paridad no se hacía bien en el Oric-1 (ROM 1.0). Entre otras cosas detectaba errores en la cabecera de sincronismo, que muchas veces es inestable debido a ajustes del volumen del reproductor y nosequé cosas más. Yo creo que había más problemas, pero desconozco cuáles.
Muchos programas añadieron una pequeña cabecera con una rutina que cada interrupción ponía a cero la bandera que indica detección de error, de forma que el programa cargase aun con errores y se auto ejecutase como si nada hubiese pasado. Esto se puede ver en muchos juegos, que comienzan cargando un trozo pequeño generalmente sin nombre o con un asterisco como nombre.
El problema intentó corregirse en el Atmos (ROM 1.1a), deshabilitando la detección de errores durante la fase de sincronismo. Aun así los problemas persistieron (yo me volví loco hasta encontrar un reproductor que cargase cosas en mi Oric). La cuestión es que se detectan errores en muchas ocasiones cuando no los hay. Esto generalmente va a detener la carga con un mensaje, y muchas veces va a salirnos el "Errors found" AL FINAL de la carga. El programa no se auto-ejecuta y estamos fastidiados. Si es basic un RUN puede bastar, pero si es CM... Podemos probar con un CALL#500 (que es la dirección de inicio más típica), pero nadie nos asegura nada. De hecho el saltar a BASIC para dar el error puede haber ya hecho estragos en el programa.
Y peor aun: si el programa se pone en modo HIRES (alta resolución) el mensaje se imprimiría en las tres últimas líneas. La mayoría de las veces no lo vamos a ver porque o bien el autor puso el mismo color de tinta y papel o bien porque, como tras el mensaje se vuelve al prompt del BASIC, se hace un scroll muy rápido y nos quedamos contemplando un precioso Ready con el cursor parpadeante.
Como esto no terminó de funcionar del todo y los usuarios se quejaban, sacaron una versión de la ROM nueva (la 1.1b) que era más "fiable" donde simplemente eliminaban completamente la detección de errores. De hecho no le hacían caso y auto-ejecutaban el programa como si no hubiese pasado nada.
Así que, dependiendo de nuestra ROM puede ser que carguemos un programa sin errores aparentes, pero que se cuelgue al ejecutar. Imaginaos los desarrolladores lo contentos que debían estar sin saber si el código en el que trabajaban se había cargado correctamente o no.
Bueno tras este rollo ya os habréis imaginado que cargar cosas va a ser un problema. No sabemos si van a cargar bien, pueden ejecutarse aun con errores de carga o pueden dar error al final sin que lo haya habido. Añadid a esto rutinas de carga "customizadas" pero que llamen a subrutinas de la ROM y la variedad de resultados puede ser pasmosa.
Supongamos que tenemos nuestro archivo .tap, lo convertimos con tap2wav y lo queremos cargar al Oric. Lo primero es encontrar un reproductor que funcione. No es nada fácil. Yo he probado con varios reproductores mp3 sin éxito. La mayoría supongo que porque modifican la onda con el ecualizador o los realces o por la propia compresión. Algunos no son capaces de dar suficiente señal, aparentemente.
Mi móvil Nokia del año catapún tampoco dio resultado, ni mi iPad. A mí sólo me ha funcionado usar un portátil (he probado dos), usando el Audacity o incluso la grabadora de sonidos de Windows. Eso sí, enchufad el ordenador a la misma base de enchufes a la que tenéis el Oric, que ya ha habido gente que ha fundido su tarjeta de sonido. Hay que deshabilitar todos los filtros y (por si acaso) los sonidos de Windows (no vaya a ser que un email entrante o un recordatorio os jorobe la carga).
Hay gente que dice que le ha funcionado su iPod o iPhone y algunos teléfonos Android.
Bueno, enchufamos. Tecleamos en el Oric CLOAD"" y pulsamos RETURN. Suelen recomendar empezar por un volumen bajo (como al 50%). Si el Oric no muestra el mensaje de Loading.. es que hay que subirlo. Vamos probando subiendo el volumen poco a poco hasta conseguir cargar el juego (probad un programa corto, para no esperar demasiado). Normalmente tras unos pocos intentos daremos con un volumen que cargue bien para la mayoría de los programas.
Si queréis ultracargas la cosa es aun más sencilla, siempre que uséis la versión última (aquí), que funciona en versiones de 64 bit de Windows y tiene un modo de comprobación de carga propio con un CRC de 8 bits (convertid con tap2cd -c ). Sólo funciona con el Atmos, eso sí, y con juegos que no tengan rutinas de carga propias.
Ojo que las versiones antiguas de tap2cd (sólo para DOS) fallan en MUCHOS casos. Por ejemplo con reproductores que inviertan la polaridad de la señal. Además usan las rutinas de la ROM para manejar los errores, así que volvemos a la pesadilla de antes con las distintas versiones.
Lo que yo hago es:
1. Poner el volumen al máximo
2. Intentar la carga
3. Si se detecta un error, aparece el mensaje "Errors found" y la carga para. Bajamos un poquito el volumen y volvemos a intentarlo
4. Si todo va bien el programa auto-arranca (a mí me suele ir bien un volumen del orden del 80%). En otro caso ha habido un error, así que podemos probar a bajar el volumen otro poco y volver a probar.
También podéis empezar con un volumen bajo (el menor que muestre el mensaje de Loading..) e irlo subiendo poco a poco.
Como la carga es muy rápida y los errores se chequean cada página de 256 bytes, si algo va mal sale el mensaje enseguida, así que aunque no lo parezca lleva poco tiempo ajustarlo.
Aun así cualquier ruido puede afectar a la carga. Si parece que todo va bien hasta casi el final, volved a intentarlo, por si acaso, sin tocar nada.
Ahora ya entendéis por qué nos hace falta tanto un sistema alternativo de carga.
Estaría bien si ahora los Oricómanos dejaseis aquí vuestras experiencias, trucos e ideas para cargar los juegos en vuestros Oric
