Advertisement
sci4me

Untitled

Mar 5th, 2019
704
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.                         .setcpu "65C02"
  2.  
  3.                         ACIA_DATA       = $7F00
  4.                         ACIA_STATUS     = $7F01
  5.                         ACIA_COMMAND    = $7F02
  6.                         ACIA_CONTROL    = $7F03
  7.  
  8.                         .segment "VECTORS"
  9.  
  10.                         .word nmi
  11.                         .word reset
  12.                         .word irq
  13.  
  14.                         .code
  15.  
  16. reset:                  jmp main
  17. nmi:                    rti
  18. irq:                    rti
  19.  
  20. main:          
  21. init_acia:              lda #%00001011
  22.                         sta ACIA_COMMAND
  23.                         lda #%00011111
  24.                         sta ACIA_CONTROL
  25.  
  26.                         lda #0
  27.                         sta $00
  28.                         sta $01
  29.  
  30. loop:                   jsr print
  31.                         jsr increment
  32.                         bra loop
  33.  
  34. print:                  lda $00
  35.                         jsr acia_put_hex_byte
  36.                         lda $01
  37.                         jsr acia_put_hex_byte
  38.  
  39.                         pha
  40.                         lda #$0D
  41.                         jsr acia_put_byte
  42.                         lda #$0A
  43.                         jsr acia_put_byte
  44.                         pla
  45.  
  46.                         rts
  47.  
  48. increment:              clc
  49.                         lda $01
  50.                         adc #1
  51.                         sta $01
  52.  
  53.                         lda $00
  54.                         adc #0
  55.                         sta $00
  56.  
  57.                         rts
  58.  
  59. delay:                  pha
  60.                         lda #$FF
  61. :                       nop
  62.                         dec a
  63.                         bne :-
  64.                         rts
  65.  
  66. acia_put_hex_byte:      pha
  67.                         pha
  68.                         and #$F0
  69.                         lsr
  70.                         lsr
  71.                         lsr
  72.                         lsr
  73.                         tax
  74.                         lda hex_lut,x
  75.                         jsr acia_put_byte
  76.                         pla
  77.                         and #$0F
  78.                         tax
  79.                         lda hex_lut,x
  80.                         jsr acia_put_byte
  81.                         pla
  82.                         rts
  83.  
  84. acia_put_byte:          pha
  85. :                       lda ACIA_STATUS
  86.                         and #$10
  87.                         beq :-
  88.                         pla
  89.                         sta ACIA_DATA
  90.                         rts
  91.  
  92. hex_lut:                .byte "0123456789ABCDEF"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement