Table of Contents

ugBASIC User Manual

PURPOSE

SOURCE CODE

 1 CLEAR5635
 12 GOSUB40000
 15 x=2:y=2:lo=1:d1=1
 20 DIMbba(3)
 21 DIM w$(18)
 25 DIMma$(12),ms(12),n1(12),l$(10),kl$(10)
 27 FORi=1TO12
 28 READma$(i),ms(i),n1(i)
 29 NEXTi
 30 FORi=1TO18
 31 READw$(i)
 32 NEXTi
 33 FORi=1TO9
 34 READl$(i)
 35 NEXTi
 36 FORi=1TO 10
 37 READ kl$(i)
 38 NEXTi
 39 FOR i=1 TO RND(5)
 40 READ be,bf,bg
 41 NEXT i
 55 GOTO80
 60 IF se=1 THEN80
 65 CLS7
 70 PRINT@195,"MAP COMES WITH EXPERIENCE";
 75 FORn=1TO 3000:NEXTn:GOTO1000
 80 PMODE#1,#1:SCREEN#1,#0:PCLS:COLOR#2,#1
 90 bb$="BM6,2;D1F1D1L3ND2R2D3G1ND5E1R1NU2R1F1ND5H1U3R2ND2L3U1E1U1L1"
 95 DRAW"S8"+bb$
 96 GET(2,2)-(16,20),bba,G
 100 IF se=0 THEN1000
 105 LINE(0,0)-(254,190),PSET,B
 110 aa$="BM0,48;E7R4E3U4E3R3E4U4R4D4G6L3G2D5G2L1G2L4G8U4"
 120 DRAW"S8"+aa$
 130 DRAW"BM71,80;R4E4R1E3R2E1R2F1R2F7R2L2BL8L10E3R3F2"
 150 DRAW"BM152,45;E8U4E5R5F2D1F3D4G2D1F4D1G5L4G2L12H1L2H1L1H3U1E2R4BR5E5R5D3F2G3L5U1H3"
 170 DRAW"BM96,132;U6R6U6R6U6R6U6R6U6R6D3L3D6L6D6L6D6L6D6L6D3L2"
 190 DRAW"BM80,40;E10F8H4E8F6G3E5F4"
 210 DRAW"BM74,65;E8H3G3E4F2E7F10H5G5F5H8G2"
 230 DRAW"BM174,156;U12L3E2U2R3D2R3U2R3D2R3U2R3D2F2L3D6R3D2R3U2R3D2R3U2R3D2R3U2R3U23L3E2U2R3D2R3U2R1BD34L31U4H3L1G3D4L2NR10L6G3D1R49BU3"
 250 DRAW"BM52,148;U22R10D4BL3H1L2G1D1F1R2E1BR3D17L9"
 280 DRAW"BM76,165;U4L1E3F3L1D4L3"
 290 DRAW"BM90,170;U4L1E3F3L1D4L3"
 300 DRAW"BM80,178;U4L1E3F3L1D4L3"
 310 DRAW"BM64,184;U4L1E3F3L1D4L3"
 330 DRAW"BM92,186;U4L1E3F3L1D4L3"
 350 DRAW"BM10,78;U7NG3NF3U3NG3NF3U1"
 360 DRAW"BM10,108;U7NG3NF3U3NG3NF3U1"
 370 DRAW"BM32,68;U7NG3NF3U3NG3NF3U1"
 380 DRAW"BM32,96;U7NG3NF3U3NG3NF3U1"
 400 DRAW"BM50,72;U7NG3NF3U3NG3NF3U1"
 410 DRAW"BM68,24;U7NG3NF3U3NG3NF3U1"
 420 DRAW"BM68,50;U7NG3NF3U3NG3NF3U1"
 460 PAINT(2,48),3,2
 470 PAINT(152,56),3,2
 480 PAINT(98,130),4,2
 490 PAINT(180,136),,2
 500 PAINT(188,150),4,2
 510 PAINT(180,160),3,2
 530 PAINT(78,163),4,2
 540 PAINT(92,169),4,2
 550 PAINT(82,177),4,2
 560 PAINT(66,183),4,2
 570 PAINT(94,180),4,2
 580 PAINT(62,118),,2
 590 PAINT(62,114),4,2
 600 PAINT(96,78),4,2
 610 DRAW"S8C1"+bb$
 620 PUT(x,y)-(x+14,y+18),bba,PSET
 650 FORn=1TO2000:NEXTn
 1000 CLS5
 1010 PRINT@0,"WHAT NOW, PENDRAGON?";:PRINT@64,"1.PROCEED";:PRINT@128,"2.REST";:PRINT@192,"3.STATUS";:PRINT@256,"4.MAP";
 1015 PRINT@384,"ENTER:1/2/3/4"
 1020 c$=INKEY$
 1030 IF c$="1" THEN2000
 1040 IF c$="2" THEN 3000
 1050 IF c$="3" THEN 10000
 1060 IF c$="4" THEN 60
 1080 GOTO1020
 2000 CLS3:GOTO9000
 2002 PRINT@12,"proceed:";:PRINT@77,"NORTH ";:PRINT@104,"WEST";:PRINT@116,"EAST";:PRINT@141,"SOUTH ";:PRINT@238,"HALT";
 2003 a$=INKEY$
 2004 IF a$="N" THEN2020
 2005 IF a$="S" THEN2030
 2006 IF a$="W" THEN2050
 2007 IF a$="E" THEN2040
 2008 IF a$="H" THEN1000
 2009 GOTO2003
 2010 INPUTa$
 2020 y=y-16:lo=lo-16:IF y<2 THEN: y=2:lo=lo+16:ENDIF
 2025 GOTO2065
 2030 y=y+16:lo=lo+16:IFy>164THEN:y=164:lo=lo-16:ENDIF
 2035 GOTO2065
 2040 x=x+16:lo=lo+1:IFx>252THEN:x=252:lo=lo-1:ENDIF
 2045 GOTO2065
 2050 x=x-16:lo=lo-1:IFx<2THEN:x=2:lo=lo+1:ENDIF
 2065 lx=0
 2066 m=m+1:bf=bf-1:bd=bd+2
 2071 GOTO2900
 2075 IF lo=3ORlo=18ORlo=33ORlo=34THEN:lx=1:IFlx=1THEN30000:ENDIF
 2076 IFlo=5ORlo=21ORlo=37ORlo=49ORlo=50ORlo=51ORlo=52ORlo=65ORlo=66ORlo=67ORlo=81ORlo=82ORlo=83ORlo=97THEN:lx=2:IFlx=2THEN30000:ENDIF
 2077 IFlo=8ORlo=22ORlo=23ORlo=24ORlo=25ORlo=38ORlo=39ORlo=40ORlo=54ORlo=55THEN:lx=3:IFlx=3THEN30000:ENDIF
 2078 IFlo=70ORlo=71THEN:lx=4:IFlx=4THEN30000:ENDIF
 2079 IFlo=12ORlo=27ORlo=28ORlo=29ORlo=41ORlo=41ORlo=43ORlo=44ORlo=45ORlo=57ORlo=58ORlo=59ORlo=60THEN:lx=5:IFlx=5THEN30000:ENDIF
 2080 IFlo=75ORlo=90ORlo=91ORlo=104ORlo=105ORlo=106ORlo=119ORlo=120THEN:lx=9:IFlx=9THEN30000:ENDIF
 2081 IFlo=100ORlo=101ORlo=116ORlo=117ORlo=132ORlo=133THEN:lx=6:IFlx=6THEN30000:ENDIF
 2082 IFlo=148ORlo=149ORlo=150ORlo=165ORlo=166ORlo=167THEN:lx=7:IFlx=7THEN30000:ENDIF
 2083 IFlo=123ORlo=124ORlo=125ORlo=139ORlo=140ORlo=141ORlo=142ORlo=143ORlo=144ORlo=155ORlo=156ORlo=157ORlo=158ORlo=159ORlo=160THEN:lx=8:IFlx=8THEN30000:ENDIF
 2086 IF lx>0 THEN30000
 2100 GOTO2000
 2900 ' rf=RND(TI)
     DIM rf AS FLOAT
     RANDOMIZE TIMER
     rf=RND(100)/100
 2910 IF rf>0.75 THEN: GOTO 24999:ENDIF
 2920 IF rf<0.45 THEN: GOTO 20000:ENDIF
 2930 PRINT@361,"NOTHING.CONTINUE";
 2940 FORn=1TO1000:NEXTn
 2950 GOTO2075
 3000 GOTO9200
 3002 GOTO3100
 3004 re=0
 3005 CLS0
 3006 FORn=1TO25
 3007 PRINT@(RND(500)),CHR$(122); : 'INT(RND(TI)*500)
 3008 NEXTn
 3010 be=be+RND(10)
 3030 bf=bf+RND(10)
 
 bh=bh-RND(10):IF bh<=0 THEN: bh=0 : ENDIF
 
 3045 IF be>=75 THEN: be=75 : ENDIF
 3050 IF bf>=75 THEN: bf=75 : ENDIF
 3055 du=du+re/2:dv=dv+re : 'INT(re/2)
 3060 FORn=90TO250STEP20:SOUND155,4
 3070 NEXTn
 3080 CLS
 3090 GOTO1000
 3100 re=RND(100): 're=INT(RND(TI)*100)
 3110 IF re>40THEN3150
 3120 GOTO3004
 3150 CLS0
 3159 zy$=CHR$(128)
 3160 PRINT@160,"the";zy$;"forces";zy$;"of";zy$;"evil";zy$;"are";zy$;"too";zy$;"close";:PRINT@233,"no";zy$;"time";zy$;"to";zy$;"rest";
 3170 FORn=1TO2000:NEXTn
 3180 GOTO1000
 4000 CLS0
 4010 PRINT@174,"at";
 4020 PRINT@(224+(15-(LEN(l$(lx))/2))),l$(lx);
 4200 PRINT@492,"press";zy$;"p";
 4202 GOSUB20700
 4210 GOTO2000
 6000 CLS8
 6010 PRINT@73,"YOU HAVE BEEN";:PRINT@140,"ATTACKED";
 6020 ' IF n1>=1 AND RND(TI)<0.5 THEN
 6030 zb=zb-2:IF zb<=0 THEN 25480
 6040 rf=RND(10)+1 : ' rf=INT(RND(TI)*10+1)
 6050 ON rf GOTO6060,6070,6080,6090,6100,6110,6120,6130
 6060 PRINT@230,"IT SWINGS AND MISSES";:GOTO6190
 6070 PRINT@229,"YOU DEFLECT THE BLOW";:GOTO6190
 6080 PRINT@234,"BUT HESITATES";:GOTO6190
 6090 PRINT@235,"A BODY BLOW";:dx=5:GOTO6190
 6100 PRINT@233,"A HEAD WOUND";:dx=8:GOTO6190
 6110 PRINT@233,"A CHEST WOUND";:dx=6:GOTO6190
 6120 PRINT@234,"A BLOW TO ARM";:dx=4:GOTO6190
 6130 PRINT@235,"A BODY BLOW";:dx=3:GOTO6190
 6140 PRINT@236,"LEGS HIT";
 6150 IF RND(100)<50 THEN6180 : ' IF RND(TI)<0.5 THEN6180
 6160 dx=5
 6180 PRINT@232,"SAVED BY ARMOUR!";
 6190 be=be-dx:bf=bf-(dx/2): ' be=be-dx:bf=bf-INT(dx/2)
 6195 IF be<=0 THEN7000
 6196 IF bf<=0 THEN7000
 6198 FORn=1TO2000:NEXTn
 6200 GOTO25210
 7000 CLS3
 7020 IF di=1 THEN8600
 7030 PRINT@32,"*LIFE HAS FLED YOUR MORTAL BODY*";:PRINT@102,"SUCH AN INCOMPETENT";:PRINT@169,"WAS NOT WORTHY";:PRINT@234,"OF THE NAME";:PRINT@299,"pendragon";
 7040 PLAY"O1V31T2L4GGL8GGL4B-AAGGF+G"
 7045 FORN=1TO8
 7050 PRINT@480," "
 7055 NEXTN
 7060 PRINT@489,"HOW YOU RATED":PRINT@480," ":PRINT@490,"EXPERIENCE:";bd:PRINT@40," ":PRINT@493,"GOLD:";bh:
 7065 FORN=1TO6
 7070 PRINT@480," "
 7075 NEXTN
 7080 RA=INT(((bd*(bh+1))+(di*5)+(DG*8)+(DD*10))/(m/10))
 7085 PRINT@298,"YOUR RATING:";RA:
 7090 FORN=1TO2000:NEXTN
 7100 PRINT@356,"IF YOU HAD THE CHANCE OF";:PRINT@393,"REINCARNATION";:PRINT@418,"WOULD YOU LIKE TO TRY AGAIN";:PRINT@459,"YES OR NO";
 7102 FORN=1TO3
 7103 PRINT@480," "
 7104 NEXTN
 7110 a$=INKEY$
 7120 IF a$="y" THEN7140
 7130 GOTO7110
 7140 RUN
 8000 IF WA=1 THEN2000
 8010 CLS8:OM=0
 8030 IF DD=1 THEN8070
 8040 PRINT@39,"YOU WILL NEED THE";:PRINT@104,"NECROMANCERS MAP";
 8050 FORN=1TO2000:NEXTN
 8060 GOTO2000
 8070 IF DG=1 THEN8105
 8080 PRINT@39,"YOU WILL NEED THE";:PRINT@105,"RING OF POWER";
 8090 FORN=1TO2000:NEXTN
 8100 GOTO2000
 8105 OM=INT(RND(TI)*20)
 8110 PRINT@195,"THE WATER OF LIFE AWAITS";:PRINT@229,"WHAT IS THE MAGIC WORD";
 8120 GOSUB51000
 8130 IF SP=1 THEN8190
 8140 CLS7
 8145 PRINT@235,"YOU FAILED";
 8150 FORN=1TO1000:NEXTN
 8160 GOTO2000
 8190 CLS0:WA=1
 8200 R$=CHR$(128)
 8210 PRINT@108,"YOU";R$;"HAVE";:PRINT@168,"THE";R$;"WATER";R$;"OF";R$;"LIFE";
 8220 FORN=1TO2000:NEXTN
 8230 GOTO2000
 8300 IF DG=1 THEN2000
 8305 CLS8
 8310 PRINT@41,"AT CAVE OF DOOM";:PRINT@70,"DO YOU WISH TO ENTER";:PRINT@108,"YES/NO?";
 8312 a$=INKEY$
 8313 IF a$="y" THEN8317
 8314 IF a$="N" THEN30420
 8315 GOTO8312
 8317 IF CB=1 THEN 8320
 8318 PRINT@292,"NO USE. YOU HAVE NO LAMP";
 8319 GOTO30420
 8320 rf=RND(3)
 8330 ON rf GOTO8340,8360,8360
 8340 CLS8
 8350 GOTO20500
 8360 PRINT@294,"SOMETHING EVIL HERE";:PRINT@323,"DRAINING YOUR MAGIC POWERS";
 8370 BG=BG-INT(BG/10)
 8380 GOTO30420
 8400 CLS8
 8405 IF di=1 THEN2000
 8410 PRINT@44,"AT LAKE";:PRINT@70,"DO YOU WISH TO CROSS";:PRINT@105,"TO THE ISLAND?";:PRINT@140,"YES/NO?";
 8415 a$=INKEY$
 8420 IF a$="y" THEN8435
 8425 IF a$="N" THEN30520
 8430 GOTO8415
 8435 IF CL=1 THEN 8450
 8440 PRINT@292,"NO USE. YOU HAVE NO BOAT";
 8445 GOTO30520
 8450 rf=RND(3)
 8455 ON rf GOTO 8460,8470,8470
 8460 CLS8
 8465 GOTO20475
 8470 GOTO8360
 8500 IF DD=1 THEN2000
 8505 CLS8
 8510 PRINT@38,"AT TOWER OF THE EYE ";:PRINT@70,"DO YOU WISH TO ENTER";:PRINT@108,"YES/NO?";
 8515 a$=INKEY$
 8520 IF a$="y" THEN8535
 8525 IF a$="N" THEN30665
 8530 GOTO8515
 8535 IF CM=1 OR CA=1 THEN 8550
 8540 PRINT@294,"NO USE. YOU HAVE NO";:PRINT@334,"ROPE";
 8545 GOTO30665
 8550 rf=RND(3)
 8555 ON rf GOTO8560,8570,8570
 8560 CLS8
 8565 GOTO20525
 8570 GOTO8360
 8600 FORN=1TO8
 8610 CLSN
 8615 FORM=1TO20
 8620 OO$="O3L2GBO4CDL4CO3BAG"
 8621 NEXTM
 8625 PLAY"T255V10"+OO$:PLAY"T255V20"+OO$:PLAY"T255V30"+OO$
 8630 NEXTN
 8640 PRINT@8,"THE SHIELD OF LIFE";:PRINT@43,"SAVED YOU";
 8645 PRINT@162,"MAGIC ALL GONE AND VERY WEAK";
 8650 be=20:bf=20:BG=0:di=0
 8655 FORN=1TO4000:NEXTN
 8660 GOTO2000
 9000 IF be<=0 THEN 7000
 9010 IF bf<=0 THEN9100
 9015 IF WA=1 AND lo=1 THEN9300
 9016 IF WA=1 AND lo=2 THEN9300
 9017 IF WA=1 AND lo=17 THEN9300
 9030 IF bd>10 THEN SE=1
 9040 GOTO2002
 9100 CLS3
 9110 PRINT@231,"YOU ARE TOO WEAK";:PRINT@262,"REST AND RECUPERATE";
 9120 FORN=1TO2000:NEXTN
 9130 GOTO1000
 9200 CLS5
 9202 IF bh<=0 THEN 9230
 9204 GOTO3002
 9230 PRINT@232,"NO GOLD-NO REST";
 9240 FORN=1TO2000:NEXTN
 9260 IF bf<=0 THEN7000
 9270 GOTO1000
 9280 RETURN
 9300 CLS4
 9310 FORN=1TO100
 9320 PLAY"T255AC"
 9330 NEXTN
 9340 PRINT@66,"YOU ARE PENDRAGON THE MIGHTY";
 9350 PRINT@138,"YOU HAVE WON";
 9360 PRINT@224,"  EXPERIENCE:";bd:PRINT@245,"GOLD:";bh;
 9370 RA=INT(((bd*(bh+1))+(di*5)+(DG*8)+(DD*10)+(WA*500))/(m/10))
 9380 PRINT@360,"YOUR RATING:"RA;
 9390 GOTO9390
 10000 CLS0
 10050 IF be<0 THEN be=0
 10055 IF bf<0 THEN bf=0
 10100 PRINT@10,"<pendragon>";:PRINT@74,"POWER STATUS";:
 10110 PRINT@128,"EXPERIENCE:  ";bd:PRINT@160,"HEALTH    :  ";be:PRINT@192,"STRENGTH  :  ";bf:PRINT@224,"MAGIC         ":PRINT@256,"POWERS    :  ";BG:
 10120 PRINT@288,"GOLD      :  ";bh
 10130 PRINT@421,"SEE INVENTORY?YES/NO?";
 10145 C$=INKEY$
 10150 IFC$="N"THEN1000
 10160 IFC$="y"THEN10170
 10165 GOTO10145
 10170 CLS
 10175 IF BG<=0 THEN DH=0
 10180 PRINT@10,"POSSESSIONS:";
 10190 PRINT@69,"ROPE :";CA;:PRINT@101,"LAMP :";CB;:PRINT@133,"BOAT :";CL;:PRINT@261,"CLOAK OF INVISIBILITY:";DF;
 10191 PRINT@293,"PRECIOUS STONES      :";GP;:PRINT@325,"NECROMANCERS MAP     :";DD;:PRINT@357,"RING OF POWER        :";DG;:PRINT@389,"SHIELD OF LIFE       :";di;:PRINT@421,"POWER STONES         :";DH;:PRINT@490,"PRESS ENTER";
 10192 SCREEN0,1
 10200 a$=INKEY$
 10202 IF a$=CHR$(13) THEN1000
 10210 GOTO10200
 20000 TX=0
 20030 rf=INT(RND(TI)*13+1)
 20040 CLS7
 20050 PRINT@9,"SOMETHING HERE";:PRINT@73,"DO YOU SEARCH?";:PRINT@141,"YES/NO";
 20060 a$=INKEY$
 20070 IF a$="y" THEN 20090
 20080 IF a$="N" THEN 2075
 20085 GOTO20060
 20090 CLS5
 20100 ON rf GOTO20300,20110,20130,20150,20180,20210,20285,20300,20320,20340,20360,20455,20375
 20110 PRINT@203,"WATER HERE";:PRINT@262,"YOU DRINK YOUR FILL";
 20120 DE=RND(15):be=be+DE:IF be>75 THEN be=75
 20122 GOSUB20750
 20125 GOTO21050
 20130 PRINT@205,"FOOD";:PRINT@329,"EAT YOUR FILL";
 20140 OD=RND(15):bf=bf+OD:IF bf>75 THEN bf=75
 20142 GOSUB20750
 20145 GOTO21050
 20150 PRINT@109,"A ROPE";
 20160 GOSUB21000
 20165 IF NO=1THEN2075
 20170 CA=CA+TX:IF CA>1 THEN CA=1
 20175 GOTO21050
 20180 PRINT@109,"A LAMP";
 20190 GOSUB21000
 20195 IF NO=1THEN2075
 20200 CB=CB+TX:IF CB>1 THEN CB=1
 20205 GOTO20150
 20210 PRINT@109,"A BOAT";
 20215 GOSUB21000
 20217 IF NO=1THEN2075
 20220 CL=CL+TX:IF CL>1 THEN CL=1
 20225 GOTO21050
 20285 G=INT(RND(TI)*20)+1
 20287 PRINT@102,G;"PRECIOUS STONES";
 20290 GOSUB21000
 20291 IF NO=1THEN2075
 20292 GP=GP+(G*TX)
 20295 GOTO21050
 20300 LD=INT(RND(TI)*30)+2
 20305 PRINT@100,"A CACHE OF";LD;"GOLD PIECES";
 20310 GOSUB21000
 20311 IF NO=1THEN2075
 20315 bh=bh+(LD*TX):GOTO21050
 20320 dv=INT(RND(TI)*7+3)
 20325 PRINT@104,dv;" POWER STONES";
 20330 GOSUB21000
 20331 IF NO=1THEN2075
 20335 DH=DH+(dv*TX):BG=BG+((dv*TX)*RND(5)):GOTO21050
 20340 PRINT@101,"A PLACE OF EVIL POWER";
 20345 BG=BG-RND(10):IF BG<=0 THEN BG=0
 20347 GOSUB20750
 20350 GOTO21050
 20360 PRINT@108,"A TRAP";:PRINT@195,"ESCAPING HAS WEAKENED YOU!";
 20365 bf=bf-RND(7):IF bf<=0 THEN bf=0
 20367 GOSUB20750
 20370 GOTO21050
 20375 PRINT@106,"AN AMBUSH!";:PRINT@163,"YOU HAVE LOST SOME OF YOUR";:PRINT@226,"POSSESSIONS WHILST FIGHTING";:PRINT@298,"YOUR WAY OUT";
 20380 DH=DH-RND(7):IF DH<=0 THEN DH=0
 20381 bh=bh-RND(20):IF bh<=0 THEN bh=0
 20382 UW=RND(4):IF UW<2 THEN CA=0 AND CL=0
 20383 UX=RND(4):IF UX<2THEN CJ=0 AND CB=0
 20384 GOSUB20750
 20385 GOTO21050
 20455 IF DF=1 THEN20000
 20460 PRINT@99,"THE CLOAK OF INVISIBILITY";
 20465 GOSUB21000
 20466 IF NO=1THEN2075
 20470 DF=1:GOTO21050
 20475 IF lx<>5 THEN 20000
 20480 IF di=1 THEN20000
 20485 PRINT@102,"THE SHIELD OF LIFE";
 20490 GOSUB21000
 20491 IF NO=1THEN2075
 20495 di=1:GOTO21050
 20500 IF lx<>4 THEN20000
 20505 IF DG=1 THEN 20000
 20510 PRINT@102,"THE RING OF POWER";
 20515 GOSUB21000
 20516 IF NO=1THEN2075
 20520 DG=1:GOTO21050
 20525 IF lx<>6 THEN20000
 20530 IF DD=1 THEN 20000
 20535 PRINT@102,"THE NECROMANCERS MAP";
 20540 GOSUB21000
 20541 IF NO=1THEN2075
 20545 DD=1:GOTO21050
 20600 NO=0:a$=INKEY$
 20610 IF a$="y" THEN21045
 20620 IF a$="N" THEN NO=1:GOTO21046
 20630 GOTO20600
 20700 a$=INKEY$
 20710 IF a$="P" THEN RETURN
 20720 GOTO20700
 20750 FORN=1TO1500:NEXTN
 20755 RETURN
 21000 PRINT@297,"DO YOU TAKE IT";:PRINT@333,"YES/NO";
 21010 GOTO20600
 21045 TX=1:bf=bf-3
 21046 RETURN
 21050 GOTO2075
 24014 NEXTJ
 24999 PRINT@390,"BEWARE!YOU HAVE MET";
 25010 rf=INT((RND(TI)*12)+1)
 25080 XC$=RIGHT$(ma$(rf),LEN(ma$(rf))-1)
 25090 PRINT@(448+(32-LEN(XC$))/2),XC$;
 25100 FORN=1TO2000:NEXTN
 25110 PRINT@384," ":PRINT@416," ":PRINT@448," "
 25120 zb=INT(MS(rf)*D1)
 25125 ZA=INT(bf*((bd*2)/100))
 25126 XP=INT((zb+1)/(ZA+1))*2
 25200 IFRND(TI)<0.6ORDF=1THEN25210:ELSE25375
 25205 DZ=0
 25210 CLS4
 25211 IF be<=0 THEN 7000
 25212 IF bf<=0 THEN be=be-be
 25215 DZ=DZ+INT((bd*(bf*.5))/100):IF DZ>25 THEN DZ=25
 25220 T=0:dx=0:IF zb<=0 THEN 25480
 25221 CLS4
 25222 PRINT@133,"ATTACK OR CAST A SPELL";
 25223 KL=RND(10)-1
 25224 PRINT@RND(127),KL;
 25225 a$=INKEY$
 25230 IF a$=KL$(KL+1) THEN 25300
 25240 IF a$="S" THEN29350
 25250 T=T+1:IF T>100 THEN25265
 25260 GOTO25225
 25265 CLS4
 25270 dx=5:PRINT@204,"TOO SLOW";:PRINT@296,"YOU ARE WOUNDED";
 25280 GOSUB25450
 25281 IF be<=0THEN7000
 25282 IF bf<=0THEN9100
 25283 IF ZA<=0THEN25510
 25290 GOTO6000
 25300 CLS4
 25310 IF T<25 THEN rf=1
 25311 IF T>24 AND T<28 THEN rf=2
 25312 IF T>27 AND T<35 THEN rf=3
 25313 IF T>34 THEN25265
 25320 ON rf GOTO25325,25340,25355
 25325 DZ=INT((DZ+10)/(MS(rf)/10)):dx=0:PRINT@201,"A MIGHTY BLOW";:GOSUB25450
 25326 IF be<=0THEN7000
 25327 IF bf<=0THEN9100
 25328 IF ZA<=0THEN25510
 25335 GOTO25210
 25340 DZ=INT((DZ+8)/(MS(rf)/10)):dx=1:PRINT@201,"A SWIFT STRIKE";
 25345 GOSUB25450
 25346 IF be<=0THEN7000
 25347 IF bf<=0THEN9100
 25348 IF ZA<=0THEN25510
 25350 GOTO25210
 25355 DZ=INT((DZ+6)/(MS(rf)/10)):dx=2:PRINT@201,"HALF REPELLED";:GOSUB25450
 25356 IF be<=0THEN7000
 25357 IF bf<=0THEN9100
 25358 IF ZA<=0THEN25510
 25360 GOTO25210
 25375 CLS4
 25380 PRINT@133,"SURPRISE ON YOUR SIDE";:dx=10:
 25385 PRINT@201,"ATTACK OR RUN!";:PRINT@232,"OR CAST A SPELL";
 25390 a$=INKEY$
 25395 IF a$="A" THEN25300
 25398 IF a$="S" THEN29350
 25400 IF a$="R" THEN25420
 25405 T=T+1:IF T>50 THEN 25265
 25410 GOTO25390
 25420 RU=RND(TI):IF TI<0.5 THEN 25210
 25425 CLS
 25430 PRINT@205,"LUCKY";:PRINT@233,"YOU ESCAPED!";:PRINT@300,"YOU COWARD";
 25433 FORN=1TO1000:NEXTN
 25435 bd=bd-3
 25440 GOTO2950
 25450 zb=zb-DZ:
 25460 be=be-dx:bf=bf-INT(dx/2)
 25470 FORN=1TO2500:NEXTN
 25475 RETURN
 25480 CLS4
 25482 bd=bd+2+XP
 25485 PRINT@137,"WE SALUTE YOU";:PRINT@203,"pendragon";:PRINT@265,"MIGHTY WARRIOR";
 25495 FORN=1TO1000:NEXTN
 25500 GOTO2950
 25510 CLS4
 25520 PRINT@199,"BATTLE INDECISIVE!";
 25525 FORN=1TO1000:NEXTN:GOTO2950
 25530 FORN=1TO750:NEXTN:GOTO1000
 25550 PRINT@203,"pendragon";:PRINT@229,"ON YOUR WAY VICTORIOUS";
 25560 bf=bf+(ZX-ZA):
 25570 FORN=1TO750:NEXTN:RETURN
 28000 CLS8
 28010 PRINT@231,"TOO WEAK TO ATTACK";
 28020 FORN=1TO750:NEXTN
 28030 PRINT@296,"YOU ARE KILLED!!";
 28040 FORN=1TO750:NEXTN
 28050 RUN
 29350 CLS0
 29360 IFBG>10THEN29600
 29370 PRINT@233,"POWER TOO WEAK";
 29380 FORN=1TO750:NEXTN:MS=MS+10
 29390 GOTO25270
 29500 FORN=1TO8
 29510 CLSN:GOSUB29550
 29520 NEXTN
 29530 RETURN
 29550 FORX=1TO10
 29560 X3=INT(RND(TI)*63):Y3=INT(RND(TI)*31)
 29570 SET(X3,Y3,N-1)
 29580 NEXTX
 29590 RETURN
 29600 CLS6
 29605 L1$="ALL HAIL PENDRAGON"
 29610 PRINT@10,"*CAST SPELL*";
 29620 GOSUB51000
 29630 IF SP<1 THEN29992
 29640 CLS6
 29645 BG=INT(BG*0.9)-T:IF BG<=0 THEN BG=0
 29646 bd=bd+INT(n1/5)
 29650 PRINT@326,L1$;
 29660 FORN=1TO25:SOUND225,1
 29670 NEXTN
 29680 GOTO2000
 29992 CLS6
 29995 BG=INT(BG*0.75)-T:IF BG<=0 THEN BG=0
 29997 GOTO25210
 30000 PMODE1,3:SCREEN1,0:PCLS
 30010 P1$="BM0,154;E3F2E2F2E2F2E2F2E2F2R2H3U39G2L3G1L3G1L3G1L3G1L2R2E1R3E1R3E1R3E1R3E3R3E2R3E4R2E4R2E3U2H1U2H1U4H1U2H1U3H1U3"
 30020 P2$="BM88,36;E4R2E6F2E6F3R2F5NG5E3R2E2R1F6NG8R1E2R1E2R4E1R3F1R1F2NG3E2R1E2R2E1R4F4NG4E1R2F1R1E1"
 30023 P4$="BM182,172;R3D3L3NU2D4BR6U7R3D3L3F4BR2U7NR3D3NR2D4R3BR2R3U4L3U3R3BR2R3L3D3R3D4NL3BR6U7R3D3L2"
 30025 LINE(0,0)-(254,190),PSET,B
 30030 ON lx GOTO 30100,30200,30300,30400,30500,30600,30700,30800,30900
 30100 DRAWP1$
 30110 DRAWP2$
 30120 DRAW"BM72,54;F4R2F2R2F1R1F1R1F1R2F1R2F1R2F1R2F1R2F1R2F1R2F1R2F1R2F1R2F1R2F1R2F1R2F1R2F1R2F1R2F1R2F1R2F1R2F1R2F1R2F1R2F1R2F1R2F1R2F1R1"
 30130 DRAW"BM40,86;R1F3R2F4R2F5R2F5R3F3R2F5R2F4R2F4R2F3D1F6D1F8"
 30140 PAINT(12,100),4,4
 30145 PAINT(120,4),3,4
 30150 PAINT(140,100),3,4
 30155 PAINT(4,180),2,4
 30156 DRAW"C2"+P4$
 30160 GOSUB20700
 30165 D1=2
 30170 GOTO4000
 30200 DRAWP1$
 30220 DRAW"BM84,48;F3R2F1R2F2R3F1R2F1R2F1R2F1R2F1R2F1R2E1R2E1R2E1R2E1R2E1R2E1R2E1R2E4R1E1R1E2R1E2R1E2U3H1U2H2U3H2U3H2"
 30230 DRAW"BM118,64;F3D1F1D1F1D37G4R3E3F3E3F3E3F3E4F4R3H4U39E1U2E1U1E1GD1F2R3F1R3F1R3E1R3E1R3U1R4"
 30240 DRAW"BM192,72;F4D12G2R2E2F1R1E1F2R2H2U12E1U1E2U1R3F1R1F1D3F3D3F2D36G4R3E3F4"
 30250 DRAW"BM202,48;F3R1F2R1F2R1F2R1F2R1F2R1F3R2F1R1"
 30260 PAINT(16,100),4,4
 30270 PAINT(152,100),4,4
 30275 PAINT(206,80),4,4
 30280 PAINT(252,112),4,4
 30282 PAINT(100,180),2,4
 30283 DRAW"C3"+P4$
 30285 GOSUB20700
 30290 GOTO4000
 30300 DRAW"BM0,48;E13R2E2F2E5F5D2F1D2F3D3F3NG3E6R2E1R2E5F8R2F1R1F4R3F4NG6E14R1E7F8R2F1R2F1R2E1R2E11"
 30310 DRAW"BM0,158;E1U2E6U1E3U1E1U1E1H2U2E4R1E2R3E1R3E2R1E2R1E2R1E1R1E1R2E5R1E1R1E1R1E5R1F1R2F1R3F1R2F1R2F4R1F1R1F1R1F4R1F1R1F1R1F1R1F1NG10E3R2E1R2E1R2E4R2E1R1E2R1F7NG5E3R2E1R2E2"
 30320 DRAW"BM76,86;G10L1G2L1G2L4G2F3D2G1D2G1D2G2D3G1D2F5R2F1R2F1R2F2R2F3R2F4D1"
 30330 DRAW"BM80,114;R8F3NL7D6L4U3L2D3NR1L2U6H3D6F2"
 30350 PAINT(4,4),3,4
 30360 PAINT(20,172),2,4
 30365 PAINT(88,118),2,4
 30370 PAINT(88,122),2,4
 30375 PAINT(82,122),2,4
 30376 DRAW"C3"+P4$
 30380 GOSUB20700
 30390 GOTO4000
 30400 GOTO8300
 30420 FORN=1TO1500:NEXTN:GOTO4000
 30500 GOTO8400
 30520 FORN=1TO1500:NEXTN:GOTO4000
 30600 DRAW"BM0,52;E1R2E2R2E4R2F7NG8E2R2E1R2E2R2E3R1E2R2E1R2E1R2E4F12NG5E5R3E4R3E6F4"
 30605 DRAW"BM0,72;F3R2F3R2F3R2F3"
 30610 DRAW"BM0,90;F4R2F3R2F3R1F1H1L1H2R3F1R1F1R4F1R3F3R2F1R2F1R2F1R2F3G3D1G3D1G4F2D2F1R1F3R1F5R3F1R3F4"
 30615 DRAW"BM16,102;R9F1R4F1R3F1R3F1R3F1R2F1R2F2R1F1R1F6D1G2F2R6F1R4F1R3F1R3F2R39F3R3F1R2F1R3F1R2"
 30620 DRAW"BM218,40;F2NF4D1ND52L3G1L3G1L4G1L3G1L2H1L3H1L4H1L3H1L3ND52L1NG3E19F16E2R2E3R2E4R2E3"
 30625 DRAW"BM170,72;E2R2E1R6F1R2F2G2L2G1L6H1L2H1"
 30630 PAINT(12,12),3,4
 30635 PAINT(120,160),2,4
 30640 PAINT(180,100),2,4
 30642 PAINT(192,44),2,4
 30645 PAINT(184,72),4,4
 30646 DRAW"C3"+P4$
 30650 GOSUB20700
 30660 GOTO8500
 30665 FORN=1TO1500:NEXTN:GOTO4000
 30700 DRAWP1$
 30710 DRAW"BM40,94;R21H5U13NR6D13L3NU12H5NU5F5R9NU12R4BU7U6R8D5L8BD7D1R14U11NR5U11NL14H8NL10F8D22L19F5R19D6L18F17R4H3U49E16NR45F16NR29G15NH16NR44D16BR15R22D17L21U17BL15L1D35NR44H3U35H11D35F11L4F14BL22L1H42L4"
 30720 PAINT(20,100),4,4
 30725 PAINT(72,100),2,4
 30730 PAINT(120,4),3,4
 30735 PAINT(100,46),2,4
 30740 PAINT(78,64),4,4
 30745 PAINT(100,62),3,4
 30750 PAINT(200,12),2,4
 30755 PAINT(164,24),2,4
 30760 PAINT(220,44),2,4
 30765 PAINT(140,56),2,4
 30770 PAINT(200,80),2,4
 30775 PAINT(144,100),4,4
 30780 PAINT(216,116),3,4
 30784 DRAW"C3"+P4$
 30785 GOSUB20700
 30790 GOTO4000
 30800 DRAW"BM0,66;F7NG3E4F6E2F3"
 30810 DRAW"BM200,0;G4R7D41L7D3L7U3L7D3L7U3L7D3L7U3L7U15R7H5U4L7D3L7U3L7D3L7U3L7D4G5R7D38R5NG27NR20U12E5R11F5D12NF27R78"
 30820 DRAW"BM44,118;G18R14"
 30830 DRAW"BM118,154;R69"
 30840 DRAW"BM118,88;E14F8NG3E14F1E4F2"
 30850 PAINT(4,4),3,4
 30855 PAINT(72,72),2,4
 30860 PAINT(34,140),3,4
 30865 PAINT(76,120),4,4
 30870 PAINT(160,144),3,4
 30875 PAINT(76,160),2,4
 30876 DRAW"C2"+P4$
 30880 GOSUB20700
 30890 GOTO8000
 30900 GOTO4000
 40000 CLS0
 40010 R$=CHR$(128)
 40020 PRINT@33,CHR$(238);:PRINT@62,CHR$(237);:PRINT@449,CHR$(235);:PRINT@478,CHR$(231);
 40040 PRINT@139,"pendragon";:PRINT@233,"water";R$;"of";R$;"life";
 40045 PRINT@335,"by";:PRINT@393,"david";R$;"jenkins";
 40046 SCREEN0,1
 40047 FORN=1TO2000:NEXTN
 40050 FORN=1TO50
 40051 PLAY"V20T255O3CFC"
 40055 NEXTN
 40060 RETURN
 50010 DATA "BGIANT SPIDER",20,0,"HLIVING DEAD",25,10,"GHUNTER",35,0
 50020 DATA "GMERCENARY",40,0,"ATROLL",40,5,"EDARK BIRDS",30,15,"AGOBLIN",30,17
 50030 DATA "ADWARFS OF THE PIT",35,15,"ESOLDIERS OF THE MISTS",50,0,"CWRAITH",30,35
 50040 DATA "ERIDER OF THE NIGHT",50,40,"DWARLOCKS OF THE EYE",50,50
 51000 SP=0:A4=0
 51002 IF BG<25 THEN A4=18
 51003 IF BG>24 AND BG<35 THEN A4=13
 51004 IF BG>34 AND BG<45 THEN A4=8
 51005 IF BG>44 THEN A4=4
 51010 re=INT(RND(TI)*A4)
 51100 A2=LEN(W$(re))
 51110 A3=0
 51140 FORY1=1 TO LEN(W$(re))
 51150 PRINT@(32*9)+(Y1*2),"-";" "
 51160 NEXTY1
 51170 T2=0
 51175 IF n1(rf)>BG THEN T2=2
 51180 PRINT@(32*10),"SPELL!"
 51190 PRINT@(32*11)," "
 51200 F=0
 51210 INPUTL$
 51220 T2=T2+1
 51230 IF T2=8 THEN51500
 51350 IF l$=W$(re) THEN51550
 51360 FOR A=1 TO LEN(W$(re))
 51370 IF l$=MID$(W$(re),A,1) THENGOSUB51440
 51380 NEXTA
 51381 IF A3=A2 THEN51550
 51390 IF F=1 THEN51180
 51400 PRINT@(32*11),"WRONG"
 51410 FORN=1TO500:NEXTN
 51420 PRINT@(32*11)," "
 51430 GOTO51180
 51440 PRINT@(32*8)+(A*2),l$;
 51441 A3=A3+1
 51450 F=1
 51460 RETURN
 51470 DATA"SAUCER","LINGER","COLONY","BECKON","SAUNTER","LINTLE","COLOUR","BECOME","SAUSAGE","LINCTUS"
 51475 DATA"COLUMN","BECALM","FAVOUR","LINSEED","COLLIDE","BEAVER","COLONEL","BEAUTY"
 51500 CLS4
 51505 PRINT@234,"MAGIC FAILS!";
 51510 FORN=1TO1500:NEXTN
 51520 RETURN
 51550 SP=1
 51555 CLS0
 51556 PRINT@236,"SUCCESS!";
 51557 FORN=1TO1500:NEXTN
 51560 RETURN
 52000 DATA"river","forest","mountains","cave","lake","tower","village","castle","greatwall"
 52050 DATA"0","1","2","3","4","5","6","7","8","9"
 52100 DATA 40,40,15,45,45,20,50,50,10,60,60,25,70,70,15
 
 

