Code:
porta=0 : portb=0 : portc=0 : portd=0
trisa=0 : trisb=0 : trisc=0 : trisd=0
porte=0 : trise=0
harf_reg VAR BYTE
adres_sec VAR BYTE
yinele VAR BYTE
sutun_reg VAR BYTE[300]
veri VAR BYTE
yazi_reg VAR BYTE
i VAR BYTE
x VAR BYTE
z VAR BYTE
y VAR BYTE
t VAR BYTE
q VAR BYTE
Scroll_Position VAR BYTE
Pause_Cnt VAR BYTE
temp_byte VAR byte
temp_bit VAR bit
sure VAR BYTE
yedek VAR BYTE
CLEAR
portd=255 : sure=500
oku:
CALL yazi : yazi_reg=yazi_reg+1 : z=harf_reg
FOR i=1 TO z
CALL yazi : yazi_reg=yazi_reg+1 : CALL data_sec
FOR y=0 TO yinele
CALL datalar
sutun_reg[t]=veri : t=t+1
adres_sec=adres_sec+1
NEXT y
NEXT i
t=0
Main_Loop:
GOSUB gonder
Scroll_Position = Scroll_Position + 1
IF Scroll_Position = 16 THEN
For Pause_Cnt = 1 to 10 '<-- Change to control duration of pause after scroll, 10 = 1 sec, 20 = 2 sec, ...
Pause 100
GOSUB gonder
Next Pause_Cnt
Scroll_Position = 0
ELSE
GOSUB Kaydir
PAUSE 100
ENDIF
GOTO Main_Loop
'-------------------------------------------------------------------------------
yazi:
LOOKUP yazi_reg,[12,"HELLO WORLD"],harf_reg
RETURN
'-------------------------------------------------------------------------------
gonder:
FOR Q=0 TO 5
FOR i=0 TO 15
portb=sutun_reg[t] : t=t+1
porta=i
portc=%11111110:PAUSEUS sure:portc=%11111111
NEXT i
FOR i=0 TO 15
portb=sutun_reg[t] : t=t+1
porta=i
portc=%11111101:PAUSEUS sure:portc=%11111111
NEXT i
FOR i=0 TO 15
portb=sutun_reg[t] : t=t+1
porta=i
portc=%11111011:PAUSEUS sure:portc=%11111111
NEXT i
FOR i=0 TO 15
portb=sutun_reg[t] : t=t+1
porta=i
portc=%11110111:PAUSEUS sure:portc=%11111111
NEXT i
FOR i=0 TO 11
portb=sutun_reg[t] : t=t+1
porta=i
portc=%11101111:PAUSEUS sure:portc=%11111111
NEXT i
t=0
NEXT Q
Return
'-------------------------------------------------------------------------------
kaydir:
yedek=sutun_reg[0]
FOR i=0 TO 30
temp_byte = sutun_reg[i]
temp_Byte = temp_Byte << 1
temp_Byte.0 = STATUS.0
sutun_reg[i] = temp_byte
NEXT i
RETURN
'-------------------------------------------------------------------------------
data_sec:
SELECT CASE harf_reg
CASE "A"
adres_sec=0 : yinele=5 : RETURN
CASE "B"
adres_sec=6 : yinele=5 : RETURN
CASE "C"
adres_sec=12 : yinele=5 : RETURN
CASE "D"
adres_sec=18 : yinele=5 : RETURN
CASE "E"
adres_sec=24 : yinele=5 : RETURN
CASE "F"
adres_sec=30 : yinele=5 : RETURN
CASE "G"
adres_sec=36 : yinele=5 : RETURN
CASE "H"
adres_sec=42 : yinele=5 : RETURN
CASE "I"
adres_sec=48 : yinele=3 : RETURN
CASE "i"
adres_sec=52 : yinele=3 : RETURN
CASE "J"
adres_sec=56 : yinele=5 : RETURN
CASE "K"
adres_sec=62 : yinele=5 : RETURN
CASE "L"
adres_sec=68 : yinele=5 : RETURN
CASE "M"
adres_sec=74 : yinele=5 : RETURN
CASE "N"
adres_sec=80 : yinele=5 : RETURN
CASE "O"
adres_sec=86 : yinele=5 : RETURN
CASE "P"
adres_sec=92 : yinele=5 : RETURN
CASE "Q"
adres_sec=98 : yinele=5 : RETURN
CASE "R"
adres_sec=104 : yinele=5 : RETURN
CASE "S"
adres_sec=110 : yinele=5 : RETURN
CASE "T"
adres_sec=116 : yinele=5 : RETURN
CASE "U"
adres_sec=122 : yinele=5 : RETURN
CASE " "
adres_sec=128 : yinele=5 : RETURN
CASE "V"
adres_sec=134 : yinele=5 : RETURN
CASE "W"
adres_sec=140 : yinele=5 : RETURN
CASE "X"
adres_sec=146 : yinele=5 : RETURN
CASE "Y"
adres_sec=152 : yinele=5 : RETURN
CASE "Z"
adres_sec=158 : yinele=5 : RETURN
CASE " "
adres_sec=164 : yinele=5 : RETURN
CASE "0"
adres_sec=170 : yinele=5 : RETURN
CASE "1"
adres_sec=176 : yinele=3 : RETURN
CASE "2"
adres_sec=180 : yinele=5 : RETURN
CASE "3"
adres_sec=186 : yinele=5 : RETURN
CASE "4"
adres_sec=192 : yinele=5 : RETURN
CASE "5"
adres_sec=198 : yinele=5 : RETURN
CASE "6"
adres_sec=204 : yinele=5 : RETURN
CASE "7"
adres_sec=210 : yinele=5 : RETURN
CASE "8"
adres_sec=216 : yinele=5 : RETURN
CASE "9"
adres_sec=222 : yinele=5 : RETURN
END SELECT
'-------------------------------------------------------------------------------
datalar:
LOOKUP adres_sec,[$05, $24, $74, $54, $7C, $78_ ;A
,$7F,$49,$49,$49,$36,0_ ;B
,$3E,$41,$41,$41,$22,0_ ;C
,$7F,$41,$41,$41,$3E,0_ ;D
,$7F,$49,$49,$49,$41,0_ ;E
,$7F,$09,$09,$09,$01,0_ ;F
,$3E,$41,$49,$49,$3A,0_ ;G
,$7F,$08,$08,$08,$7F,0_ ;H
,$41,$7F,$41,0_ ;I
,$44,$7D,$44,0_ ;
,$20,$40,$41,$3F,$01,0_ ;J
,$7F,$08,$14,$22,$41,0_ ;K
,$7F,$40,$40,$40,$40,0_ ;L
,$7F,$02,$04,$02,$7F,0_ ;M
,$7F,$04,$08,$10,$7F,0_ ;N
,$3E,$41,$41,$41,$3E,0_ ;O
,$7F,$09,$09,$09,$06,0_ ;P
,$3E,$41,$51,$61,$3E,0_ ;Q
,$7F,$09,$19,$29,$46,0_ ;R
,$26,$49,$49,$49,$32,0_ ;S
,$01,$01,$7F,$01,$01,0_ ;T
,$3F,$40,$40,$40,$3F,0_ ;U
,$1E,$41,$01,$41,$1E,0_ ;
,$1F,$20,$40,$20,$1F,0_ ;V
,$3F,$40,$30,$40,$3F,0_ ;W
,$63,$14,$08,$14,$63,0_ ;X
,$07,$08,$70,$08,$07,0_ ;Y
,$61,$51,$49,$45,$43,0_ ;Z
,$00,$00,$00,$00,$00,0_ ;Space
,$3E,$51,$49,$45,$3E,0_ ;0
,$42,$7F,$40,0_ ;1
,$62,$51,$49,$45,$42,0_ ;2
,$22,$49,$49,$49,$36,0_ ;3
,$18,$14,$12,$7F,$10,0_ ;4
,$2F,$49,$49,$49,$31,0_ ;5
,$3E,$49,$49,$49,$32,0_ ;6
,$61,$11,$09,$05,$03,0_ ;7
,$36,$49,$49,$49,$36,0_ ;8
,$26,$49,$49,$49,$3E,0],veri ;9
RETURN
Bookmarks