¿Cuál es la dirección de inicio preferida para un juego C64?

9

Al escribir un juego C64 en 6502 Assembler y cargar el juego usando LOAD "Game",8,1, puedo elegir la dirección donde se carga el juego. La dirección más popular que vi es $c000, seguida de cerca $0810, pero también vi $1000y $2000usé mucho.

¿Por qué elegiría uno sobre el otro? Entiendo $0810porque es cerca de $0801lo que tienes que escribir la SYSinstrucción, pero las otras direcciones parecen arbitrarias.

¿Alguien puede arrojar algo de luz sobre esto?

Michael Stum
fuente
Casi sospecho, a pesar de su contexto, que SO podría ser más adecuado, ¡solo porque la pregunta es muy específica! Puedo estar equivocado.
deceleratedcaviar
44
Bueno, ¡espero ver más preguntas y respuestas sobre C64 y otros hardware antiguos aquí!
sam hocevar
1
@Daniel True, es más una pregunta de programación genérica. Me gustaría ver si hay interés en el desarrollo de juegos antiguos, estoy empezando a entrar seriamente en C64 Game Dev (en mi todolist desde hace 25 años :))
Michael Stum

Respuestas:

7

$ 0810 es un buen comienzo para las cosas asm. Cerca del inicio de mem $ 0801 básico para que pueda poner sys 2064 en $ 0801 ...

$ c000 - $ cfff está detrás del área de rom básica y es gratuita, por lo que los programas básicos "introducen" las subrutinas asm allí a menudo ...

$ 1000- $ 1fff (y $ 9000-9ffff) generalmente en programas asm contienen música porque esa área contiene instantáneas de fuentes y no se puede usar para los propios conjuntos de caracteres, por lo que es ideal para música ...

Solo viejo c64 geezer
fuente
Gracias, eso ayudó mucho, he leído cómo funciona el chip VIC-II y, de hecho, $ 1000 y $ 9000 son problemáticos para los gráficos. $ c000 también parece ser siempre "RAM libre"
Michael Stum
2

La dirección $ 0801 es el lugar donde comienzan los listados básicos básicos. Si hace una lista después de cargar algún programa, normalmente tiene una línea SYS (fex. 1989 SYS 2064) Por lo tanto, se inicia el código en 2064 ($ 0810).

Esa cita fue de este hilo: http://www.lemon64.com/forum/viewtopic.php?t=870&sid=a13a63a952d295ff70c67d93409bc392

Entonces, básicamente, carga a esa dirección, comenzando su código con una breve instrucción BÁSICA para saltar a donde esté realmente su código. (Ah, y creo que los primeros $ 0801 hay un error tipográfico),

Jari Komppa
fuente