SOURCE FILE

HOW TO COMPILE AND RUN

The instructions here refer to compiling the example from the command line. For Microsoft Windows users we suggest using UGBASIC-IDE, which allows you to compile the example with just one click.

ATARI 400/800 family

In order to compile and run the example, you need to have the Altirra emulator, and in particular that the altirra executable is accessible.

Then, type this command on the command line:

 # Linux 
 ugbc.atari the_water_of_life_dragon_32_64_basic.bas -o example.xex
 altirra example.xex
 
 # Windows 
 ugbc.atari.exe the_water_of_life_dragon_32_64_basic.bas -o example.xex
 altirra example.xex

ATARI 600XL/800XL/1200XL/XG(SE) family

In order to compile and run the example, you need to have the Altirra emulator, and in particular that the altirra executable is accessible.

Then, type this command on the command line:

 # Linux 
 ugbc.atarixl the_water_of_life_dragon_32_64_basic.bas -o example.xex
 altirra example.xex
 
 # Windows 
 ugbc.atarixl.exe the_water_of_life_dragon_32_64_basic.bas -o example.xex
 altirra example.xex

Commodore 64

In order to compile and run the example, you need to have the VICE emulator, and in particular that the x64sc executable is accessible.

Then, type this command on the command line:

 # Linux 
 ugbc.c64 the_water_of_life_dragon_32_64_basic.bas -o example.prg
 x64sc example.prg
 
 # Windows 
 ugbc.c64.exe the_water_of_life_dragon_32_64_basic.bas -o example.prg
 x64sc example.prg

