home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / enterprs / c128 / text / examples.arc / FORTY.A < prev    next >
Encoding:
Text File  |  1989-12-01  |  2.7 KB  |  76 lines

  1. ; forty.asm
  2. ;------------------------
  3. ; Set 40 column RGB mode
  4. ;------------------------
  5.                                   
  6. star        = $0b00               
  7.             .wor star             
  8.             * = star              
  9.                                   
  10. colums      = $00ee               
  11. int0e       = $170e               
  12. chrout      = $ffd2               
  13. primm       = $ff7d               
  14.  
  15.             jmp forty
  16.             dw Date
  17.                       
  18. forty       ldx #25               ; set pixels to double width
  19.             jsr readrg            
  20.             ora #16               
  21.             sta vdc2              
  22.             ldy #0                
  23. for0        cpy #16               
  24.             beq for1              
  25.             lda vdctab,y          
  26.             iny                   
  27.             ldx vdctab,y          
  28.             iny                   
  29.             jsr writrg            
  30.             jmp for0              
  31.                                   
  32. for1        lda #79               
  33.             sta colums            
  34.             lda #147
  35.             jsr chrout            
  36.             lda #39               
  37.             sta colums            
  38.             jsr primm             
  39.             .asc 19,19,147,0
  40.             jmp int0e             
  41.                                   
  42. ;-------------------------------------
  43. ;Table of VDC value,register to change
  44. ;-------------------------------------
  45.                                   
  46. vdctab      .byt $3f, 0           ; total screen width in chars
  47.             .byt  40, 1           ; 40 displayable chars per row
  48.             .byt $37, 2           ; horizontal sync
  49.             .byt $57, 25          ; mode control
  50.             .byt $89, 22          ; character horizontal size control
  51.             .byt  40, 27          ; 40 bytes of ram per row of chars
  52.             .byt $35, 2           ; horizontal sync
  53. vdc2        .byt 0, 25            ; mode control
  54.                                   
  55. ;----------------------------------
  56. ; Subroutine: read VDC register .x
  57. ;----------------------------------
  58.                                   
  59. readrg      stx $d600             
  60. rd          bit $d600             
  61.             bpl rd                
  62.             lda $d601             
  63.             rts                   
  64.                                   
  65. ;----------------------------------
  66. ; Subroutine: write VDC register .x
  67. ;----------------------------------
  68.                                   
  69. writrg      stx $d600             
  70. wr          bit $d600             
  71.             bpl wr                
  72.             sta $d601             
  73.             rts                   
  74.                                   
  75.             .end                  
  76.