0001 0002 8000 ZPDATA = $8000 ;zero-page data area 0003 9000 MSGBASE = $9000 0004 0005 3800 LCD0 = $3800 0006 3801 LCD1 = $3801 0007 0008 8000 .ORG ZPDATA 0009 0010 8000 A2 FF LDX #$FF 0011 8002 9A TXS ;Initialize Stack 0012 0013 0014 8003 A2 04 LINIT LDX #$04 ;do function set 4 times 0015 8005 A9 38 LINIT0 LDA #$38 ;function set: 8 bit, 2 lines, 5x7 0016 8007 8D 00 38 STA LCD0 0017 800A CA DEX 0018 800B D0 F8 BNE LINIT0 0019 800D A9 06 LDA #$06 ;entry mode set: increment, no shift 0020 800F 8D 00 38 STA LCD0 0021 8012 A9 0E LDA #$0E ;display on, cursor on, blink off 0022 8014 8D 00 38 STA LCD0 0023 8017 A9 01 LDA #$01 ;clear display 0024 8019 8D 00 38 STA LCD0 0025 801C A9 80 LDA #$80 ;DDRAM address set: $00 0026 801E 8D 00 38 STA LCD0 0027 0028 8021 A2 0A LDX #10 ;Delay 0029 8023 CA Delay DEX 0030 8024 D0 FD BNE Delay 0031 0032 8026 20 45 80 JSR Hallo 0033 0034 8029 A9 41 LDA #65 0035 802B 8D 01 38 STA LCD1 0036 802E A9 42 LDA #66 0037 8030 8D 01 38 STA LCD1 0038 8033 A9 43 LDA #67 0039 8035 8D 01 38 STA LCD1 0040 8038 A9 44 LDA #68 0041 803A 8D 01 38 STA LCD1 0042 803D A9 45 LDA #69 0043 803F 8D 01 38 STA LCD1 0044 0045 hier 0046 8042 4C 42 80 JMP hier 0047 0048 Hallo 0049 8045 A9 48 LDA #'H' 0050 8047 8D 01 38 STA LCD1 0051 804A A9 61 LDA #'a' 0052 804C 8D 01 38 STA LCD1 0053 804F A9 6C LDA #'l' 0054 8051 8D 01 38 STA LCD1 0055 8054 A9 6C LDA #'l' 0056 8056 8D 01 38 STA LCD1 0057 8059 A9 6F LDA #'o' 0058 805B 8D 01 38 STA LCD1 0059 805E 60 RTS 0060 0061 .DB 10 0062 .DB 11 0063 .DB 12 0064 .DB 13 0065 0066 0067 FFFC *= $fFFC ;Rest Vektor 0068 .DB $00 0069 .DB $80 0070 .DB 12 0071 .DB 13 0072 0073