Commodore PLUS/4

Using YAPE

In order to run the example, you need to have the YAPE emulator. In particular that the yape executable is accessible.

Then, type this command on the command line:

 # Linux 
 ugbc.plus4 the_water_of_life_dragon_32_64_basic.bas -o example.prg
 yape example.prg
 
 # Windows 
 ugbc.plus4.exe the_water_of_life_dragon_32_64_basic.bas -o example.prg
 yape example.prg
Using VICE

In order to run the example, you need to have the VICE emulator. In particular that the xplus4 executable is accessible.

Then, type this command on the command line:

 # Linux 
 ugbc.plus4 the_water_of_life_dragon_32_64_basic.bas -o example.prg
 xplus4 example.prg
 
 # Windows 
 ugbc.plus4.exe the_water_of_life_dragon_32_64_basic.bas -o example.prg
 xplus4 example.prg

Dragon 32

In order to compile and run the example, you need to have the XROAR emulator, and in particular that the xroar executable is accessible.

Then, type this command on the command line:

 # Linux 
 ugbc.d32 the_water_of_life_dragon_32_64_basic.bas -o example.bin
 xroar -rompath (your rom path) example.bin
 
 # Windows 
 ugbc.d32.exe the_water_of_life_dragon_32_64_basic.bas -o example.bin
 xroar.exe -rompath (your rom path) example.bin

