notes

/Home ....
....

trešdiena, 2014. gada 24. septembris

Atari 800 assemblers


Protams, Latvijas tauta pazīst Atari vairāk nekā Commodore vai ZX Spectrum. To spēlītes bija pieejamas klubos par kapeiciņām, lai gan uz jaunākiem modeļiem kā Atari 130XE. Tie paši parametri 8-bitu procesors, video čips, 64KB atmiņa,... Pircējus noteica cena un tirgus izplatība. Spēlītes bija līdzīgas uz visām tā laika konsolēm.
Izlēmu uzrakstīt iedvesmojošu kodu assemblerā, un man tas izdevās.
Iesaku sekojošus divus emulatorus: Altirra un Atari800Win Plus. Nu ļoti labi emulatori abi ar plašām iespējām.
Ar assembleru ir savādāk. Ir vairāki, bet es uzreiz iesaku pievērsties MADS compilatoram, kas ļauj rakstīt programmiņas raiti un mazam kodam. Ir pieejami piemēri un gatavas kodu bibliotēkas.


Mana programma Hello.asm:

;
;
; HELLO WORLD for Atari
; done on MADS compiler (http://mads.atari8.info)
;

    org  $2000                          

; Program starts here

main

;Central Input/Output utility bytes for Atari hardware
ICCOM    equ $0342 ;command
ICBAL    equ $0344 ;buffer address (word)
ICBLL    equ $0348 ;buffer length (word)
CIOV     equ $e456 ;vector

    lda #0 ; clear registers
    ldx #0
    
    mwa #text ICBAL     ; prepare printing address = offset
    mwa #$ff ICBLL      ; set max.length of expression = 255
    mva #$09 ICCOM      ; command = printing function
    jsr CIOV            ; print
    
    jmp *               ; just no exit, looooooop..... 

text    .by 'HELLO WORLD BEZJEeEGA!' $9b 0

; End of program

Viss. Kompilējam no komandrindas ar komandu
  mads.exe Hello.asm
un iegūstam no emulatoriem caur "autoboot image" vai "load executable" atveramu failiņu Hello.obx .


Debug iespējas ir tikai Altirra emulatoram. Tas ir ērti, ja jāmeklē kļūdiņas. Video ierakstīšana ir abos.
Pareizi būtu programmu ierakstīt .atr ielādējamā diska imidža failiņā, bet ne šoreiz. Klasika ir Stella emulators, lietojams ir arī atari800, bet šie nav tik ērti.
Atari emulatoriem patīk kārtridžu formāts. Ja vēlamies, lai rezultāts darbotos uz Javatari, tad, piemēram, ekrāna adreses mainīt nevar, ir nianses. Tur nekādi .atr diski nav un .xex formāts ir hakerisms. Nebija tajos laikos failu sistēmas, pirka dažādas kasešu iekārtas.
Tā kā Atari ir 6502 procesors, tad C kompilators cc65 ir piemērots, ko tauta pārsvarā arī lieto, bet tas jau ir cits stāsts.

Nav komentāru:

Ierakstīt komentāru