Qual è l'indirizzo di partenza preferito per un gioco C64?


9

Quando scrivo un gioco C64 nell'Assemblatore 6502 e si carica il gioco usando LOAD "Game",8,1, posso scegliere l'indirizzo in cui è caricato il gioco. L'indirizzo più popolare che ho visto è $c000seguito da vicino $0810, ma ho anche visto $1000e $2000usato molto.

Perché dovrei scegliere l'uno rispetto all'altro? Capisco $0810perché è vicino al $0801quale devi scrivere l' SYSistruzione, ma gli altri indirizzi sembrano tutti arbitrari.

Qualcuno può far luce su questo?


Quasi sospetto, nonostante il suo contesto, che SO possa essere più adatto, solo perché la domanda è così specifica! Potrei sbagliarmi.
deceleratedciariar

4
Beh, spero sicuramente di vedere altre domande e risposte su C64 e altri hardware vintage qui!
Sam Hocevar,

1
@Daniel Vero, è più una domanda di programmazione generica. Mi piacerebbe vedere se c'è interesse per lo sviluppo di giochi vintage, sto appena iniziando a prendere sul serio C64 Game Dev (sul mio todolist da 25 anni :))
Michael Stum

Risposte:


7

$ 0810 è un buon inizio per roba asm. Quasi all'inizio del mem di base $ 0801 in modo da poter mettere sys 2064 in $ 0801 ...

$ c000 - $ cfff è dopo l'area rom di base e gratuita, quindi i programmi di base "colpiscono" come routine secondarie lì spesso ...

$ 1000- $ 1fff (e $ 9000-9ffff) di solito nei programmi asm contengono musica perché quell'area contiene copie shadow dei caratteri e non può essere utilizzata per i propri set di caratteri, quindi è ideale per la musica ...


Grazie, mi ha aiutato molto, ho letto su come funziona il chip VIC-II e infatti $ 1000 e $ 9000 sono problematici per la grafica. Anche $ c000 sembra essere sempre "RAM libera"
Michael Stum

2

L'indirizzo $ 0801 è il luogo in cui iniziano i normali elenchi di base. Se fai un elenco dopo aver caricato alcuni programmi, normalmente hai una SYS-Line (fex. SYS 1989 del 2064) Quindi viene avviato il codice a 2064 ($ 0810).

Quella citazione proveniva da questa discussione: http://www.lemon64.com/forum/viewtopic.php?t=870&sid=a13a63a952d295ff70c67d93409bc392

Quindi in pratica caricherai su quell'indirizzo, avviando il tuo codice con una breve istruzione BASIC per passare ovunque sia il tuo codice. (Oh, e penso che il primo $ 0801 ci sia un refuso),

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.