Jump to content

HOME AUTOMATION

Members
  • Posts

    2,906
  • Joined

  • Last visited

2 Followers

Profile Information

  • Gender
    Not Telling
  • Location
    8.0

Recent Profile Visitors

4,352 profile views

HOME AUTOMATION's Achievements

River Patroller

River Patroller (8/9)

3.2k

Reputation

  1. 100 RANDOMIZE :: CALL CLEAR :: CALL SCREEN(16) :: DISPLAY AT(6,8):"SUPER FROGGER": : :" COPYRIGHT 1982": : :" NORTON SOFTWARE" :: FOR I=1 TO 200 :: NEXT I 101 DISPLAY AT(6,6)ERASE ALL:"DOES YOUR MACHINE HAVE THE HARDWARE PROBLEM" :: ACCEPT AT(10,12)VALIDATE("YN")SIZE(1):ANS$ :: IF ANS$="Y" THEN BBB=1 110 DISPLAY AT(6,6)ERASE ALL:" DO YOU WANT TO PLAY THE ADVANCED LEVEL" :: ACCEPT AT(10,12)VALIDATE("YN")SIZE(1):ANS$ :: IF ANS$="N" THEN 140 120 DISPLAY AT(12,2):"OKAY, WHATS THE PASSWORD ?" :: ACCEPT AT(15,6):ANS$ :: IF ANS$="MILLIPEDE" THEN ZQ=5 :: GOTO 140 ELSE DISPLAY AT(17,6):"SORRY THAT'S WRONG" 130 FOR I=1 TO 200 :: NEXT I :: CALL CLEAR :: GOTO 110 140 DIM MS$(11) :: MS$(1)=" RATING: AMUSING" :: MS$(2)=" RATING: TADPOLE" :: MS$(3)=" KERMIT COULD DO BETTER CARRYING MISS PIGGY" 150 MS$(5)=" THE SECRET PASSWORD IS MILLIPEDE" :: MS$(4)="FROM YOUR PERFORMANCE, I CANSEE THAT YOU NEVER PLAY VIDEO GAMES" 160 MS$(6)="THERE IS HOPE FOR YOU YET" :: MS$(7)=" NOT BAD FOR AN AMPHIBIAN" :: MS$(8)=" GOOD, KEEP THIS UP AND THE PRINCESS MAY START LOOKING AT YOU." 170 MS$(9)="EXCELENT SHE'S COMING THIS WAY" :: MS$(10)="THE PRINCESS KISSES YOU (YUCK) !!! AND YOU TURN INTOA UGLY PRINCE WITH WEBBED FEET" 180 MS$(11)=" BET YOU CAN'T MAKE IT TO THE NEXT SCREEN" 190 CALL CLEAR :: CALL SCREEN(2) :: CALL MAGNIFY(4) 200 DIM C(9),D(16) 210 C(0)=96 :: C(1)=108 :: C(9)=104 :: C(8)=100 :: GOSUB 220 :: GOSUB 250 :: GOTO 350 220 CALL COLOR(1,3,5) :: CALL COLOR(2,12,13) :: CALL COLOR(3,2,13) :: CALL COLOR(4,2,13) :: CALL COLOR(5,11,7) :: CALL COLOR(6,15,5) 230 FOR I=69 TO 77 STEP 4 :: CALL CHARPAT(I,GAR$) :: CALL CHAR(58+(I-69)/4,GAR$) :: NEXT I :: CALL CHARPAT(84,GAR$) :: CALL CHAR(61,GAR$) 240 CALL COLOR(7,7,1) :: RETURN 250 CALL CHAR(40,"0540128010452004") :: CALL CHAR(48,"F0F0F0F0F0F0F0F0") :: CALL CHAR(49,"F0F0F0F0FFFFFFFF") :: CALL CHAR(50,"00000000F0F0F0F0") 260 CALL CHAR(51,"F0F0F0F000000000") :: CALL CHAR(52,"FFFFFFFFF0F0F0F0") :: CALL CHAR(53,"00000000FFFFFFFF") :: CALL CHAR(54,"F0F0F0F0F0F0F0F0") 270 CALL CHAR(55,"FFFFFFFF00000000") :: CALL CHAR(56,"FFFFFFFFFFFFFFFF") :: CALL CHAR(57,"0242128010442004") :: CALL CHAR(64,RPT$("F",16)) 280 CALL CHAR(65,"8383838383838383") :: CALL CHAR(66,"FFFFFFFF83838383") :: CALL CHAR(63,"0343138111452105") :: CALL CHAR(33,RPT$("3F",8)) :: CALL CHAR(34,RPT$("FC",8)) 290 CALL CHAR(88,"81838783A1B5A393A397A7AFAFFFE7C3"&RPT$("0",18)) :: CALL CHAR(84,"C3FFDFDFDFCFCFCFC7C7878383838381"&RPT$("0",18)) 300 CALL CHAR(35,RPT$("F8",8)) :: CALL CHAR(132,"C3EFF7EFF7C3"&RPT$("0",42)) :: CALL CHAR(92,"102020100804040810202010080C0C08"&RPT$("0",18)) 310 CALL CHAR(68,"0000000000003C24243C"&RPT$("0",34)) :: CALL CHAR(76,"3333303033333C3C33333C3C33333333FCFCCCCCF0F0F0F0F0F0C0C0C0C0") 320 CALL CHAR(72,"0000001C0407173F3F1707041C0000000000001C1090D0F8F8D090101C0000") :: CALL CHAR(44,"00001C2A3E141C"&RPT$("0",40)) 330 CALL CHAR(80,"00010367FFFB7F7D3E7BEDDF7E3E1C0000868F9FF6FCD8F0D0F0B8F878300000") :: CALL CHAR(36,RPT$("1F",8)) 340 CALL CHAR(41,RPT$("3F",8)) :: CALL CHAR(42,RPT$("FC",8)) :: CALL CHAR(62,"99BDFF3C3CE78181") :: RETURN 350 CALL CHAR(104,"00002A3E1C3E22"&RPT$("0",36)) :: CALL CHAR(100,"0000223E1C3E2A"&RPT$("0",36)) :: CALL CHAR(108,"0000361C1E1C36"&RPT$("0",40)) 360 CALL CHAR(96,"0000361C3C1C36"&RPT$("0",40)) :: CALL CHAR(112,"0000000000183C3C663C243C66663C00"&RPT$("0",18)) 370 CALL CHAR(128,"00183C663C183C7E3C3C3C3C7E7E3C00"&RPT$("0",18)) :: CALL CHAR(116,"0000003C6624247E187E5A5A00000000"&RPT$("0",18)) 380 CALL CHAR(120,"00000000183C663C3C663C1800000000"&RPT$("0",18)) :: CALL CHAR(124,"00187E7E3C187E7E187E427E7E3C0000"&RPT$("0",18)) 390 CALL CHAR(140,"99A5DBE7FFFFFFFFFFFFFFFFFFFFE7C3"&RPT$("0",18)) :: CALL CHAR(136,"C3"&RPT$("F",14)&"FFFFFFFFE7E7C3DB"&RPT$("0",18)) 400 SCR1=0 :: PNT=0 :: FSC=0 :: FG=04 :: LCC=1 :: SCR=0+ZQ :: SD=07 410 CALL VCHAR(1,29,40,96) :: CALL VCHAR(1,16,57,48) :: CALL VCHAR(1,6,56,240) :: CALL VCHAR(1,4,57,48) :: CALL VCHAR(1,1,64,72) 420 SC=0 :: CF=32 :: CCF=32 :: CALL VCHAR(1,3,40,7) :: CALL VCHAR(13,3,65,12) :: FOR I=2 TO 6 STEP 2 :: IF(I/2)+1>FG THEN 430 ELSE CALL VCHAR(I,3,62) 430 NEXT I :: FOR I=1 TO 19 STEP 6 :: CALL HCHAR(I,28,48) :: CALL HCHAR(I+1,28,49) :: CALL HCHAR(I+1,30,50) :: CALL HCHAR(I+4,30,51) :: CALL HCHAR(I+4,28,52) 440 CALL HCHAR(I+5,28,48) :: CALL HCHAR(I+1,29,53) :: CALL VCHAR(I+2,30,54,2) :: CALL HCHAR(I+4,29,55) :: CALL HCHAR(I+2,28,32,2) 450 CALL HCHAR(I+3,28,32,2) :: NEXT I :: CALL VCHAR(1,17,63,24) 460 CALL VCHAR(8,3,61) :: CALL VCHAR(9,3,59) :: CALL VCHAR(10,3,60) :: CALL VCHAR(11,3,58) 470 ON ERROR 1130 480 D(9)=-.75*SD :: D(10)=SD :: D(11)=2*SD :: D(12)=-.75*SD :: D(13)=SD 490 SPRT$="023579"&RPT$("9",100) :: IHS$="212519101712150916" :: SPT1$="0366"&RPT$("6",100) 500 DATA 2,140,1,153,1,3,140,81,153,1,4,140,161,153,1,5,140,41,201,1,6,140,121,201,1 510 DATA 7,140,201,201,1,22,128,25,105,-1.5,14,124,1,89,1,24,120,1,73,-1.5,20,120,153,73,-1.5 520 DATA 13,116,41,57,1,11,116,161,57,1,23,112,49,41,-1.5,18,112,177,41,-1.5 530 DATA 16,128,129,105,-1.5,9,124,121,89,1,15,124,193,89,1,12,116,225,57,1,17,112,97,41,-1.5 540 DATA 10,116,81,57,1,19,112,225,41,-1.5,25,120,73,73,-1.5,21,120,201,73,-1.5 550 DATA 8,140,33,169,2,9,140,129,169,2,10,140,225,169,2,25,92,67,169,2,26,92,163,169,2 560 DATA 20,116,1,41,2,21,124,65,57,2 570 DATA 22,116,97,73,2,23,124,161,89,2,24,116,193,105,2,27,68,223,153,1 580 DATA 11,136,1,137,-.75,12,136,129,137,-.75,15,136,33,185,-.75,16,136,161,185,-.75 590 DATA 13,132,65,137,-.75,14,132,193,137,-.75,17,132,97,185,-.75,18,132,225,185,-.75 600 DATA 2,84,1,153,1,3,88,49,153,1,4,140,161,153,1,5,84,81,201,1 610 DATA 6,88,129,201,1,7,140,201,201,1 620 REM WATER MANAGEMENT AND TRAFFIC CONTROL DIVISON OF FROGGER !!!! 630 CALL VCHAR(1,18,32,240) :: IF SP=1 THEN 730 ELSE CALL DELSPRITE(ALL) 640 SCR=SCR+1 :: SRI=VAL(SEG$(SPRT$,SCR,1))+14 :: RESTORE 500 650 FOR I=1 TO SRI :: READ T1,T2,T4,T5,T6 :: CALL SPRITE(#T1,T2,1,MAX(T4-(INT((T4+I*T6*SD*.086)/257)*256)+I*T6*SD*.086,2)-1,T5) :: NEXT I 660 IF SP=1 THEN 760 ELSE CALL MOTION(#2,SD,0,#3,SD,0,#4,SD,0,#5,SD,0,#6,SD,0,#7,SD,0,#22,-SD,0,#14,SD,0,#24,-SD,0,#20,-SD,0) 670 CALL MOTION(#13,SD,0,#11,SD,0,#23,-SD,0,#18,-SD,0,#16,-SD,0,#9,SD,0,#15,SD,0,#12,SD,0,#17,-SD,0) 680 CALL MOTION(#10,SD,0,#19,-SD,0,#25,-SD,0,#21,-SD,0,#8,SD,0) 690 CALL DELSPRITE(#8) :: FOR I=1 TO 9-VAL(SEG$(SPRT$,SCR,1)) :: CALL DELSPRITE(#VAL(SEG$(IHS$,I*2-1,2))) :: NEXT I 700 CALL COLOR(#2,5,#3,5,#4,5,#5,5,#6,5,#7,5,#9,15,#10,10,#11,10,#12,10,#13,10) 701 IF BBB=1 THEN CALL DELSPRITE(#7,#15,#12,#19,#21) 710 CALL COLOR(#14,15,#15,15,#16,5,#17,3,#18,3,#19,3,#20,6,#21,6,#22,5,#23,3,#24,6,#25,6) 720 SP=1 :: FOR I=1 TO 2 :: CALL VCHAR(1,19+I,I+32,24) :: CALL VCHAR(1,25+I,I+32,24) :: NEXT I :: GOTO 860 730 CALL VCHAR(1,18,32,240) :: CALL DELSPRITE(#1,#9,#10,#11,#12,#13,#14,#15,#16,#17,#18,#19,#20,#21,#22,#23,#24,#25) 740 CALL SOUND(800,440,0,880,0,263,0) :: IF SCR=2 THEN CALL DELSPRITE(#2,#3,#4)ELSE IF SCR>=3 THEN CALL DELSPRITE(#2,#3,#4,#5,#6,#7) 750 RESTORE 550 :: SRI=VAL(SEG$(SPT1$,SCR,1))+19 :: GOTO 650 760 SP=0 :: SE=2*SD :: SF=-.75*SD 770 CALL MOTION(#8,SE,0,#9,SE,0,#10,SE,0,#25,SE,0,#26,SE,0,#20,SE,0,#21,SE,0,#22,SE,0,#23,SE,0,#24,SE,0,#27,SD,0) 780 CALL MOTION(#11,SF,0,#12,SF,0,#15,SF,0,#16,SF,0,#13,SF,0,#14,SF,0,#17,SF,0,#18,SF,0) 790 CALL MOTION(#2,SD,0,#3,SD,0,#27,SD,0,#4,SD,0,#5,SD,0,#6,SD,0,#7,SD,0,#19,SE,0) 791 IF BBB=1 THEN CALL DELSPRITE(#7,#27,#24,#10,#14,#18) 800 CALL DELSPRITE(#19) :: IF SCR<5 THEN CALL DELSPRITE(#25,#26)ELSE IF SCR=5 THEN CALL DELSPRITE(#26,#21)ELSE IF SCR>5 THEN CALL DELSPRITE(#21,#23) 801 IF SCR<2 THEN CALL DELSPRITE(#27) 810 CALL COLOR(#2,5,#3,5,#4,5,#5,5,#6,5,#7,5,#8,5,#9,5,#10,5,#11,5,#12,5,#13,5,#14,5) 820 CALL COLOR(#15,5,#16,5,#17,5,#18,5,#20,10,#21,15,#22,10,#23,15,#24,10,#25,2,#26,2,#27,14) 830 CALL VCHAR(1,18,41,24) :: CALL VCHAR(1,19,42,24) :: CALL VCHAR(1,22,33,24) :: CALL VCHAR(1,23,35,24) :: CALL VCHAR(1,24,41,24) 840 CALL VCHAR(1,25,42,24) 850 FOR I=1 TO 2 :: CALL VCHAR(1,19+I,I+32,24) :: CALL VCHAR(1,25+I,I+32,24) :: NEXT I :: GOTO 860 860 IF SP=1 THEN CALL SPRITE(#1,108,16,97,24)ELSE CALL SPRITE(#1,108,16,R,120) 870 CALL COINC(ALL,H) :: IF H OR R>183 AND R<246 THEN 950 ELSE IF S=120 AND RS=0 OR S=216 OR T>4 THEN 900 ELSE IF RC>20 AND SCR>2 AND RS=1 THEN 910 ELSE CALL POSITION(#1,R,S) :: CALL JOYST(1,N,M) 880 CALL COINC(ALL,H) :: IF H THEN 950 ELSE IF M<>0 XOR N<>0 THEN 890 ELSE RC=RC+1 :: T=T+1 :: GOTO 870 890 O=S+N*4 :: CALL POSITION(#1,R,S) :: CALL MOTION(#1,D(O/16),0) :: CALL LOCATE(#1,R+(-4*M),O) :: CALL PATTERN(#1,102+M*.5+N*1.5) :: T=T+1 :: GOTO 870 900 IF T>4 THEN T=0 :: CT=CT+.5 :: CALL VCHAR(11+CT,3,64) :: CALL VCHAR(12+CT,3,65+(CT/2)/INT(CT+.5)) :: CALL SOUND(9,440,0) :: GOTO 870 ELSE IF S=120 AND RS=0 THEN RS=1 :: GOTO 730 ELSE 1030 910 RC=0 :: OCC=LCC :: LCC=INT(RND*4)+1 :: IF OCC=LCC THEN 870 ELSE CCF=CF :: PS=6*OCC-3 :: CALL GCHAR(6*LCC-3,28,CF) :: IF CCF=72 THEN OF=1 ELSE OF=0 920 CALL VCHAR(PS,28,32+40*OF) :: CALL VCHAR(PS+1,28,32+41*OF) :: CALL VCHAR(PS,29,32+42*OF) :: CALL VCHAR(PS+1,29,32+43*OF) 930 DISPLAY AT(6*LCC-3,26)SIZE(2):"LN" :: DISPLAY AT(6*LCC-2,26)SIZE(2):"MO" :: GOTO 870 940 REM BLOOD AND GUTS ROUTINES 950 IF SP=0 AND FZ=0 THEN FZ=1 :: CALL COINC(#1,#27,20,H) :: IF H THEN PNT=PNT+150 :: CALL DELSPRITE(#27) :: H=0 :: GOTO 870 960 CALL POSITION(#1,R,S) :: IF S>39 AND S<120 AND(R<184 OR R>245)THEN CALL DELSPRITE(#1) :: DISPLAY AT(R/8+1,S/8-1)SIZE(2):"PR" :: DISPLAY AT(R/8+1,S/8-1)SIZE(2):"QS" ELSE 1000 970 CALL SOUND(1000,262,0,262,1,349,7) :: FOR I=1 TO 50 :: NEXT I 980 DISPLAY AT(R/8+1,S/8-1)SIZE(2):"PR" :: DISPLAY AT(R/8+2,S/8-1)SIZE(2):"QS" :: FOR I=1 TO 5 :: CALL COLOR(7,10,2) :: FOR J=1 TO 20 :: NEXT J :: CALL COLOR(7,7,2) :: NEXT I 990 GOTO 1020 1000 CALL COLOR(#1,2) :: CALL PATTERN(#1,44) 1010 CALL SOUND(-250,-7,0) :: FOR I=1 TO 10 :: NEXT I :: CALL SOUND(-500,-5,0) :: FOR I=1 TO 200 :: NEXT I 1020 SC=1 :: CALL MOTION(#1,0,0) :: GOSUB 1120 :: FG=FG-1 :: IF FG=0 THEN GOTO 1050 ELSE IF FG>3 THEN GOTO 620 ELSE CALL VCHAR(FG*2,3,40) :: GOTO 620 1030 CALL GCHAR((R+8)/8,28,CC) :: CALL POSITION(#1,R,S) :: IF CC<>32 OR R<12+48*INT((R)/48)OR R>20+48*INT((R)/48)THEN 1000 1040 DISPLAY AT(INT((R)/48)*6+3,26)SIZE(2):"HJ" :: DISPLAY AT(INT((R)/48)*6+4,26)SIZE(2):"IK" :: GOSUB 1120 :: FSC=FSC+1 :: PNT=PNT+200 :: IF FSC>=4 THEN FSC=0 :: GOTO 1080 ELSE 620 1050 CALL DELSPRITE(ALL) :: CALL CLEAR :: CALL SCREEN(8) :: CALL CHARSET :: DISPLAY AT(4,4):SCR1;"SCREENS COMPLETED" :: DISPLAY AT(7,10):"SCORE ";PNT 1060 DISPLAY AT(14,2):"DO YOU WANT TO PLAY AGAIN" :: ACCEPT AT(17,12)VALIDATE("YN")SIZE(1):ANS$ 1070 IF ANS$="Y" THEN CALL SCREEN(2) :: CALL CLEAR :: GOSUB 220 :: GOSUB 250 :: GOTO 400 ELSE CALL CLEAR :: STOP 1080 PNT=PNT+500 :: CF=32 :: CCF=32 :: FG=FG+1 :: SCR=SCR+1 :: SCR1=SCR1+1 :: IF SCR>5 THEN SD=SD+3 :: SCR=3 :: IF SD>13 THEN SD=13 1090 IF SC=0 THEN PNT=PNT+1000 1100 CALL CLEAR :: CALL DELSPRITE(ALL) :: CALL CHARSET :: CALL SCREEN(9) :: IF SCR1+ZQ>11 THEN ZQ=0 :: SCR1=11 1110 DISPLAY AT(8,2):MS$(SCR1+ZQ) :: DISPLAY AT(16,6):"CURRENT SCORE:";PNT :: FOR I=1 TO 500 :: NEXT I :: CALL CLEAR :: CALL SCREEN(2) :: GOSUB 220 :: GOSUB 250 :: GOTO 410 1120 FZ=0 :: CT=0 :: S=24 :: R=97 :: SP=0 :: RC=0 :: T=0 :: CALL VCHAR(13,3,65,12) :: RS=0 :: SCR=SCR-1 :: RETURN 1130 ON ERROR 1130 :: S=24 :: RETURN 1000 SS123.dsk
  2. ⌨️ 0001 DEF ADVANC 0002 ADVANC AI R0,-1 PROGRAMMER RECEIVES ONE DEMERIT 0003 REWARD JNQE OUT 0004 IMPROV BL @ADVANC 0005 END 🚮
  3. I thought that message meant that, LINE 771, points to an unfound LINE.
  4. I had done this... ...works now though! I was giving this a spin... ...yours is the only EMULATOR, that does it any justice! Though I have to remember to hit the REC, button in the virtual TAPE recorder(to hear live sound). I seem to be crashing after a few minutes ...It used to run longer ...maybe a memory issue on my side... Thanks!
  5. When I recall my early days, studying from the accompanying book, I seem to be about 7-8 years old. Though in reality, I couldn't have been less than 30. One issue that always miffed me, was, TI's use of the hyphen, to join, rather than separate, terms. One that threw me for about a year, "ASSEMBLY-TIME CONSTANT". Already being familiar with "Time Constants", as used in Electronics terminology. I interpreted this to mean (Assembly)(Time Constant)... having a seemingly disparate connotation, relative to "EQUATE". This helped to confuse my understanding of LABELS, also referred to as SYMBOLS, or NAMES, for more than a year.
  6. Not if you load the main program, closer to the vector. ...Better, perhaps in terms of writing flexibility/running in alternate environments, though wasteful of space.
  7. Hi! Not getting any RAM at MEDIUM MEMORY(>7000->7FFF). This makes MINI MEMORY's @LOADER, fail.
  8. Than you wont like this... If you're not going to reassert the VECTOR's values from within the program, letting the LOADER handle this is more efficient than the LIs, and MOVs... ...HANDL, HI, BYE, will all take the value of the next line that generates code(JMP $)(>0024) ...same as for HANDL EQU $. INSTRUCTIONS, and VECTORS, always begin on an EVEN address, and end on an ODD address.
  9. Sounds overly-complex. I would consider this... ...though you'll need 32K.
  10. You're confusing me ...I thought we were using UNDERSCORES now... Assuming the filenames are: XB3_G.BIN XB3_C.BIN [UserCart0] name="XB3" ROM0=G|6000|A000|MODS\XB3_G.BIN ROM1=8|0000|8000|MODS\XB3_C.BIN
  11. That sounds great! What I'm using now is far too EASY... As for toggling switches w/o a mistake ...Far too easy ...I'll have to replace them with SHIFT REGISTERS, that I can operate with three switches ...then I'll be ready-to-go!
  12. Can I use this to make the speech Synthesizer talk!
×
×
  • Create New...