notes

/Home ....
....

sestdiena, 2014. gada 6. septembris

Commodore 64 assemblers

Commodore 64 bija ļoti populārs 8-bitu dators 80'tajos, ko laimīgie ārzemnieki varēja nopirkt par naudu. Pārsvarā tika izmantots spēlēm. Tajā laikā jau bija kārtridži un arī pirmie floppy diski. Izmantojamā atmiņa bija tikai 64kilobaiti (vēlākā versijā 128). Taču tas bija pietieami tādām spēlēm kā Boulderdash, Loderunner, Arkanoid, Pacman.


Šajā sadaļā ir mazas programmiņas piemērs, ja nu ir vēlme paprogrammēt šo veco konsolīti.
Vispirms vajag lejupielādēt emulatoru. Ir divi nopietnāki emulatoriņi: VICE un CCS64. Abi labi emulē un pat ieraksta video, atļauj konfigurēt iekārtas un visu ko. Diemžēl normāls debugeris nav radīts un meklēt kļūdiņas programmās ir īsta mocīšanās. Šī gan ir commodore nelaime.
Pirms sākam izzināt assembleri, vispirs var radīt cc65 programmiņu valodā C. Tas tiek plaši lietots nu jau post-konsoļu ērā, lai nav jāmokās pārāk zemā operatoru līmenī.
Lai radītu HELLO WORLD programmiņu, iesaku lietot win2c64 compilatoru. Ļoti vienkāršs un tiešām rada vajadzīgo izpildāmo failu.
Programmiņa Hello.asm ir šāda:

; HELLO WORLD for COMMODORE 64
;
; Compile on win2c64 (http://www.aartbik.com)
; that generates .t64 file ready to load on emulators VICE, CCS64
 
;
; SYS 2064 for basic to start the program
;

        .org  $0800                          
        .byte $00 $0C $08 $0a $00 $9e $20 $32
        .byte $30 $36 $34 $00 $00 $00 $00 $00

; Program starts here at address $0810

main    ldx    #0
loop    lda    text,x  ; set A = text[x] 
        jsr    chrout  ; print character from A reg  
        inx
        cpx    #23     ; scan 23 characters
        bne    loop 
        rts            ; return to system
 
 text    .byte  "HELLO WORLD BEZJEEGA!",13,0
 
 chrout  .equ   $ffd2   ; kernal address for output

; End of program

Sākuma baiti ir fiksēti un nav jāmaina (tas ir PRG header),
 pati programmiņa sāk darboties pie atzīmītes "main".
Tagad nokompilēsim programmu:


Tas rada failiņu Hello.t64 ,ko atver ar emulatoru Open un Load program. Failiņš .t64 ir magnētiskās lentas imidža fails, kas iekšpusē satur PRG failiņu - izpildāmo programmu binārā formā.

CCS64 emulator
Izskatās vienkārši, ja zina ko dara. Ja vēlaties radīt nopietnākas C64 programmiņas, daudzi iesaka C64 Studio .Vismaz kāds ir padomājis par ērtāk lietojamu IDE programmu rakstīšanai. MOS 6502 procesoram plaši tiek lietots cc65 kompilators C valodiņai.

Nav komentāru:

Ierakstīt komentāru