Commodore manía
Commodore 64 => Desarrollo => Mensaje iniciado por: SingletonJohn en Junio 05, 2025, 11:32:31
-
Hola a todos!
Abro este hilo para animar a la gente a que programe en la máquina real. El C64 es un sistema MUY agradecido y hay grandes posibilidades
Mis herramientas serán un C64c y un cartucho Ultimate II+. Aunque el flujo de trabajo ya lo usaba programando en TheC64, con la guía del canal ( bits Show and Tell....Robin es un auténtico fenómeno
Con tan sólo una REU, un Super SnapShot cartridge y el TurboMacroPro y el Firebird Graphic Designer (un auténtico PASTIZAL en material en la época), iré haciendo cosas en ensamblador
Se admiten peticiones ;)
-
empezaré con esto en ensamblador!
https://youtu.be/Mfjm43l2dkc?feature=shared
No he visto nada para no contaminarme ni "fusilar" nada
-
Aquí el enlace del desafío!
https://codegolf.stackexchange.com/questions/63772/determine-the-color-of-a-chess-square
-
Que grande eres.
Hasta ahora el único que desarrolla en C64 es Bieno sus aventuras gráficas.
¿El reto consiste en dibujar esa grilla?
https://i.sstatic.net/YxP53.gif
-
es dibujarla con un programa lo más corto posible. Es el principal condicionante. Y usar la entrada/salida estándar del sistema (CHRIN y CHROUT usaré). También, tiene que poderse meter las coordenadas de uan casilla y el programa debe responder light (blanco) y dark (oscuro) según el color de la casilla
La verdad es que me gusta tocar el cacharro "real" (hasta ahora me las apañaba con el TheC64, gran cacharro) con los medios nativos de que disponga. El C64 no deja de sorprenderme por lo cómodo y versátil que es. Es un disfrute tener que documentarse para cada cosita que quieres hacer y pegarse con ello. Y es muy divertido pensar en cómo hacer las cosas para no acabar con un monstruo infumable.
-
es dibujarla con un programa lo más corto posible. Es el principal condicionante. Y usar la entrada/salida estándar del sistema (CHRIN y CHROUT usaré). También, tiene que poderse meter las coordenadas de uan casilla y el programa debe responder light (blanco) y dark (oscuro) según el color de la casilla
Si tengo tiempo (iluso...) podría intentar hacer algo en Turbo Rascal.
La verdad es que me gusta tocar el cacharro "real" (hasta ahora me las apañaba con el TheC64, gran cacharro) con los medios nativos de que disponga. El C64 no deja de sorprenderme por lo cómodo y versátil que es. Es un disfrute tener que documentarse para cada cosita que quieres hacer y pegarse con ello. Y es muy divertido pensar en cómo hacer las cosas para no acabar con un monstruo infumable.
En estos tiempos parece una extravagancia, teniendo los compiladores cruzados, ponerse a trabajar sobre el equipo real, pero es tentador...!
-
Pues no te quedes con las ganas de ninguna de las dos cosas @josepzin ! Para qué carallo tenemos tanta cacharrada si no?
Como dicen los Enemigos:"no hay mucho tiempo,pero está todo por delante"
-
Ya tengo el tablero y una ideaka para obtener el color de la casilla!
-
Jo...tengo esto un poco abandonado!
Pues al final hice en su día lo del ajedrez...al final el reto era hacer un programa que le metas las coordenadas y te responda "claro" u "oscuro".....pero yo tb metí el dibujo del tablero. A ver si meto el código para compartirlo
Y el concurso es algo injusto, ya que se puntúa la cantidad de bytes que ocupa la solución "tecleada", no las librerías y/o recursos usados. Y yo creo que eso es MUY injusto. NO es lo mismo una solución de , yo que sé, 30bytes de python (que necesita porrón de megas para arrancar el intérprete y meter en memoria las librerías básicas (por decir algo) que 100 bytes en ensamblador puro y duro
-
También he estado chapando en profundidad el BASIC del Commodore y las roms del Basic y del Kernal.
Y he conseguido meter nuevos comandos al basic, y tokenizar/destokenizarlos.....me parece una cosa super interesante para compartir y estoy por hacer unos vídeos explicando todo con ritmo pausado y detalle.
Como soy un traidor spectrumero (:) :) :) ) el primer comando que he metido es el PRINT AT <LÍNEA>,<COLUMNA>,<TEXTO>.....y he flipado cuando he conseguido hacerlo funcionar....igual pillo carrerilla y le meto rollos tipo PLOT, LINE, CIRCLE, BEEP/PLAY, etc
-
Ahhh yo hubiera pagado por tener un PRINT AT cuando empecé con el 64!!! venía del ZX-81, que lo tenía y con el 64 que es superior en todo, el BASIC no tenía ni eso ni nada :D
-
Yo flipé la primera vez que hice algo en C64 y me dijeron lo de los caracteres especiales para situar el texto.....
Claro que también la ROM de Basic del C64 es la mitad que la de Spectrum....
-
Una pregunta técnica "de nota" para los que usáis cartuchos Ultimate/II/+ y similares
Hay alguna forma de hacer que monte automáticamente los discos que elijas al encender el ordenador???
Soy muy de cacharreo y casi siempre tengo puestos los dos mismos archivos.d64 en las unidades virtuales.
Me parece un poco "rollo" (esto es en parte sibaritismo y en parte intentar no dar caña brava a los botones del cartucho) andar haciéndolo a mano
así como con los archivvos .crt y la reu si sé cómo se hace, con los discos no soy capaz
-
Últimamente me está dando por adaptar los juegos de listado de la Microhobby a C64...para que realmente sea una revista multisistema!
Me resulta curioso el Basic del C64. Estoy invirtiendo tiempo en aprender bien y en chaparme las roms...
;D ;D ;D
-
Ya compartirás tus adaptaciones ;)
-
Es todo un desafío eso que quieres hacer... y en algunos casos creo que tendrás problemas, me refiero sobre todo a que el BASIC de Z80 va 3 veces más rápido y además tiene un juego de instrucciones más potentes.
¡Ya contarás que tal!
-
Por ahora estoy con el primero, con el Morra.
Es todo un desafío eso que quieres hacer... y en algunos casos creo que tendrás problemas, me refiero sobre todo a que el BASIC de Z80 va 3 veces más rápido
Realmente los juegos de basic de la Microhobby no suelen ser de estos que llevan el Basic al extremo: son más de aprendizaje y desarrollo de buenas prácticas.Si haces un "portaco" está claro que vas a tener problemas. Pero si vas adaptando las cosas a la manera de Commodore, pues queda todo bastante parecido.
La limitación más evidente que he encontrado es el número de líneas que puede ocupar cada línea de basic. En el Spectrum el límite es mucho más amplio, por lo que me toca renumerar el listado :(
tiene un juego de instrucciones más potentes
Respecto a la potencia del basic, ya sé (soy Spectrumero). Por ahora combinando la Rom del basic con la Rom del Kernal voy apañándome. Y a una mala, como sé modificar los comandos de basic o meter comandos nuevos, podría resolverlo. Aunque esto trataré de evitarlo. La idea es hacerlo en basic estandar y conservando el espíritu del juego original. Es decir, no voy a hacer un remodelado completo a C64. Serán pequeños toques
-
Ya compartirás tus adaptaciones ;)
Por supuesto! Cuando los vaya acabando los iré subiendo. Mi idea es también mandarlos a Microhobby, que igual les interesa.
Del Morra sólo me queda meterle sonido. Nunca he hecho sonido en Basic en C64, aunque al controlar a bajo nivel, espero que no me cueste mucho. Desde luego en Spectrum el sonido es más directo con el BEEP y el PLAY(en 128k)
-
Lo prometido es deuda!
Primero un programilla MUY interesante para tocar los bits del SID. Es el programa TESTSID de este disco.
No lo he hecho yo, es del libro Programming Commodore64 de Raeto Collin West
-
Ya compartirás tus adaptaciones ;)
¡Ya contarás que tal!
Y ahora el plato fuerte! El MORRA para C64, conservando la esencia del spectrum (y metiendo sonidos muy commodorianos)
Estoy muy orgulloso por:
- Ser mi primera adaptación del Sinclair BASIC
- Pensar en meter sonidos y que acaben sonando igual que lo que he ideado manejando desde BASIC
- Haberlo programado desde un C64 real, of course! ;) 8) ;)
(Las teclas son QAOP, por supuesto....no se puede esperar otra cosa de un Spectrumero! ;D)
Se agradecen criticas y comentarios!
-
Seguro que a la Microhobby le interesa.
-
Seguro que a la Microhobby le interesa.
Ya les dije de irles enviando ports a C64 de sus juegos en Basic y les interesa sacarlo en la cinta virtual....me hace especial ilusión!
Además es una cosa que voy a hacer si o si....
-
Lo he estado probando un poco y menudo curro te has pegado. Gracias por la conversión.
-
Lo he estado probando un poco y menudo curro te has pegado. Gracias por la conversión.
No fue para tanto hombre! Lo que más me costó fue renumerar el listado, ya que el spectrum admite líneas más largas de manera estándar (en el C64 esto se puede modificar, pero hay que meter unos pokes).
Fue muy divertido hacer la conversión e intentar hacer sonar al SID como el Beeper en algunos soniditos, como los pasos del prota....en otros sonidos me puse a hacer pruebas con el SID, que es la primera vez que lo toco en serio y desde BASIC
Ya tengo casi terminado el Mansión Encantada.....con homenajes a Spectrum incluidos!!! ;) ;) ;) ;D ;D ;D
-
Ahí va la segunda entrega!
El Mansión Encantada
-
Os traigo un regalito de Reyes! Una nueva versión de juego en BASIC....hoy toca una temática especial: simulador de submarinos :P :P :P
Me falta el arte del menú, que lo haré en PETSCII.
La versión de C64 tiene algunas mejoras respecto al original como el sonido y que el consumo de oxigeno no dependa del avance de tu submarino por el mapa. Con esta forma de gestión, se llegaba a una situación absurda de que se te acababa la batería del motor eléctrico, el submarino no avanzaba y por lo tanto no se consumía oxígeno. Entonces, te podías quedar sumergido hasta que pasara el peligro :o. Esto no me moló y modifiqué para que el consumo fuera por tiempo, que me parece más lógico.
La imagen de disco tiene dos archivos que sólo difieren un poco en la UI, en nada más
SAludos y Feliz 2016!!
-
Por cierto: se puede jugar manteniendo pulsadas las teclas. A "toquecitos" el MARAVILLOSO buffer de teclado del C64 los almacena y sufriréis sus efectos con algo de retardo, por lo que es preferible pulsar
Saludos!
-
Vaya currada te has pegado otra vez. Gracias por el juego.
-
jajajaja
Prueba antes de dar las gracias, no sea que.... ;D
-
@SingletonJohn ya he visto que tus juegos van apareciendo en las descargas que acompañan las nuevas Microhobby. Felicidades !
-
@SingletonJohn ya he visto que tus juegos van apareciendo en las descargas que acompañan las nuevas Microhobby. Felicidades !
La verdad es que me hace ilusión aparecer en MH, aunque sea por una pichada!
Las conversiones las iba a hacer de todas todas para practicar un poco el BASIC del Commodore (con el que nunca me había puesto en serio).
Jajjajaaj...y hace un par de días, intentando dibujar un Submarino en ASCII, me enteré de una cosa del Charset que seguro que sabéis todos: la línea vertical de 1 pixel tiene en realidad 2 PIXELS, por lo que los caracteres CBM+M y CBM+N SON IGUALES (también ocurre con CBM+G y CBM+H)
Y yo como un idiota todo rayado porque pensaba que mi cacharro tenía algo roto.....jajajaja...al final no pinté ni submarino ni nada
-
Hola a todos!
Os dejo la versión C64 del programa Jason de MSX Basic de la MicroHobby
-
Este proyecto tiene varias cosas interesantes:
- Se usan sprites que se mueven por basic, pokeando al VIC. La verdad es que me ha sorprendido que el juego NO ES MUCHO MAS lento de esta manera que moviendo tiles. Lo que igual pierdes haciendo pokes, lo ganas por otro lado, ya que no tienes que borrar el personaje en el fotograma anterior
- Al usarse sprites y querer usar la fuente estándar, la pantalla tiene que moverse al banco 2 de la RAM (desde el punto de vista del VIC). Podría haber movido la memoria del basic hacia adelante (HIMEM), pero me parecía más complicado y quería tener todo el programa en un bloque. De esta manera, el menú principal se muestra en $0400. El registro de la pantalla no se toca, ya que la posición de la pantalla pasa a ser $8400 en el banco 2, y las definiciones de los sprites están de $8800 en adelante. En el banco 2 está cableado el charset en las mismas posiciones que en el Banco 0, por lo que este registro del VIC no se toca tampoco.
-Sé que es totalmente ineficiente definir DATAS con la definición de los gráficos para pokear en la RAM (pierdes el doble de espacio), pero es por conservar el espíritu de los listado de la MH. Eso si, el "pokeo" sólo tiene lugar en el arranque, ya que tarda lo suyo. Durante el proceso apago el renderizado de pantalla para que se acelere todo un poco.
-Ya que el menú y la pantalla de juego están en lugares diferentes, intenté evitar su repintado en sucesivas partidas (como evito el pokeo)....pero me dió algo de pereza por culpa de la ColorRAM, que sí es compartida ya que es única.....hice la optimización, pero después me di cuenta de que no se repintaba bien porque se quedaba la ColorRam de la pantalla de juego y se aplicaba al menú....esto se lo dejo de pasatiempo al que quiera divertirse un rato :) :) :P
-
En el próximo proyecto, Rally, el clásico juego de basic de scroll vertical, intentaré hacer el scroll suave por hardware, a ver cómo resulta. Supongo que al ser el BASIC tan lento tendré que usar un doble buffer (el viejo truco de ir alternando dos pantallas) para que no me pille el raster...en fin ya se verá
Saludos y que lo disfrutéis
-
Ah! jejejeje......un último detalle.
Si en el Jason interrumpís el juego en la pantalla de juego y le dáis a stop+restore, veréis la pantalla del menú y PARECE que el C64 crashea. Lo que pasa es que el VIC apunta a la pantalla en $0400, pero el resto del hardware NO SE ENTERA. Así que a ciegas, teclead "POKE648,4" y aparecerá el cursor y el READY. Esto es porque en la dirección $288 el firmware guarda el HighByte de la posición de la pantalla, de manera independiente al VIC, y es la dirección de referencia para todos los cálculos de la posición del cursor.
:P :P :P
-
Fantástico. Me encantan estos "ports" y como te las ingenias para saltarte las limitaciones del Basic del c64
-
Gracias @Bieno ! Estas cosas me divierten bastante y aprendo el funcionamiento del C64 en Basic, que es muy interesante
Reconozco que no me he empleado "a fondo", ya que la velocidad del juego en c64 es muy inferior a la de MSX o Spectrum, debido a la velocidad superior del Z80
Tengo que explorar a usar subrutinas de la ROM (esta solución no me gusta mucho, ya que el listado en basic queda indescifrable del todo para un profano) o a intentar puentear el Wedge, que sé que acelera bastante la ejecución
Tengo aún esto pendiente de explorar en sucesivas entregas.....otras opciones serían definir subrutinas en Código máquina en los datas, o definir la subrutina custom que te deja el firmware de opción....
Creo que la más elegante es la de puentear el Wedge...usar subrutinas en DATAS es magia negra para la gente que está aprendiendo BASIC
-
Por cierto....estoy un poco harto de oir ese mantra (que algunos repiten como loros) de que el 6510 es en realidad más rápido que el Z80 que por su pipeline, que por su eficiencia, bla bla bla
Cierto que el 6502 es más eficiente y tarda menos ciclos en hacer ciertas cosas y que el acceso a la página cero es rápido, pero un ciclo de 65110 es cada 1/(10^6) segundos y uno de Z80 es cada 1/(3,5*10^6)segundos....vamos que o se me escapa algo o comparar el número de ciclos es estúpido. Habrá que comparar tiempos....en fin
-
Sin saber del tema, yo creo que las características optimizadas del 6510 hace que ese 1Mhz esté muy bien aprovechado. Hasta ahí llego.
En los juegos, los de Z80 que necesitan potencia bruta (los 3D, Filmation...) tengo entendido que los de Z80 van mejor pero estoy tocando de sinver, que tampoco me puse a hacer comparativas :P
-
Viviéndolo en carnes (he programado ensamblador Z80 de spectrum y sobre todo 6510 de commodore y tb basic de ambos) he de decir que por fuerza bruta gana el z80 claramente. el 6510 tiene 1 millón de ciclos por segundo frente a los 3,5 millones de ciclos por segundo del Z80. Con lo cual, aunque el 65110 tarde en una operación 3 ciclos y el z80 5, los ciclos del Z80 son más rápidos....no hay que ver ciclos, hay que ver tiempo que tarda en hacer operaciones, ya que los ciclos NO SON COMPARABLES...tampoco el acceso a RAM de página cero del 6510, que es más rápido....medir el tiempo es la clave.....y el Z80 es más rápido. La clave del C64 son el chip de sonido (que tiene vida al margen de la CPU y la libera un poco)y las posibilidades del chip gráfico (sprites, multiplexing, scroll, etc). Si prescindes de todas esas ayudas y te pones a programar el C64 como si fuera un Spectrum (brute force 100%), pues el 6510 iría echando el bofe. Joer! ya le pasaba esto al MSX y sus portacos desde spectrum, y eso que el procesador del MSX es el mismo que el del spectrum
-
La comparación tiene varios frentes, por ejemplo:
¿Movemos sprites sobre un fondo con scroll fino y música? el 64 con sus chips de apoyo lo hace sin despeinarse, el Z80 según en qué equipo esté (Spectrum, MSX, CPC) lo hará de distintas maneras y seguramente peor.
¿Hacemos un filmation o juego 3D que es potencia bruta? el Z80 gana de lejos en cualquiera de las otras plataformas (no sé el MSX, que el video es medio especialito y no sé si puede hacer ciertas cosas)
Es un tema interesante para debatir sin pasiones!
-
Más que filmation, Freescape o similar. Filmation no deja de ser algo plano con sprites y movimiento de varios pixeles a bloque....otra cosa es calcular una vista 3d en cada frame.
Tb cuando se compara un Z80 con un 65xx normalmente se olvida de que el z80 tiene más registros y registros (no se cómo llamarlos, híbridos??) que pueden ser o dos de 8 bits o uno de 16 bits. EL registro HL se comporta como un puntero, etc, etc etc
Ya sé que la página cero se puede usar como si fueran registros....pero si usas el firmware, la página cero está totalmente ocupada (excepto 4/8 bytes)....en fin, las debilidades de uno son las fortalezas de otro
-
Ya he empezado a trabajar en el Rally
Es un juego clásico de Basic de Spectrum: se definen mediante datas y pokes las 24 definiciones de caracteres custom 8x8 que permite el Spectrum y ahí se definen los tiles de todos los gráficos (algunos son de 2x2 tiles como el coche, árbol, meta...y otros de 1x1).
El coche se mueve de izquierda a derecha en la fila 0 (en saltos de 8 pixels) y en cada frame se detecta ANTES DE MOVERSE si el coche va a invadir una casilla de pantalla con el caracter ":", lo que supone el fin de partida. El coche no se borra, ya que en cada ciclo del bucle principal se repinta toda la pantalla haciendo PRINT en la fila inferior de la pantalla, lo que produce un scroll de 8 pixels automático y hacia arriba. El coche se pinta después de todo esto, con un simple PRINT AT OVER
Mi intención es que el movimiento sea todo lo suave que sea posible, por lo que el coche lo he convertido en un Sprite para que sea todo más cómodo (y que si es posible, el movimiento sea suave). Como el C64 no tiene posibilidad de custom chars, no me queda otra que definir un custom charset
-
Al igual que en proyecto anterior (el Jason) dejo el menu principal en el banco cero (pantalla en +$400, charset APARENTEMENTE en +$1000 por el tema del cableado), el inicio del basic en $800.
Para el juego, como necesito usar el custom charset y no quiero pisar el basic y tener espacio para charset y el gráfico del coche, pongo VIC en banco 2(pantalla en +$400, definiciones de sprites en +$800 y charset en +$2000 para evitar la influencia del cableado). Voy a mantener el tema del scroll como en spectrum, con el scroll automático que se produce al imprimir en la línea 24, pero lo haré cada 8 ciclos del bucle principal, ya que en cada ciclo, usaré el scroll hardware para mover 1 pixel).
En principio voy a intentar evitar el doble buffer de pantalla para no complicarlo mucho (lo usaré sólo si hay mucho parpadeo). Como uso el Scroll hardware, reduciré el número de líneas visibles para tapar el "truco" (lo clásico en estos menesteres)
-
Es muy posible que aparezca algún parpadeo y glitching, ya que el scroll es de abajo hacia arriba, por lo tanto a contra-ráster. Mucho me temo que no quede otra que usar el doble buffer.
Otra cosa interesante es que uso el modo gráfico Extended Background Color. Esto me permite hasta 4 colores de fondo distintos en cada celda de texto, pero teniendo sólo acceso a 64 caracteres del charset (más que de sobra, ya que sólo uso 18 caracteres para gráficos). Y es que el terreno es amarillo y el asfalto blanco (???). Como sabéis, los 4 colores de fondo se usan mediante CHAR normal y CHAR con SHIFT
(colores 0 y 1 de fondo) y lo mismo en INVERSE MODE(colores 2 y 3). Es decir, se reservan los bits 6 y 7 de cada char para acceder a los 4 colores del background
ya tengo todo listo y montado para empezar a pegarme con el scroll!!
-
Aquí os dejo el Rally!
Que lo disfrutéis.
En el disco hay dos versiones:Rally, que es la versión completa y RallySCR, que es uno de los intentos (fallidos) de usar scroll hardware desde BASIC.
-
El problema de hacer un scroll por hardware decente desde basic es cuando llega el momento de hacer el movimiento de datos en la VideoRam (y en la ColorRam si el juego es multicolor). Es mover 2000 bytes rápido para que no te pille el raster
Las rutinas de scroll disponibles (la que se ejecuta al hacer un print en la línea 25 de la PANTALLA y la que está en la dirección 59.626 ($E8EA), que sospecho que es la misma, no son lo suficientemente rápidas para evitar el glitching. Y es MUY molesto además. Aún coordinando con el raster, se sigue produciendo, ya que estas rutinas tardan como unos 1/25 segundos en ejecutarse, y el raster va a 1/60 segundos
La opción del doble buffer en BASIC me dio algo de pereza, ya que definir unos bucles llenos de pokes no me seducía mucho. Además, con el movimiento de la carretera en bloques de 8 pixels, no me pareció mala opción y de velocidad estaba bastante bien. Con un scroll por hardware, habría tenido que usar saltos de 3-4 pixels para que hubiera ido a una velocidad más o menos decente y me pareció mucho curro para poca ganancia
-
Por último, resaltar que el coche está hecho con la superposición de 3 sprites monocromos para que quede vacilón! 8) ;D
-
Por cierto, haciendo este juego de Rally me he dado cuenta de que el BASIC o el Kernal han de tener un bug o algo raro, ya que el scroll de PRINT a veces avanza dos líneas y a veces una. Después vi un vídeo de 8 Bit Show and Tell (que por cierto he colgado aquí, el del programa de basic del dado en 1 línea)en el que habla de él.
Alguien sabe a qué es debido?
-
jejeje....una cosa interesante para el que le molen los retos!
El juego de Rally tiene un fallo por el que el juego se "come a si mismo". Acaban fallando gráficos, sonido, definicion de caracteres,etc.....sin embargo el fallo no sobreescribe el programa y, si se da al RUN_STOP+RESTORE y se vuelve a hacer RUN, todo "se arregla"
El fallo en si es un fallo un tanto sutil y difícil de ver si no estás acostumbrado a ver basic o no sabes muy bien cómo funciona "a bajo nivel" (Tampoco hay que tener un conocimiento SUPER profundo).....
Mientras, voy mandando la versión corregida a la MicroHobby
;)
-
Nuevo port de Spectrum a C64
Esta vez toca el Base Omega. Una aventura en BASIC que me ha gustado MUCHO MUCHO.
Después del UBoot, mi favorito
Saludos y que lo disfrutéis
-
Como detalles técnicos más relevantes, tuve que copiar el charset tipo Máquina de escribir en el banco 2, posición 4($8000+$2000=$A000). Tuve que copiar los 2048 bytes para tan sólo definir y poder usar texto y los 3 tiles que se necesitan definir para el juego(en posición de los caracteres <,= y >). Como la copia del charset la he hecho con una subrutina de basic, es MUY LENTA....pero sólo se ejecuta cuando le das al RUN. Podría haber usado la rutina de copia del Kernal, que es más rápida, la verdad
La VRAM la dejé en posición relativa de $+400(por defecto), por lo que pasa a $8400. Para evitar que la memoria dinámica de BASIC "pise" pantalla y charset, pongo la variable de MEMSIZ(End of Basic RAM) en $8000.Por lo tanto, la memoria dinámica se hinchará desde $8000 hacia la Low Ram
Podría haber creado una interrupción ráster para mostrar los gráficos en una zona de la pantalla y otra para mostrar los textos....Esto me evitaría copiar el CharSet, pero en la horizontal del mapa (que es donde se muestran los gráficos) hay también textos, y gestionar rupturas raster en horizontal y vertical mediante BASIC es imposible. Necesitas un timming ultrapreciso.
Saludos
-
Por cierto, haciendo este juego de Rally me he dado cuenta de que el BASIC o el Kernal han de tener un bug o algo raro, ya que el scroll de PRINT a veces avanza dos líneas y a veces una. Después vi un vídeo de 8 Bit Show and Tell (que por cierto he colgado aquí, el del programa de basic del dado en 1 línea)en el que habla de él.
Alguien sabe a qué es debido?
Ni idea, parece raro que a estas alturas haya un error asi! ¿no podría ser un tema del barrido? que parece que da un salto pero no.
De todos modos en este juego del Rally no ocurre, al menos en lo que yo he durado vivo no :P
-
Hola chicos!
Pues ahí os va otro port de juego de listado de la MicroHobby: esta vez es desde BASIC de MSX1, el Dugeon Golf.
Teclas:
Q,A Aumentar/disminuir fuerza
O,P Disminuir/aumentar ángulo
SPACE, lanzar
-
La única cosa interesante es que para copiar el charset y luego customizarlo (para hacer los tiles del juego) he usado una rutina de la ROM para mover de sitio bloques de memoria (es la rutina que se usa para insertar o borrar líneas en BASIC) en vez del clásico bucle FOR...NEXT. Como veréis, es MUY VELOZ. El tiempo que tarda exactamente es el tiempo que el VIC se desconecta (pantalla y borde en azul claro) hasta que aparece el menú. En ese tiempo se han copiado nada menos que 2K´s!
-
Ahí va una buena aportación del uso de una rutina de copia rápida de bloques de memoria del ROM del BASIC.
El uso de esta rutina se puede consultar en el tema Cosas Interesantes...
-
Oye, ahora que paro un poco más por aquí, nadie se atreve con esto? Molaría ver al menos los "andamios" del Toi Acid Game para #c64
https://archive.org/details/CommodoreWorld/Commodore_World_64/page/6/mode/2up
-
Son muchos DATAs!! un OCR ahí podría ayudar mucho.
-
A qué os referis? Teclearlo???
-
Si no recuerdo mal no estaban todas las rutinas necesarias en el artículo, el resto estaba en el diskette que publicaba la revista
-
A qué os referis? Teclearlo???
Lo que imagino que se refiere es a sacar el listado con una IA y luego pegarlo en el CMB PRG Studio.
-
Si no recuerdo mal no estaban todas las rutinas necesarias en el artículo, el resto estaba en el diskette que publicaba la revista
Pues lo más seguro. De lo que se habla aquí es de la compresión de los mapas
-
ah ostias... que falta el disco... primera noticia de que el Commodore World incluída disco en los últimos números...
-
No solo en los últimos números, un vistazo al número 30 de la revista y ya los vendían, pero 2000 pelas de la época por disco supongo que fueron pocos los que lo compraron.
Desde los inicios de commodoremania que hice posts en busca de estos discos en vano..., una pena, estaría bien haberlos preservado.
Bieno y Jeff han preservado alguno, el especial utilidades por ejemplo en su proyecto.
-
De Commodore World, tengo volcados el Súper disco de aplicaciones (dos floppies) y el Especial utilidades vol 2 (un floppy); creo que hasta escaneé las carátulas :_D
-
De hecho, gracias a ALT y mas material desperdigado por las redes, se ha conseguido preservar mucho de lo que la propia Commodore World ofrecía en las revistas y luego vendía en físico en los disquettes de 5 1/4
https://c64cracks.itch.io/commodoreworld
-
Hola a todos!
Tras un bien merecido descanso veraniego, vuelvo a la carga con los ports a C64 de los juegos de @radastan de la MicroHobby. Esta vez toca "La Gruta del Aventurero"
Ya he acabado y tengo que debuggear (he cometido fallos en la respuesat a las teclas y a la representación 3D(...si, 3D, habéis oído bien) de la gruta).
Más que nada escribo esto para deciros que "La gruta del Aventurero" es un GRAN JUEGO en BASIC. Por ahora es el que más me ha gustado (junto con el Base Omega....soy rolero y roguero....qué le vamos a hacer).
Si os lo perdéis seréis severamente fustigados en la más profunda mazmorra.
-
Muchas gracias por la parte que me toca. La gruta del aventurero no es todo lo grande que quisiera, pero si tiene una cantidad de detalles considerable para ser un listado de revista. Le tengo mucho cariño.
Base Omega es curioso, me salió del tirón. Se me metió en la cabeza y lo hice en dos tardes exactamente, quedándome redondo.
Y otro del que estoy muy orgulloso es del U-Boot, que no es sino una conversión del juego GATO para ZX Spectrum pero algo capado para no ser excesivamente extenso el listado.
A ver que te parece Operation PDF, que es un locurón de juego. El final debería ser distinto en C64 (guiño-guiño). Ahora mismo estoy con una aventura de texto.
-
Por cierto, @SingletonJohn
En la web de Code ZX Play estoy dejando los listados:
https://code.zxplay.org/u/radastan (https://code.zxplay.org/u/radastan)
Evidentemente los voy liberando cuando ya ha pasado su turno en la revista, para dar preferencia a los lectores de Microhobby. Pero como vas más atrás, te viene bien porque el listado ya está pasado aquí.
-
Y otro del que estoy muy orgulloso es del U-Boot, que no es sino una conversión del juego GATO para ZX Spectrum pero algo capado para no ser excesivamente extenso el listado.
Ese también es de mis favoritos. De hecho es uno de los que dediqué más tiempo (sobre todo a nivel gráfico y a nivel sonoro....con muchos detallitos que pueden pasar desapercibidos, pero le dan un toque de cariño)
-
Por cierto, @SingletonJohn
En la web de Code ZX Play estoy dejando los listados:
https://code.zxplay.org/u/radastan (https://code.zxplay.org/u/radastan)
Evidentemente los voy liberando cuando ya ha pasado su turno en la revista, para dar preferencia a los lectores de Microhobby. Pero como vas más atrás, te viene bien porque el listado ya está pasado aquí.
Pues la verdad es que no me influye mucho @radastan ! Hago las cosas a lo "old school": revista junto al Commodore (hard original) y libreta de anillas para tomar notas
:)
En cuanto a la publicación, yo los he colgado siempre aquí y los he enviado a Microhobby.
-
Ese también es de mis favoritos. De hecho es uno de los que dediqué más tiempo (sobre todo a nivel gráfico y a nivel sonoro....con muchos detallitos que pueden pasar desapercibidos, pero le dan un toque de cariño)
Te digo yo que tenemos que hacer un juego juntos algún día...
-
Te digo yo que tenemos que hacer un juego juntos algún día...
Jajajjajaja.....no estaría mal! He estado tentado muchas veces a apartar un rato el Commodore y presentarme a bytemaniacos (soy spectrumero de toda la vida). Pero tb soy padre y no me da la vida para ser TAN multisistema :)
Tb le he dado bastante al Next. Tiene un BASIC MUY CHULO. y es un ordenador que es una gozada trabajar con él. Para mi eso es muy improtante....me gusta hacer todo en nativo (y en ensamblador mayormente)
Por eso me he tirado al Commodore....es una gozada trabajar con él
-
Te digo yo que tenemos que hacer un juego juntos algún día...
Eso estaría muy bien!