Random demo
Random game
Random game
  • Entry name:
     Rapid Graphics Converter 
  • Category:
    Graphics
  • Publisher/Developer:
    ANTIC Publishing, INC., Flop 7
  • Year:
    1985
  • Code:
    Charles Jackson
  • Media format:
    Diskette
  • Programming language:
    Atari BASIC
Rapid Graphics Converter Rapid Graphics Converter Rapid Graphics Converter Rapid Graphics Converter Rapid Graphics Converter
Listing 1
10 REM RAPID GRAPHICS CONVERTER,​ LISTING 1
20 REM BY CHARLES JACKSON
30 REM (c) 1985,​ ANTIC PUBLISHING
40 POKE 65,​0:​BRK=1:​IF PEEK(53279)=5 THEN BRK=0
50 GOTO 80
60 POKE 752,​1:​IF BRK THEN POKE 16,​112:​POKE 53774,​112
70 RETURN
80 GRAPHICS 2:​GOSUB 60:​POKE 752,​1:​POKE 710,​112:​POKE 712,​112:​POKE 708,​28:​POKE 709,​12
90 POSITION 5,​2:​? #6;"RAPID":​FOR X=1 TO 250:​NEXT X
92 POSITION 5,​4:​? #6;"GRAPHICS":​FOR X=1 TO 250:​NEXT X
94 POSITION 5,​6:​? #6;"CONVERTER":​FOR X=1 TO 250:​NEXT X
100 ?:​? " By Charles Jackson":​FOR X=1 TO 250:​NEXT X
105 ?:​? " (c) 1985,​ Antic Publishing";:​GOSUB 60
110 DIM IN$(15),​OUT$(15),​MP$(7684),​MI$(7960),​A$(5)
120 MI$(1)="":​MI$(7960)=MI$:​MI$(2)=MI$:​MP$=MI$:​IO=848:​A$="":​MAX=10
130 AD=ADR(MP$):​ADHI=INT(AD/256):​ADLO=AD-ADHI*256
140 FOR X=1 TO 500:​NEXT X:​FLG=0
150 TRAP 150:​GRAPHICS 0:​POKE 710,​26:​POKE 709,​2:​GOSUB 580:​?:​? "Type of SOURCE file";:​INPUT SRC
160 SETCOLOR 2,​SRC,​10:​FLG=SRC=5
170 IF SRC=0 THEN GOSUB 440:​GOTO 150
180 IF SRC>MAX OR SRC<0 THEN 150
190 ?:​? "Filename";:​INPUT IN$:​GOSUB 60
200 IF LEN(IN$)<2 THEN GOSUB 440:​GOTO 190
210 TRAP 210:​GOSUB 580:​POKE 710,​102:​POKE 709,​0:​?:​? "Type of DESTINATION file";:​INPUT DEST
220 SETCOLOR 2,​DEST,​10:​GOSUB 60:​FLG=DEST=5
230 IF DEST=0 THEN GOSUB 440:​GOTO 210
240 IF DEST>MAX OR DEST<0 THEN 210
250 ?:​? "Filename";:​INPUT OUT$
260 IF LEN(OUT$)<2 THEN GOSUB 440:​GOTO 250
270 IF NOT (DEST=7 AND OUT$(LEN(OUT$)-3,​LEN(OUT$))<>".BKG") THEN 290
280 ?:​? "Needs .BKG extender!!!":​FOR X=1 TO 150:​NEXT X:​GOTO 250
290 IF NOT ((DEST=4 OR DEST=5) AND OUT$(LEN(OUT$)-3,​LEN(OUT$))<>".PIC") THEN 310
300 ?:​? "Needs .PIC extender!!!":​FOR X=1 TO 150:​NEXT X:​GOTO 250
310 IF NOT (DEST=10 AND OUT$(LEN(OUT$)-3,​LEN(OUT$))<>".SCR") THEN 330
320 ?:​? "Needs .SCR extender!!!":​FOR X=1 TO 150:​NEXT X:​GOTO 250
330 GRAPHICS 0:​GOSUB 60:​?:​? "Insert source disk,​ press "
340 IF PEEK(53279)<>6 THEN 340
350 IF SRC=5 THEN POKE 4226,​40:​POKE 4229,​2:​REM RESTON
360 TRAP 150:​CLOSE #1:​OPEN #1,​4,​0,​IN$:​CLOSE #1:​TRAP 40000
370 ON SRC GOSUB 1040,​830,​1090,​1860,​1850,​1380,​1500,​1040,​1720,​1040
380 IF SRC=10 THEN MP$(7681,​7684)="5"
390 GRAPHICS 0:​GOSUB 60:​POKE 710,​66:​POKE 709,​12:​?:​?:​?:​? "Insert destination disk,​ press "
400 IF PEEK(53279)<>6 THEN 400
410 FOR X=14 TO 0 STEP -1:​POKE 712,​X:​NEXT X:​GOSUB 60:​TRAP 40000
420 ON DEST GOSUB 790,​630,​1200,​2000,​1990,​1310,​1600,​1690,​1770,​2110
430 RUN
440 ? " ":​?
450 REM DISK DIRECTORY
455 IF FLG THEN POKE 4226,​40:​POKE 4229,​2:​REM RESTON
460 CLOSE #1:​OPEN #1,​6,​0,​"D:​*.*":​FL=0
470 INPUT #1,​IN$
480 IF IN$(2,​2)<>" " THEN 520
490 ? " ";IN$(2,​13);
500 IF FL THEN ?
510 FL= NOT FL:​GOTO 470
520 ?:​?:​?
530 CLOSE #1
540 POKE 764,​255:​?:​?:​? "Press any key":​? "or RETURN for another directory"
550 OPEN #1,​4,​0,​"K:​":​GET #1,​FL:​CLOSE #1
560 IF FL=155 THEN 440
570 POKE 764,​255:​POKE 4226,​105:​POKE 4229,​1:​RETURN
580 GOSUB 60:​? "",​" (1) Micropainter":​? ,​"(2) Micro Illustrator/Koala"
590 ? ,​"(3) Fun With Art":​? ,​"(4) Paint (Atari)"
600 ? ,​"(5) Paint (Reston)":​? ,​"(6) Visualizer"
610 ? ,​"(7) Moviemaker":​? ,​"(8) Graphics Master":​? ,​"(9) Atarigraphics":​? ,​"(10) Graphics Machine"
620 RETURN
630 MI$="("
640 REM MP TO MI COMPRESSED
650 IF MP$(7681,​7684)="" THEN MP$(7681,​7684)="5"
660 MI$(18,​18)=MP$(7681,​7681):​MI$(14,​16)=MP$(7682,​7684):​MI$(17,​17)=""
670 MI$(19,​20)="W"
680 RESTORE 700:​FOR X=21 TO 28:​READ A
690 MI$(X,​X)=CHR$(A):​NEXT X
700 DATA 0,​0,​155,​155,​155,​155,​162,​255
710 FOR COUNT=1 TO 60
720 A=COUNT*128-99:​B=COUNT*127-126
730 MI$(A,​A+126)=MP$(B,​B+126):​MI$(A+127,​A+127)=CHR$(255)
740 NEXT COUNT
750 MI$(7708,​7708)=CHR$(188)
760 MI$(7709)=MP$(7621,​7680)
770 OPEN #1,​8,​0,​OUT$:​? #1;MI$;
780 CLOSE #1:​RETURN
790 CLOSE #1:​OPEN #1,​8,​0,​OUT$
800 REM KEEP AN MP FILE
810 ? #1;MP$;:​CLOSE #1
820 RETURN
830 DIM MAIN$(342)
840 REM LOAD AN MI PICTURE
850 RESTORE 890
860 FOR A=1536 TO 1556
870 READ B:​POKE A,​B
880 NEXT A
890 DATA 162,​16,​169,​1,​157,​72,​3,​169,​0,​157,​73,​3,​32,​86,​228,​48,​1,​96,​104,​104,​96
900 MAIN$="hBDEHI <"
910 MAIN$(55)="    "
920 MAIN$(115)="XY ^))   "
930 MAIN$(175)="/ "
940 MAIN$(228)=CHR$(155)
950 MAIN$(229)="`RPee`/ee"
960 MAIN$(291)="(eeee"
970 POKE 88,​ADLO:​POKE 89,​ADHI
980 OPEN #1,​4,​0,​IN$:​POKE 559,​0
990 A=USR(ADR(MAIN$))
1000 MP$(7681,​7681)=CHR$(PEEK(712))
1010 FOR X=0 TO 2:​MP$(X+7682,​X+7682)=CHR$(PEEK(708+X)):​NEXT X
1020 CLOSE #1:​GRAPHICS 0:​POKE 559,​34
1030 GOSUB 60:​RETURN
1040 CLOSE #1:​OPEN #1,​4,​0,​IN$
1050 REM GET A MP/GM FILE
1060 POKE IO+2,​7:​POKE IO+4,​ADLO:​POKE IO+5,​ADHI:​POKE IO+8,​4:​POKE IO+9,​30
1070 JNK=USR(ADR("hhhLV"),​16):​CLOSE #1
1080 RETURN
1090 IO=848:​OPEN #1,​4,​0,​IN$
1100 REM FWA to MP
1110 AD=ADR(MI$):​ADHI=INT(AD/256):​ADLO=AD-ADHI*256
1120 POKE IO+2,​7:​POKE IO+4,​ADLO:​POKE IO+5,​ADHI
1130 POKE IO+8,​24:​POKE IO+9,​31
1140 N=USR(ADR("hhhLV"),​16)
1150 CLOSE #1
1160 MP$(1,​4080)=MI$(263,​4342)
1170 MP$(4081,​7680)=MI$(4359,​7958)
1180 MP$(7681,​7684)=MI$(3,​6)
1190 RETURN
1200 MI$="":​MI$(1)="":​MI$(7960)=MI$:​MI$(2)=MI$
1210 REM MP to FWA
1220 MI$(1,​65)="y5pppNP"
1230 MI$(66,​132)="N`"
1240 MI$(133,​200)=""
1250 MI$(201,​262)="Ahhhh@L_"
1260 MI$(263,​4342)=MP$(1,​4080)
1270 MI$(4359,​7958)=MP$(4081,​7680)
1280 MI$(7959,​7960)=""
1290 MI$(3,​6)=MP$(7681,​7684)
1300 OPEN #1,​8,​0,​OUT$:​? #1;MI$(1,​7960);:​CLOSE #1:​RETURN
1310 REM MP TO VIS
1320 MI$=""
1330 MI$(1,​3)=MP$(7682,​7684):​MI$(4,​4)="":​MI$(5,​5)=MP$(7681,​7681)
1340 CNT=7
1350 FOR I=1 TO 166 STEP 2
1360 MI$(CNT,​CNT+39)=MP$(I*40-39,​I*40):​CNT=CNT+40:​NEXT I
1370 OPEN #1,​8,​0,​OUT$:​? #1;MI$(1,​3326);:​CLOSE #1:​RETURN
1380 REM VIS TO MP
1390 AD=ADR(MI$):​ADHI=INT(AD/256):​ADLO=AD-ADHI*256
1400 OPEN #1,​4,​0,​IN$
1410 POKE IO+2,​7:​POKE IO+4,​ADLO:​POKE IO+5,​ADHI:​POKE IO+8,​254:​POKE IO+9,​12
1420 U=USR(ADR("hhhLV"),​16):​CLOSE #1
1430 CNT=7
1440 MP$(7682,​7684)=MI$(1,​3):​MP$(7681,​7681)=MI$(4,​4)
1450 FOR I=0 TO 190 STEP 2
1460 MP$(I*40+1,​I*40+40)=MI$(CNT,​CNT+39)
1470 MP$(I*40+41,​I*40+80)=MI$(CNT,​CNT+39)
1480 CNT=CNT+40:​NEXT I
1490 RETURN
1500 REM MM TO MP
1510 AD=ADR(MI$):​ADHI=INT(AD/256):​ADLO=AD-ADHI*256
1520 CLOSE #1:​OPEN #1,​4,​0,​IN$
1530 POKE IO+2,​7:​POKE IO+4,​ADLO:​POKE IO+5,​ADHI:​POKE IO+8,​16:​POKE IO+9,​15
1540 JNK=USR(ADR("hhhLV"),​16):​CLOSE #1
1550 FOR X=1 TO 3840 STEP 40
1560 NN=2*X-1:​MP$(NN,​NN+39)=MI$(X,​X+39):​MP$(NN+40,​NN+79)=MI$(X,​X+39)
1570 NEXT X
1580 MP$(7681,​7684)=MI$(3841,​3844)
1590 RETURN
1600 REM MP TO MM
1610 MI$(1)="":​MI$(3856)=MI$:​MI$(2)=MI$
1620 FOR X=41 TO 7680 STEP 160
1630 NN=X/2-19.5
1640 MI$(NN,​NN+79)=MP$(X,​X+79)
1650 NEXT X
1660 MI$(3841,​3844)=MP$(7681,​7684)
1670 OPEN #1,​8,​0,​OUT$:​? #1;MI$(1,​3856);:​CLOSE #1
1680 RETURN
1690 REM MP TO GM
1700 CLOSE #1:​OPEN #1,​8,​0,​OUT$
1710 ? #1;MP$;"";:​CLOSE #1:​RETURN
1720 REM AG TO MP
1730 GOSUB 1040
1740 MI$=" ":​MI$(1,​1)=MP$(7684,​7684):​MI$(2,​4)=MP$(7681,​7683)
1750 MP$(7681,​7684)=MI$
1760 RETURN
1770 REM MP TO AG
1780 MI$=" ":​MI$(4,​4)=MP$(7681,​7681):​MI$(1,​3)=MP$(7682,​7684)
1790 MP$(7681,​7684)=MI$
1800 CLOSE #1:​OPEN #1,​8,​0,​OUT$
1810 ? #1;MP$;
1820 MP$(1)="":​MP$(7684)=MP$:​MP$(2)=MP$
1830 ? #1;MP$;MP$(1,​504);:​CLOSE #1
1840 RETURN
1850 POKE 4226,​40:​POKE 4229,​2:​REM RESTON
1860 REM PAINT TO MP
1870 AD=ADR(MI$):​ADHI=INT(AD/256):​ADLO=AD-ADHI*256
1880 CLOSE #1:​OPEN #1,​4,​0,​IN$
1890 POKE IO+2,​7:​POKE IO+4,​ADLO:​POKE IO+5,​ADHI:​POKE IO+8,​144:​POKE IO+9,​12
1900 JNK=USR(ADR("hhhLV"),​16):​CLOSE #1
1910 A$=MI$(1,​4)
1920 MP$(1,​3200)=MI$(17,​3216):​MI$="":​MI$=MP$(1,​3200)
1930 FOR X=1 TO 3200 STEP 40
1940 NN=2*X-1:​MP$(NN,​NN+39)=MI$(X,​X+39):​MP$(NN+40,​NN+79)=MI$(X,​X+39)
1950 NEXT X
1960 MP$(7681,​7684)=A$(1,​4)
1970 POKE 4226,​105:​POKE 4229,​1
1980 RETURN
1990 POKE 4226,​40:​POKE 4229,​2:​REM RESTON
2000 REM MP TO PAINT
2010 MI$(1)="":​MI$(3216)=MI$:​MI$(2)=MI$
2020 A$=MP$(7681,​7684)
2030 FOR X=41 TO 6281 STEP 160
2040 NN=X/2-19.5
2050 MI$(NN,​NN+79)=MP$(X,​X+79)
2060 NEXT X
2070 MP$=MI$:​MI$=A$:​MI$(6,​16)="@1(D(3(p0nH":​MI$(17)=MP$
2080 OPEN #1,​8,​0,​OUT$:​? #1;MI$(1,​3216);:​CLOSE #1
2090 POKE 4226,​105:​POKE 4229,​1
2100 RETURN
2110 CLOSE #1:​OPEN #1,​8,​0,​OUT$
2120 ? #1;MP$(1,​7680);:​CLOSE #1:​RETURN	

This is non-commercial site, its content is based on Atari 8-bit home computer contents and references.
If you feel your rights are violated by showing/using any part of contents of your product represented on this page, please contact me immediatelly so I can remove it!