home *** CD-ROM | disk | FTP | other *** search
/ Ahoy 1986 February / Ahoy_Magazine_86-02_1986_Double_L.d64 / movechrs.s < prev    next >
Text File  |  2022-10-26  |  1KB  |  115 lines

  1. GG*
  2. * MOVECHAR
  3. *
  4.  ORG $8000
  5. *
  6. R6510 EQU $0001
  7. NEWADR EQU $3000
  8. CHRBAS EQU $D000
  9. CIACRE EQU $DC0E
  10. C2DDRA EQU $DD02
  11. MEMREG EQU $D018
  12. CHROUT EQU $FFD2
  13. *
  14. FRETOP EQU $0034
  15. MEMSIZ EQU $0038
  16. *
  17. TABLEN EQU 512
  18. MVSRCE EQU $FB
  19. MVDEST EQU MVSRCE+2
  20. *
  21. LENPTR EQU $200
  22. *
  23. * SET CIA BITS TO OUTPUTS
  24. *
  25.  LDA C2DDRA
  26.  ORA #3
  27.  STA C2DDRA
  28. *
  29. * SWITCH TO UPPER CASE
  30. *
  31.  LDA #142
  32.  JSR CHROUT
  33. *
  34. * CLEAR RAM FOR CHR MEMORY
  35. *
  36.  LDA #48
  37.  STA FRETOP
  38.  STA MEMSIZ
  39. *
  40. * TURN OFF KB INTERRUPT TIMER
  41. *
  42.  LDA CIACRE
  43.  AND #$FE
  44.  STA CIACRE
  45. *
  46. * SWITCH I/O OFF, CHAR ROM ON
  47. *
  48.  LDA R6510
  49.  AND #$FB
  50.  STA R6510
  51. *
  52. * COPY CHARACTERS INTO RAM
  53. *
  54.  LDA #<CHRBAS
  55.  STA MVSRCE
  56.  LDA #>CHRBAS
  57.  STA MVSRCE+1
  58. *
  59.  LDA #<NEWADR
  60.  STA MVDEST
  61.  LDA #>NEWADR
  62.  STA MVDEST+1
  63. *
  64.  LDA #<TABLEN
  65.  STA LENPTR
  66.  LDA #>TABLEN
  67.  STA LENPTR+1
  68. *
  69. * START MOVE
  70. *
  71.  LDY #0
  72.  LDX LENPTR+1
  73.  BEQ MVPART
  74. MVPAGE LDA (MVSRCE),Y
  75.  STA (MVDEST),Y
  76.  INY
  77.  BNE MVPAGE
  78.  INC MVSRCE+1
  79.  INC MVDEST+1
  80.  DEX
  81.  BNE MVPAGE
  82. MVPART LDX LENPTR
  83.  BEQ MVEXIT
  84. MVLAST LDA (MVSRCE),Y
  85.  STA (MVDEST),Y
  86.  INY
  87.  DEX
  88.  BNE MVLAST
  89. MVEXIT
  90. *
  91. * SWITCH I/O BACK IN
  92. *
  93.  LDA R6510
  94.  ORA #4
  95.  STA R6510
  96. *
  97. * TURN TIMER BACK ON
  98. *
  99.  LDA CIACRE
  100.  ORA #1
  101.  STA CIACRE
  102. *
  103. * SET VIC MEMORY CONTROL REGISTER
  104. *
  105.  CLC
  106.  LDA MEMREG
  107.  AND #$F0
  108.  ADC #$0C
  109.  STA MEMREG
  110. *
  111.  RTS
  112. *
  113.  END
  114. *
  115.