Saat menulis game C64 di 6502 Assembler dan memuat game menggunakan LOAD "Game",8,1
, saya dapat memilih alamat tempat game tersebut dimuat. Alamat paling populer yang saya lihat adalah $c000
, diikuti oleh $0810
, tetapi saya juga melihat $1000
dan $2000
menggunakan banyak.
Mengapa saya memilih satu dari yang lain? Saya mengerti $0810
karena dekat dengan $0801
mana Anda harus menulis SYS
instruksi, tetapi semua alamat lain tampak sewenang-wenang.
Adakah yang bisa menjelaskan hal ini?
commodore-64
Michael Stum
sumber
sumber
Jawaban:
$ 0810 adalah awal yang baik untuk barang asm. Mendekati mulai dari basic mem $ 0801 sehingga Anda dapat menempatkan sys 2064 di $ 0801 ...
$ c000 - $ cfff adalah setelah area rom dasar dan program gratis jadi dasar "poke" asm rutinitas di sana sering ...
$ 1000- $ 1fff (dan $ 9000-9ffff) biasanya dalam program asm mengandung musik karena area itu berisi salinan bayangan font dan tidak dapat digunakan untuk karakter sendiri, sehingga sangat ideal untuk musik ...
sumber
Kutipan itu dari utas ini: http://www.lemon64.com/forum/viewtopic.php?t=870&sid=a13a63a952d295ff70c67d93409bc392
Jadi pada dasarnya Anda memuat ke alamat itu, mulai kode Anda dengan instruksi BASIC singkat untuk melompat ke mana pun kode Anda sebenarnya. (Oh, dan saya pikir $ 0801 pertama ada kesalahan ketik),
sumber