Apa alamat awal yang disukai untuk game C64?

9

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 $1000dan $2000menggunakan banyak.

Mengapa saya memilih satu dari yang lain? Saya mengerti $0810karena dekat dengan $0801mana Anda harus menulis SYSinstruksi, tetapi semua alamat lain tampak sewenang-wenang.

Adakah yang bisa menjelaskan hal ini?

Michael Stum
sumber
Saya hampir curiga, terlepas dari konteksnya, bahwa SO bisa lebih cocok, hanya karena pertanyaannya sangat spesifik! Saya mungkin salah.
deceleratedcaviar
4
Yah saya yakin berharap untuk melihat lebih banyak C64 dan perangkat keras vintage lainnya. Tanya & Jawab di sini!
sam hocevar
1
@ Daniel Benar, ini lebih merupakan pertanyaan pemrograman generik. Saya ingin melihat apakah ada minat dalam pengembangan game vintage, saya baru mulai serius masuk ke Game Dev C64 (pada balita saya sejak 25 tahun :))
Michael Stum

Jawaban:

7

$ 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 ...

Kakek tua c64
sumber
Terima kasih, itu banyak membantu, saya sudah membaca tentang cara kerja chip VIC-II dan memang $ 1000 dan $ 9000 bermasalah untuk grafis. $ c000 juga tampaknya selalu menjadi "RAM gratis"
Michael Stum
2

$ 0801-Adress adalah tempat di mana Normal-Listing dasar dimulai. Jika Anda melakukan daftar setelah memuat beberapa program, Anda biasanya memiliki SYS-Line (fex. 1989 SYS 2064) Jadi kode di 2064 ($ 0810) dimulai.

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),

Jari Komppa
sumber