home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Nibble Magazine
/
nib19b.dsk
/
LETTER.SCROLL.bas
< prev
next >
Wrap
BASIC Source File
|
2023-02-26
|
3KB
|
41 lines
10 REM **********************
20 REM * LETTER.SCROLL *
30 REM * BY ROBERT DEVINE *
40 REM * COPYRIGHT (C) 1984 *
50 REM * BY MICROSPARC, INC *
60 REM * LINCOLN, MA. 01773 *
70 REM **********************
80 HIMEM: 32768: REM SET HIMEM TO PROTECT BLOCK SHAPE TABLE
90 PRINT CHR$(4)"BLOAD BLOCK.ROUTINES,A$9076": CALL 37799: REM LOAD BLOCK ROUTINES/SET UP YTABLE POINTERS
100 PRINT CHR$(4)"BLOAD BIG.LETTERS"
110 PRINT CHR$(4)"BLOAD SET.SHAPE": REM ASC TO SHAPE ADDRESS ROUTINE
120 GOSUB 320: REM SET UP TABLE ADDRESS ARRAY
130 POKE 252,170: POKE 253,182: POKE 254,41: REM SET VT,VB, AND HR THAT WE WILL SCROLL
140 HOME : VTAB 22: PRINT "** COPYRIGHT 1984 BY MICROSPARC, INC. **": VTAB 12: INPUT "WHAT IS YOUR NAME? ";NAME$
150 PRINT : PRINT "(K)EYBOARD OR (T)EXT STRING "NAME$" ? ";: GET A$
160 HGR :X = PEEK(49234): REM SET PAGE 1 WITH FULL SCREEN GRAPHICS
170 IF A$ = "T" THEN 240
180 GET A$: POKE 25, ASC(A$): CALL 34048: ON ( PEEK(251)) GOTO 180: REM GET CHARACTER/TRANSLATE TO SHAPE TABLE/TEST FOR ILLEGAL
190 POKE 255,40: REM SETUP TO DRAW 2 BYTES OFF THE VISIBLE SCREEN
200 CALL 37679: REM DRAW THE LETTER
210 POKE 255,0: REM MOVE HL TO LEFT EDGE OF SCREEN
220 FOR X = 1 TO 14: CALL 37301: NEXT : REM SHIFT ENTIRE LINE OF TEXT 2 BYTES LEFT
230 GOTO 180: REM GET ANOTHER LETTER
240 A$ = "AS YOU CAN SEE " +NAME$ +", YOU CAN SCROLL ANY KIND OF TEXT ACROSS THE SCREEN.....ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890?!.,"
250 FOR Y = 1 TO LEN(A$): POKE 25, ASC( MID$ (A$,Y,1))
260 CALL 34048: ON ( PEEK(251)) GOTO 290: REM TRANSLATE/TEST FOR ILLEGAL
270 POKE 255,40: CALL 37679: POKE 255,0: REM DRAW OFF SCREEN/SETUP FOR SCROLL
280 FOR X = 1 TO 14: CALL 37301: NEXT X: REM SHIFT IT ALL LEFT 2 BYTES
290 NEXT Y: REM NEXT CHARACTER
300 FOR X = 1 TO 270: CALL 37301: NEXT : REM SHIFT IT ALL THE WAY ACROSS
310 TEXT : HOME : GOTO 150
320 REM SETUP ADDRESS BYTE TABLES IN MEMORY
330 FOR X = 33856 TO 33881: READ Y: POKE X,Y: NEXT : REM SET ALPHA LOW BYTE TABLE STARTS AT $8440
340 FOR X = 33888 TO 33913: READ Y: POKE X,Y: NEXT : REM SET ALPHA HIGH BYTE TABLE STARTS AT $8460
350 FOR X = 33920 TO 33928: READ Y: POKE X,Y: NEXT : REM SET NUMBER LOW BYTE TABLE STARTS AT $8480
360 FOR X = 33936 TO 33944: READ Y: POKE X,Y: NEXT : REM SET NUMBER HIGH BYTE TABLE STARTS AT $8490
370 RETURN
380 DATA 0,27,54,81,108,135,162,189,216,243,14,41,68,95,122,149,176,203,230,1,28,55,82,109,136,163: REM ALPHA TABLE LOW BYTES
390 DATA 128,128,128,128,128,128,128,128,128,128,129,129,129,129,129,129,129,129,129,130,130,130,130,130,130,130: REM ALPHA TABLE HIGH BYTES
400 DATA 190,217,244,15,42,69,96,123,150: REM NUMBER TABLE LOW BYTES
410 DATA 130,130,130,131,131,131,131,131,131: REM NUMBER TABLE HIGH BYTES