Dragon 64

In order to compile and run the example, you need to have the XROAR emulator, and in particular that the xroar executable is accessible.

Then, type this command on the command line:

 # Linux 
 ugbc.d64 the_water_of_life_dragon_32_64_basic.bas -o example.bin
 xroar -rompath (your rom path) example.bin
 
 # Windows 
 ugbc.d64.exe the_water_of_life_dragon_32_64_basic.bas -o example.bin
 xroar.exe -rompath (your rom path) example.bin

PC128 Olivetti Prodest

In order to compile and run the example, you need to have the DCMOTO emulator, and in particular that the dcmoto executable is accessible.

Then, type this command on the command line and on the emulator:

 # Linux 
 ugbc.pc128op the_water_of_life_dragon_32_64_basic.bas -o example.k7
 dcmoto
 (choose BASIC 128)
 CLEAR,&H2FFF: LOADM"CASS:",R: EXEC
 
 # Windows 
 ugbc.pc128op.exe the_water_of_life_dragon_32_64_basic.bas -o example.k7
 dcmoto
 (choose example.k7)
 (choose BASIC 128)
 CLEAR,&H2FFF: LOADM"CASS:",R: EXEC

Thomson MO5

In order to compile and run the example, you need to have the DCMOTO emulator, and in particular that the dcmoto executable is accessible.

