[an error occurred while processing this directive]
|
; SUBROUTINE TO INITIALIZE LCD CONTROLLER
INIT_LCD:
; SYSTEM SET COMMAND
LDA #$40 ; INIT COMMAND
JSR CMDOUT
LDA #$30 ; PRT=0, IV=1, W/S=0, M0-M2=0
JSR DATOUT
LDA #$87 ; WF=1, FX=0
JSR DATOUT
LDA #$07 ; FY=7
JSR DATOUT
LDA #39 ; C/R=CHAR/LINE-1
JSR DATOUT
LDA #46 ; TC/R=46 FOR ~50 HZ FRAME RATE @ 4.915MHZ XTAL
JSR DATOUT
LDA #239 ; L/F=TOTAL SCAN LINES - 1
JSR DATOUT
LDA #40 ; APL=ADDRESS UNITS OF VIRTUAL SCREEN (C/R+1) LOWER BYTE
JSR DATOUT
LDA #0 ; APH=ADDRESS UNITS OF VIRTUAL SCREEN (C/R+1) UPPER BYTE
JSR DATOUT; SCROLL COMMAND ( SETS SCREEN STARTING ADDRESSES AND LENGTHS )
LDA #$44 ; SCROLL COMMAND
JSR CMDOUT
; FIRST SCREEN PARAMETERS
LDA #0 ; SETS START ADDRESS TO 0000H
JSR DATOUT
LDA #0
JSR DATOUT
LDA #240 ; SETS THE NUMBER OF LINES DISPLAYED
JSR DATOUT
; SECOND SCREEN PARAMETERS
LDA #$00 ; SETS START ADDRESS TO 1000H
JSR DATOUT
LDA #$10
JSR DATOUT
LDA #240 ; SETS THE NUMBER OF LINES DISPLAYED
JSR DATOUT; HDOT SCR COMMAND
LDA #$5A ; HORIZONTAL SCROLL POSITION
JSR CMDOUT
LDA #$00 ; 0 FOR NO SCROLL OFFSET
JSR DATOUT; OVERLAY COMMAND
LDA #$5B ; DEFINE SCREEN OVERLAY INFO
JSR CMDOUT
LDA #%00000001 ; 2 LAYERS, OV=0, 1-TEXT, 2-GRAPH
JSR DATOUT; DISPLAY ON/OFF COMMAND
LDA #$58 ;
JSR CMDOUT
LDA #%00010110 ; SCREENS 1,2 = ON, ; $16
JSR DATOUTJSR CLRGR ; CLEAR GRAPHICS SCREEN
JSR CLRTX ; CLEAR TEXT SCREEN; CSRFORM COMMAND
LDA #$5D ; SET CURSOR SIZE AND DISPLAY MODE
JSR CMDOUT
LDA #$04 ; CRX=CURSOR WIDTH-1
JSR DATOUT
LDA #$86 ; BLOCK CURSOR AND CURSOR HEIGHT-1
JSR DATOUT; DISPLAY ON/OFF COMMAND
LDA #$59 ;
JSR CMDOUT
LDA #%00010110 ;
JSR DATOUTRTS
>pre
Составить ответ ||| Конференция ||| Архив
Ответы
E-mail: info@telesys.ru