Continuiamo il viaggio iniziato lo scorso anno nel magico mondo della moderna programmazione del Commodore 64. La scena italiana e romana è molto attiva. Dopo una brevissima introduzione sugli sprite in generale, il mitico Andrea Pompili, autore dello sparattutto Catalypse pubblicato da Genias nel 1992, ci spiegherà la tecnica dello sprite multiplexing, utilizzata per superare il noto limite degli 8 sprite contemporanei a schermo, applicata al suo gioco.
Similar a Commodore 64 Mon Amour(2): sprite multiplexing. Il caso Catalypse e altre storie - Andrea Ferlito, Andrea Pompili - Codemotion Rome 2017 (20)
15. • 8k di rom kernel
$E000-$FFFF 57344-65535
• 4k della rom caratteri
$D000-$DFFF 53248-57343
• 4k di registri vari (Sid, Vic II,Color RAM,Cia,I/O)
• 8k di rom interprete basic
$A000-$BFFF 40960-49151
IN TOTALE: 24k di "rom" sovrapposta.
QUANTA MEM HA IL C64? 64+24
16. LA SCHEDA VIDEO DEL C64: VIC II
47 registri MEM MAPPED
$D000 - 53248
18. VIC II: 4 Banks x 16k
$DD00/56576
Tutta la grafica va nei 16k del blocco
19. DOVE METTO STI CAVOLO DE BYTE????
• Codice del gioco: disabilito i pezzi di
ROM che non mi servono
• Grafica: scelgo il blocco o li switcho
alla bisogna
IL GIOCO DELLE 3 CARTE: LDD
25. Page ‹#›
Except where otherwise noted, this work is licensed under
http://creativecommons.org/licenses/by-nc-sa/3.0/
ROME 11.03.2017
Andrea Pompili
apompili@hotmail.com – Xilogic Corp.
All you need is…
26. Page ‹#›
Except where otherwise noted, this work is licensed under
http://creativecommons.org/licenses/by-nc-sa/3.0/
ROME 11.03.2017
Andrea Pompili
apompili@hotmail.com – Xilogic Corp.
…Good Diaries
27. Page ‹#›
Except where otherwise noted, this work is licensed under
http://creativecommons.org/licenses/by-nc-sa/3.0/
ROME 11.03.2017
Andrea Pompili
apompili@hotmail.com – Xilogic Corp.
All you need is…
a.k.a. warm reset or warm start, the motherboard does not lose power
during the reset process and so the memory storage remains intact
Soft
Reset
28. Page ‹#›
Except where otherwise noted, this work is licensed under
http://creativecommons.org/licenses/by-nc-sa/3.0/
ROME 11.03.2017
Andrea Pompili
apompili@hotmail.com – Xilogic Corp.
Let’s Learn Something
29. Page ‹#›
Except where otherwise noted, this work is licensed under
http://creativecommons.org/licenses/by-nc-sa/3.0/
ROME 11.03.2017
Andrea Pompili
apompili@hotmail.com – Xilogic Corp.
30. Page ‹#›
Except where otherwise noted, this work is licensed under
http://creativecommons.org/licenses/by-nc-sa/3.0/
ROME 11.03.2017
Andrea Pompili
apompili@hotmail.com – Xilogic Corp.
31. Page ‹#›
Except where otherwise noted, this work is licensed under
http://creativecommons.org/licenses/by-nc-sa/3.0/
ROME 11.03.2017
Andrea Pompili
apompili@hotmail.com – Xilogic Corp.
32. Page ‹#›
Except where otherwise noted, this work is licensed under
http://creativecommons.org/licenses/by-nc-sa/3.0/
ROME 11.03.2017
Andrea Pompili
apompili@hotmail.com – Xilogic Corp.
33. Page ‹#›
Except where otherwise noted, this work is licensed under
http://creativecommons.org/licenses/by-nc-sa/3.0/
ROME 11.03.2017
Andrea Pompili
apompili@hotmail.com – Xilogic Corp.
34. Page ‹#›
Except where otherwise noted, this work is licensed under
http://creativecommons.org/licenses/by-nc-sa/3.0/
ROME 11.03.2017
Andrea Pompili
apompili@hotmail.com – Xilogic Corp.
35. Page ‹#›
Except where otherwise noted, this work is licensed under
http://creativecommons.org/licenses/by-nc-sa/3.0/
ROME 11.03.2017
Andrea Pompili
apompili@hotmail.com – Xilogic Corp.
36. Page ‹#›
Except where otherwise noted, this work is licensed under
http://creativecommons.org/licenses/by-nc-sa/3.0/
ROME 11.03.2017
Andrea Pompili
apompili@hotmail.com – Xilogic Corp.
37. Page ‹#›
Except where otherwise noted, this work is licensed under
http://creativecommons.org/licenses/by-nc-sa/3.0/
ROME 11.03.2017
Andrea Pompili
apompili@hotmail.com – Xilogic Corp.
38. Page ‹#›
Except where otherwise noted, this work is licensed under
http://creativecommons.org/licenses/by-nc-sa/3.0/
ROME 11.03.2017
Andrea Pompili
apompili@hotmail.com – Xilogic Corp.
My Reign for a Sorter =>
Bubble Sort
39. Page ‹#›
Except where otherwise noted, this work is licensed under
http://creativecommons.org/licenses/by-nc-sa/3.0/
ROME 11.03.2017
Andrea Pompili
apompili@hotmail.com – Xilogic Corp.
My Reign for a Sorter => Key
Sort
40. Page ‹#›
Except where otherwise noted, this work is licensed under
http://creativecommons.org/licenses/by-nc-sa/3.0/
ROME 11.03.2017
Andrea Pompili
apompili@hotmail.com – Xilogic Corp.
My Reign for a Sorter => Key
Sort
41. Page ‹#›
Except where otherwise noted, this work is licensed under
http://creativecommons.org/licenses/by-nc-sa/3.0/
ROME 11.03.2017
Andrea Pompili
apompili@hotmail.com – Xilogic Corp.
42. Page ‹#›
Except where otherwise noted, this work is licensed under
http://creativecommons.org/licenses/by-nc-sa/3.0/
ROME 11.03.2017
Andrea Pompili
apompili@hotmail.com – Xilogic Corp.
43. Page ‹#›
Except where otherwise noted, this work is licensed under
http://creativecommons.org/licenses/by-nc-sa/3.0/
ROME 11.03.2017
Andrea Pompili
apompili@hotmail.com – Xilogic Corp.
La Color RAM è organizzata come memoria 1024*4bit (nibble).
47 registri MEMORY MAPPED
VIC indirizza a 14 bit -> 16k. i 64k vengono partizionati in 4 blocchi da 16k
La Color RAM la vede sepre allo stesso punto indipendentemente dal banco
Tutta la roba di grafica va dentro i 16k che VIC vede in quel momento. Occhio alla char rom. Non ci si può scrivere dentro, sono locazioni blindate.