Then, type this command on the command line and on the emulator:

 # Linux 
 ugbc.pc128op the_water_of_life_dragon_32_64_basic.bas -o example.k7
 dcmoto
 (choose BASIC 128)
 CLEAR,&H2FFF: LOADM"CASS:",R: EXEC
 
 # Windows 
 ugbc.pc128op.exe the_water_of_life_dragon_32_64_basic.bas -o example.k7
 dcmoto
 (choose example.k7)
 (choose BASIC 128)
 CLEAR,&H2FFF: LOADM"CASS:",R: EXEC

Commodore VIC-20

In order to compile and run the example, you need to have the VICE emulator, and in particular that the xvic executable is accessible.

Then, type this command on the command line:

 # Linux 
 ugbc.vic20 the_water_of_life_dragon_32_64_basic.bas -o example.prg
 xvic --memory 24k example.prg
 
 # Windows 
 ugbc.vic20.exe the_water_of_life_dragon_32_64_basic.bas -o example.prg
 xvic --memory 24k example.prg

ZX Spectrum

In order to compile and run the example, you need to have the Speccy emulator, and in particular that the speccy executable is accessible.

Then, type this command on the command line:

 # Linux 
 ugbc.zx the_water_of_life_dragon_32_64_basic.bas -o example.tap
 Speccy example.tap
 
 # Windows 
 ugbc.zx.exe the_water_of_life_dragon_32_64_basic.bas -o example.tap
 Speccy example.tap

