TMS9918A Video Enhanced Basic EPROM Programmer

Related Products

Two board, extensive upgrade that integrates the TMS 9918A video display processor into the ZX81/TS1000. Provides: color multiple graphics resolutions, up to 256×192 pixels up to 32 sprites a SLOW mode almost as fast as FAST mode blink free FAST mode lower case characters instead of inverse upper case Interfaces the TMS 9918A color graphics
For use with the TMS9918A Video Project/Upgrade.

Gallery

TMS9918A Video Enhanced Basic EPROM Programmer

Source Code

   1 REM \2A\10\40\23\23\23\23\23\23\11\C0\02\EB\19\EB\01\00\00\79\86\4F\30\01\04\23\E5\A7\ED\52\E1\20\F2\C9
   2 GOTO 17
   3 FOR N=A TO B
   4 LET A$(N)=B$(X)
   5 LET X=X+1
   6 NEXT N
   7 RETURN 
   8 FOR N=1 TO 8192
   9 LET X=X+CODE A$(N)
  10 NEXT N
  11 RETURN 
  15 REM DIM B$(704)
  17 GOSUB 8000
  19 PRINT AT 8,0;"IF YOU DESIRE TO MAKE A BACK UP OF THIS TAPE, OR A COPY FOR A   FRIEND, THEN ENTER  ""S""  AFTER  RECORDER IS READY AND RUNNING.";AT 20,0;" ""S-ENTER""  TO COPY OR  ""ENTER"" ONLY TO CONTINUE"
  21 INPUT K$
  22 CLS 
  23 IF K$="S" THEN GOTO 7000
  25 PRINT AT 9,0;"THERE WILL NOW BE A DELAY FOR   INITIALIZATION....";AT 21,7;"%P%L%E%A%S%E %S%T%A%N%D %B%Y"
  27 FAST 
  29 PAUSE 400
  31 DIM A$(8192)
  33 FOR N=1 TO 8192
  40 LET A$(N)=CHR$ (PEEK (N-1))
  50 NEXT N
  60 LET X=1
  70 LET A=57
  80 LET B=73
  90 GOSUB L
 100 LET A=103
 110 LET B=126
 120 GOSUB L
 130 LET A=528
 140 LET B=553
 150 GOSUB L
 160 LET A=596
 170 LET B=699
 180 GOSUB L
 190 LET A=732
 200 LET B=743
 210 GOSUB L
 220 LET A=749
 230 LET B=751
 240 GOSUB L
 250 LET A=1041
 260 LET B=1043
 270 GOSUB L
 280 LET A=2225
 290 LET B=2227
 300 GOSUB L
 310 LET A=7681
 320 LET B=8192
 330 GOSUB L
 340 LET A$(517 TO 519)=CHR$ 195+"%I\ '"
 390 SLOW 
 400 CLS 
 410 PRINT AT 1,0;"INITIALIZATION COMPLETE.",,,"NOW, FOR THE OPTIONS.";AT 8,0;"WOULD YOU LIKE TO INCLUDE THE   PRINTER PATCH AT 0876H FOR MY   PARALLEL PRINTER PORT PUBLISHED IN SQ NO. 1?";AT 21,0;"ENTER ""Y"" FOR YES OR ""N"" FOR NO"
 420 INPUT K$
 430 IF K$="" THEN GOTO 470
 440 IF K$(1)<>"Y" THEN GOTO 470
 450 LET A$(2168)="COS "
 460 LET A$(2169)="4"
 465 GOTO 475
 470 LET A$(2168)=" SCROLL "
 472 LET A$(2169)="\ '"
 475 CLS 
 480 PRINT "ENTER  DEFAULT  ON  POWER  UP   CHARACTER  COLOR DESIRED.","(WHITE RECCOMENDED)";AT 5,0;" 0=TRANSPARENT",," 1=BLACK",," 2=MEDIUM GREEN",," 3=LIGHT GREEN",," 4=DARK BLUE",," 5=LIGHT BLUE",," 6=DARK RED",," 7=CYAN",," 8=MEDIUM RED",," 9=LIGHT RED",,"10=DARK YELLOW",,"11=LIGHT YELLOW",,"12=DARK GREEN",,"13=MAGNETA",,"14=GREY",,"15=WHITE"    
 490 INPUT A
 495 IF A>15 THEN GOTO 480
 500 PRINT AT 1,0;"BACKGROUND";AT 2,1;"BLACK"
 510 INPUT B
 520 LET C=A*16+B
 530 LET A$(7751)=CHR$ C
 540 PRINT AT 1,0;" BORDER   ";AT 2,1;"NO BORDER RECCOMENDED)";AT 21,0;"16=NO BORDER"
 550 INPUT B
 560 IF B=16 THEN GOTO 590
 570 IF B>16 THEN GOTO 550
 580 LET C=A*16+B
 590 LET A$(7688)=CHR$ C
 600 CLS 
 610 PRINT AT 3,0;"WOULD YOU LIKE A FULL 48K MEMORYCHECK ON POWER-UP, OR THE NORMAL16K MEMORY CHECK?";AT 21,6;"ENTER ""16"" OR ""48"""
 620 INPUT K$
 630 IF K$<>"48" THEN GOTO 660
 640 LET A$(4)=" RETURN "
 650 LET A$(5)=" COPY "
 660 CLS 
 670 PRINT AT 2,0;"OPTION PROGRAMMING COMPLETE";AT 9,0;"PREPARE PROGRAMMER TO PROGRAM   EPROM BY SWITCHING ITS VPP POWERSUPPLY FROM 4.4V TO 21VDC";AT 21,0;"PRESS ""ENTER"" TO PROGRAM EPROM"
 675 FAST 
 680 PAUSE 4E4
 690 LET X=8192
 700 FOR N=1 TO X
 710 POKE X,CODE A$(N)
 720 LET X=X+1
 730 PAUSE 3
 740 NEXT N
 800 CLS 
 810 PRINT AT 5,0;"EPROM IS NOW PROGRAMMED";AT 11,0;"SWITCH VPP POWER SUPPLY VOLTAGE BACK TO 4.4 VOLTS";AT 20,0;"PRESS ""ENTER"" TO START CHECKSUM COMPUTATION"
 820 LET X=0
 825 PAUSE 4E4
 830 GOSUB 8
 860 CLS 
 865 SLOW 
 870 PRINT AT 2,0;"CHECKSUM FOR YOUR EPROM=";X;AT 8,0;"WRITE DOWN YOUR CHECKSUM  FOR   LATER VERIFICATION OF YOUR EPROM";AT 15,0;"UNPLUG THE VPP SUPPLY AND THEN  DOWNPOWER YOUR COMPUTER--";AT 21,0;"YOUR EPROM IS READY......"
 880 STOP 
7000 SAVE "PRO%G"
7010 GOTO 1
8000 LET CS=USR 16514
8005 CLS 
8010 IF CS<>55194 THEN GOTO 8100
8020 PRINT AT 10,0;"THE TAPE LOAD CHECKS GOOD"
8040 PAUSE 150
8050 CLS 
8070 RETURN 
8100 PRINT AT 8,0;"THE TAPE LOAD CHECKS BAD";AT 12,0;"TRY LOADING THE TAPE AGAIN"
8110 STOP 
Scroll to Top