MSX

In order to compile and run the example, you need to have the openMsx or the BlueMSX emulator, and in particular that its executable is accessible.

Then, type this command on the command line:

openMSX
 # Linux 
 ugbc.msx1 the_water_of_life_dragon_32_64_basic.bas -o example.rom
 openmsx -cart example.rom
 
 # Windows 
 ugbc.msx1.exe the_water_of_life_dragon_32_64_basic.bas -o example.rom
 openmsx -cart example.rom
blueMSX
 # Linux 
 ugbc.msx1 the_water_of_life_dragon_32_64_basic.bas -o example.rom
 bluemsx example.rom
 
 # Windows 
 ugbc.msx1.exe the_water_of_life_dragon_32_64_basic.bas -o example.rom
 bluemsx example.rom

ColecoVision

In order to compile and run the example, you need to have the openMsx or the BlueMSX emulator, and in particular that its executable is accessible.

Then, type this command on the command line:

openMSX
 # Linux 
 ugbc.coleco the_water_of_life_dragon_32_64_basic.bas -o example.rom
 openmsx -machine \"COL - ColecoVision\" -cart example.rom
 
 # Windows 
 ugbc.coleco.exe the_water_of_life_dragon_32_64_basic.bas -o example.rom
 bluemsx -machine \"COL - ColecoVision\" example.rom
blueMSX
 # Linux 
 ugbc.coleco the_water_of_life_dragon_32_64_basic.bas -o example.rom
 bluemsx /machine \"COL - ColecoVision\" /rom1 example.rom
 
 # Windows 
 ugbc.coleco.exe the_water_of_life_dragon_32_64_basic.bas -o example.rom
 bluemsx  /machine \"COL - ColecoVision\" /rom1 example.rom

SEGA SC-3000

In order to compile and run the example, you need to have the BlueMSX emulator, and in particular that its executable is accessible.

Then, type this command on the command line:

 # Linux 
 ugbc.sc3000 the_water_of_life_dragon_32_64_basic.bas -o example.rom
 bluemsx /machine \"SEGA - SC-3000\" /rom1 example.rom
 
 # Windows 
 ugbc.sc3000.exe the_water_of_life_dragon_32_64_basic.bas -o example.rom
 bluemsx  /machine \"SEGA - SC-3000\" /rom1 example.rom

SEGA SG-1000

In order to compile and run the example, you need to have the BlueMSX emulator, and in particular that its executable is accessible.

Then, type this command on the command line:

 # Linux 
 ugbc.sg1000 the_water_of_life_dragon_32_64_basic.bas -o example.rom
 bluemsx /machine \"SEGA - SG-1000\" /rom1 example.rom
 
 # Windows 
 ugbc.sg1000.exe the_water_of_life_dragon_32_64_basic.bas -o example.rom
 bluemsx  /machine \"SEGA - SG-1000\" /rom1 example.rom

ANY PROBLEM?

If you have found a problem trying to run this example, if you think there is a bug or, more simply, you would like it to be improved, open an issue for this example on GitHub. Thank you!

POWERED BY