Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - Blacklord

Pages: [1] 2 3 ... 61 Next
1
News, views, help & info / Site beta testers required
« on: April 21, 2013, 09:53 AM »
Guys - after a half dozen or so beta testers for a new forum I'm currently in the midst of building.

The site is call 8 Bit Village and is designed to be a very large site devoted to all 8 and 16 bit computers (including consoles and calculators).

It is very much a development-in-progress site at this point and is not ready for general consumption (though by posting the link here Google will no doubt shoot me in the foot...)

There is a specific message board on the site for Beta Testers (it's pretty easy to find) where all feedback can be posted and where new features and bug fixes etc will be announced.

If you're interested in helping out head over to http://www.8bitvillage.com and register.

It's currently hosted on my dev box so speeds may (at times) be somewhat slow (that's not a bug!).

cheers,

Lance

2
Auctions et al / Bloody hell!
« on: April 16, 2013, 07:57 AM »

3
News, views, help & info / Upgrade time....
« on: February 24, 2013, 08:41 AM »
.... again :)

I'll be moving the forums to SMF 2.04 later this week.

4
CP/M / USCD Pascal
« on: December 11, 2012, 07:07 AM »
USCD Pascal for CP/M-80

(This is a 22Disk image)

5
CP/M / GraphPlan
« on: December 11, 2012, 07:04 AM »
GraphPlan is an electronic worksheet with graphics. You can do
row and column calculations electronically.  Then press the   
graphics key to see the results graphically.                 
                                                             
Most of the screen displays your table.  The commands on the 
right allow you to write titles and data into the table.  You
choose a command by typing the command number followed by the
carriage return key.                                         
                                                             
Some  commands  are not listed on the command menu.  They are:
                                                             
     1. Backspacing: Use the Back Space (<--) key.           
     2. Cancellation: Use the STOP key.                       
     3. Cursor movement: Use the arrow keys.         

6
CP/M / Spell Binder 5.1
« on: December 11, 2012, 07:02 AM »
This is Spell Binder for CP/M 3.0. Although it's for the Jonos computer, it'll work on the C128.

7
Deutsch / Anyone translate this?
« on: November 18, 2012, 10:07 AM »
My German is non-existant :)

What's the top machine in this ad? More to the point does anyone have one of these?

8
General chat / 25th Anniversary
« on: October 16, 2012, 08:20 PM »
Today (16th October) marks the 25th anniversary of the day we first went online as a dial up BBS.

9
KIM-1 / Micro-ADE assembler/editor
« on: September 25, 2012, 07:33 PM »
Micro-ADE for the KIM-1

This is the assember/editor Micro-ADE program for the KIM-1 computer.
Written by Peter Jennings, Micro-Ware Ltd. 1977

Available files in this archive

micro ADE original\micade.bin Start $2000 Length 4096 bytes Original Micro-ADE

microa ADE 8K acia version\made8ka.bin start $0400 length 768 bytes
microa ADE 8K acia version\made8kb.bin start $0000 length 8192 bytes
microa ADE 8K acia version\made8kc.bin start $0400 length 592 bytes
microa ADE 8K acia version\made8k.txt information on the 8K version


10
KIM-1 / Focal V3d
« on: September 25, 2012, 07:24 PM »
Focal V3d for the KIM-1

This is the programming language Focal v3.d program for the KIM-1 computer.

Available files in this archive

focalzp.bin     ID=01 Start $0000 length 256 bytes zeropage of the program
focalm.bin     ID-02 start $2000 length 5809 bytes main program


11
KIM-1 / Microsoft Basic for the KIM-1
« on: September 25, 2012, 07:21 PM »
Microsoft Basic for the KIM-1

This is the programming language Basic for the KIM-1 computer.

The binary files in this archive have been reproduced from the original cassette recording with the tool KIMTAPE
This program also makes it possible to reproduce original cassette recordings that can be read by a KIM-1.

Available files in this archive

KB9.bin the original Microsoft distributed version, load address $2000, start at $4065

subdirectory basic v20 contains an improved version with better tape laod routines
a.bin load address $0200
b.bin load address $2000
start address $405e

subdirectory basic v30 contains an even more improved version
a.bin load address $0200
b.bin load address $2000
start address $405e

12
PET software / Number-toe
« on: September 25, 2012, 10:42 AM »
Tic-Tac-Toe

13
PET software / Frogger
« on: September 25, 2012, 08:08 AM »
The object of the game is to direct frogs to their homes one by one. To do this, each frog must avoid cars while crossing a busy road and navigate a river full of hazards.

14
PET software / Bomber
« on: September 25, 2012, 07:55 AM »
Bomber is a top-down shooter in which the player takes on the role of a bombardier of a B-29 Bomber plane. The game uses a scrolling top-down view of enemy territory with various structures popping up from time to time. The aim of the game is to hit as many structures as possible within the two minute time limit.

15
PET software / 80 to 40 column mode
« on: September 24, 2012, 04:10 PM »
Switches an 80 column PET to 40 column mode.

16
PET software / Mugwump
« on: September 24, 2012, 04:08 PM »
Find objects on a grid

17
PET software / Snark
« on: September 24, 2012, 04:05 PM »
I really have no idea just what this is.

18
PET software / Rags to Riches Poker (1980)
« on: September 24, 2012, 04:02 PM »
Rags to Riches Poker (1980)

19
PET software / BioTerror!
« on: September 24, 2012, 04:00 PM »
BioTerror! is a turn-based strategy simulation in which you manage resource units to quarantine cities, research a cure, and eradicate infections. The game was written in 2011 for a 1977 Commodore PET 2001-8.

20
PET software / Anagrams
« on: September 24, 2012, 03:10 PM »
Code: [Select]
5 print"{clr}this simulation is a trial version.     it requires written ";
   10 print"texts from the      centre for science education,computer  "
   15 print"dept.,bridges place,london,sw6 4hr.     phone 01-736 3401"
   20 print
   25 print
   30 print"scatter unit part 3.scattering alpha    particles by foil"
   35 print"second trial draft check needed...check yours"
   40 print
   45 print
   50 rem  **scatt3  version 3 copyright  chelsea college  nov.1973
   55 x=2.88e-15
   60 x1=114.591
   70 print"foil metal:type 1 for gold"
   75 print"             or 2 for silver"
   80 print"             or 3 for copper"
   85 print"             or 4 for aluminium"
   90 print
   95 inputc
  100 print
  105 if(c-1)*(c-2)*(c-3)*(c-4)=0then120
  110 print"reply with 1,2,3 or 4 to choose metal"
  115 goto95
  120 ifc=1then140
  125 ifc=2then155
  130 ifc=3then170
  135 ifc=4then185
  140 z=79
  145 r=1.44e-10
  150 goto195
  155 z=47
  160 r=1.44e-10
  165 goto195
  170 z=29
  175 r=1.28e-10
  180 goto195
  185 z=13
  190 r=1.43e-10
  195 print"energy of alpha particles(mev)=";
  200 inpute
  205 print
  210 ife<.1then225
  215 ife>10then235
  220 goto250
  225 print"below 0.1 mev the model is invalid"
  230 goto195
  235 print"naturally occuring alpha particles do   not occur with"
  240 print"such a high energy"
  245 goto195
  250 print"foil thickness (in metres)=";
  255 input t
  260 print
  265 n=int(t/(2*r))
  270 ifn>0then290
  275 print"that foil would be less than one atom   thick";
  280 print" put in a larger value"
  285 goto250
  290 ift<1.1e-6then310
  295 print"the model is not valid for such a thick foil"
  300 print"put in a smaller value"
  305 goto250
  310 print
  315 print"choose angle range for display"
  320 print"type '1' for 0 to 15 degrees"
  325 print"  or '2' for 0 to 1.5 degrees"
  330 input g
  335 print
  340 if(g-1)*(g-2)=0then350
  345 goto320
  350 print
  355 print
  360 print"{clr}range of angles into which each alpha   particle is";
  365 print" scattered (degrees)"
  375 ifg=1then395
  380 print"0 0.2 0.4 0.6 0.8  1.0  ";
  385 print" 1.2   1.4   1.6"
  390 goto400
  395 print"0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16"
  400 b=x*z/e
  410 fora2=1to20
  415 p=1
  420 form=1ton
  425 q=rnd(ti)
  430 ifp<qthen440
  435 p=q
  440 nextm
  445 p=sqr(p)
  450 p=p*r
  455 f5=atn(b/(p+p))
  460 f=2*f5*180/~
  465 iff>0then475
  470 f=f+180
  475 ifg=2then525
  480 i=int(f)
  485 ifi<=15then500
  490 print"angle= "i
  495 goto555
  500 ifi>9then515
  505 k=i+i+1
  510 goto550
  515 k=i+i+i-8
  520 goto550
  525 i=int(f*10)
  530 ifi<=15then545
  535 print"angle=";.1*i
  540 goto555
  545 k=4*i+1
  550 printtab(k/2);"*"
  555 nexta2
  560 print"{home}";
  570 print"do you want to do another experiment     "
  580 print"{home}{down}type 0 for 'no' or 1 for 'yes'";
  585 inputy
  590 print"{clr}"
  595 ify*(y-1)<>0then580
  600 ify=0then660
  605 print
  610 print"do you want to change any experimental  conditions";
  615 inputw
  620 print
  625 ifw*(w-1)=0then640
  630 printprint"type {CBM-C}0{CBM-V} for no or {CBM-C}1{CBM-V}for yes"
  635 goto615
  640 ifw=0then360
  645 print
  650 print"which metal (1=gold, 2=silver, 3=copper, 4=aluminium)";
  655 goto95
  660 end

21
PET software / Alpha Particle Scattering
« on: September 24, 2012, 03:02 PM »
Code: [Select]
5 print"{clr}this simulation is a trial version.     it requires written ";
   10 print"texts from the      centre for science education,computer  "
   15 print"dept.,bridges place,london,sw6 4hr.     phone 01-736 3401"
   20 print
   25 print
   30 print"scatter unit part 3.scattering alpha    particles by foil"
   35 print"second trial draft check needed...check yours"
   40 print
   45 print
   50 rem  **scatt3  version 3 copyright  chelsea college  nov.1973
   55 x=2.88e-15
   60 x1=114.591
   70 print"foil metal:type 1 for gold"
   75 print"             or 2 for silver"
   80 print"             or 3 for copper"
   85 print"             or 4 for aluminium"
   90 print
   95 inputc
  100 print
  105 if(c-1)*(c-2)*(c-3)*(c-4)=0then120
  110 print"reply with 1,2,3 or 4 to choose metal"
  115 goto95
  120 ifc=1then140
  125 ifc=2then155
  130 ifc=3then170
  135 ifc=4then185
  140 z=79
  145 r=1.44e-10
  150 goto195
  155 z=47
  160 r=1.44e-10
  165 goto195
  170 z=29
  175 r=1.28e-10
  180 goto195
  185 z=13
  190 r=1.43e-10
  195 print"energy of alpha particles(mev)=";
  200 inpute
  205 print
  210 ife<.1then225
  215 ife>10then235
  220 goto250
  225 print"below 0.1 mev the model is invalid"
  230 goto195
  235 print"naturally occuring alpha particles do   not occur with"
  240 print"such a high energy"
  245 goto195
  250 print"foil thickness (in metres)=";
  255 input t
  260 print
  265 n=int(t/(2*r))
  270 ifn>0then290
  275 print"that foil would be less than one atom   thick";
  280 print" put in a larger value"
  285 goto250
  290 ift<1.1e-6then310
  295 print"the model is not valid for such a thick foil"
  300 print"put in a smaller value"
  305 goto250
  310 print
  315 print"choose angle range for display"
  320 print"type '1' for 0 to 15 degrees"
  325 print"  or '2' for 0 to 1.5 degrees"
  330 input g
  335 print
  340 if(g-1)*(g-2)=0then350
  345 goto320
  350 print
  355 print
  360 print"{clr}range of angles into which each alpha   particle is";
  365 print" scattered (degrees)"
  375 ifg=1then395
  380 print"0 0.2 0.4 0.6 0.8  1.0  ";
  385 print" 1.2   1.4   1.6"
  390 goto400
  395 print"0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16"
  400 b=x*z/e
  410 fora2=1to20
  415 p=1
  420 form=1ton
  425 q=rnd(ti)
  430 ifp<qthen440
  435 p=q
  440 nextm
  445 p=sqr(p)
  450 p=p*r
  455 f5=atn(b/(p+p))
  460 f=2*f5*180/~
  465 iff>0then475
  470 f=f+180
  475 ifg=2then525
  480 i=int(f)
  485 ifi<=15then500
  490 print"angle= "i
  495 goto555
  500 ifi>9then515
  505 k=i+i+1
  510 goto550
  515 k=i+i+i-8
  520 goto550
  525 i=int(f*10)
  530 ifi<=15then545
  535 print"angle=";.1*i
  540 goto555
  545 k=4*i+1
  550 printtab(k/2);"*"
  555 nexta2
  560 print"{home}";
  570 print"do you want to do another experiment     "
  580 print"{home}{down}type 0 for 'no' or 1 for 'yes'";
  585 inputy
  590 print"{clr}"
  595 ify*(y-1)<>0then580
  600 ify=0then660
  605 print
  610 print"do you want to change any experimental  conditions";
  615 inputw
  620 print
  625 ifw*(w-1)=0then640
  630 printprint"type {CBM-C}0{CBM-V} for no or {CBM-C}1{CBM-V}for yes"
  635 goto615
  640 ifw=0then360
  645 print
  650 print"which metal (1=gold, 2=silver, 3=copper, 4=aluminium)";
  655 goto95
  660 end

22
PET software / Alien Attack
« on: September 24, 2012, 03:00 PM »
Code: [Select]
2 gosub3300
    3 poke59468,12
    5 j=50
    6 r=int((36)*rnd(ti))+1
   10 print"{clr}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}"
   20 x=32769:m=1:t=60
   30 ifx<32769thenm=1
   40 ifx>32806thenm=-1
   41 ifa$="`"ora$="="then43
   42 goto50
   43 ifm=1thenm=-1:goto50
   44 m=1
   50 x=x+m:pokex,83:pokex-1,32:pokex+1,32
   52 ifpeek(x+320)=160orpeek(x+320)=214thengoto1000
   53 ifpeek(x+640)=214thenk=x+600:goto1010
   54 ifff=0then60
   55 ifff=1thengosub304
   56 ifff=1then30
   60 tt=(j-h):t=t+1:ift<ttthen100
   65 n=int((3)*rnd(ti)):ifn=1then73
   66 poke0,20:poke1,20:sys(826)
   70 printtab(r)"{rvon}{SHIFT-POUND} _{down}{left}{left}{left}{rvof}ZZZ":goto80
   73 forn=1to10:poke0,20:poke1,20:sys(826):next
   75 printtab(r)"{rvon}{SHIFT-POUND}V_{down}{left}{left}{left}{rvof}{SHIFT-POUND}Z_"
   80 t=0:r=int((36)*rnd(ti))
  100 geta$
  110 ifa$=" "orb$="p"thenff=1:f=x+40:poke0,20:poke0,10:sys(826):gosub304
  120 goto30
  304 ifri=1orle=1then3000
  305 f=f+40
  306 geta$:ifa$="`"ora$="="then307
  307 goto310
  308 ifm=1thenm=-1:goto310
  309 m=1
  310 ifpeek(f)=160orpeek(f)=214thenh=h+1:goto500
  311 ifpeek(f)<>233then320
  312 pokef-40,93:pokef-41,77:pokef-1,68
  313 forq=0to80:next:pokef-40,32:pokef-41,32:pokef-1,32
  314 poke0,20:poke1,20:sys(826):d=1:ri=1:f=f-1:goto327
  320 ifpeek(f)<>223then327
  321 pokef-40,93:pokef-39,78:pokef+1,68
  322 forq=0to80:next:pokef-40,32:pokef-39,32:pokef+1,32
  325 poke0,20:poke0,20:sys(826):d=1:le=1:f=f+1
  327 iff>33728thenff=0:d=0:ri=0:le=0:pokef-40,32:return
  328 ifd=1thenreturn
  330 pokef,46:pokef-40,32
  340 return
  500 pokef=40,32:poke0,255:poke1,50:sys(826)
  501 pokef-40,32:pokef,32:pokef-1,32:pokef+1,32:pokef+39,32:pokef+41,32
  510 forq=0to1
  520 pokef,127:pokef+39,127:pokef+40,127
  525 pokef,224:pokef+39,224:pokef+40,224
  526 pokef-1,42:pokef+1,42
  530 pokef+41,127
  540 pokef,255:pokef+39,255:pokef+40,255
  545 pokef,102:pokef+39,102:pokef+40,102
  546 pokef-1,171:pokef+1,171
  547 pokef-1,32:pokef+1,32
  550 pokef+41,255
  552 pokef,32:pokef+39,32:pokef+40,32
  553 pokef+41,32
  560 next:ff=0
  570 iff=k-40thenpoke0,255:poke1,255:sys(826):goto1500
  580 d=0:ri=0:le=0:return
 1000 k=x+280
 1010 ifpeek(k)=83then1110
 1020 pokek,224
 1025 poke0,100:poke1,10:sys(826)
 1030 k=k-40:goto1010
 1100 poke0,100:poke1,10:sys(826)
 1110 pokek,211:pokek-80,32:pokek-40,224
 1115 pokek+39,78:pokek+41,77
 1116 pokek+39,32:pokek+41,32
 1120 k=k+40:ifpeek(k)=90thenf=k-40:gosub501
 1130 goto1100
 1500 forx=0to24
 1550 forz=0to20:next
 1600 print:poke0,50:poke1,50:sys(826)
 1700 next
 2000 ga=ga+1
 2001 ifb$="p"thenprint"{clr}{down}{down}{down}{down}{down}{down}{down}{down}{rght}{rght}{rght}{rght}{rght}i got "h"but i'm only your pet":goto2005
 2002 print"{clr}{down}{down}{down}{down}{down}{down}{down}{rght}{rght}{rght}{rght}{rght}you destroyed"h"of the aliens"
 2005 ifh2<hthenh2=h:print:print"{rvon}{rght}{rght}{rght}{rght}{rght}it is the best score so far":goto2010
 2006 print:print"{rght}{rght}{rght}{rght}{rght}the best score is"h2
 2010 fora=0to10
 2020 geta$:next
 2024 print:print"{rght}{rght}{rght}{rght}{rght}to play again push any key"
 2025 print:print"{rght}{rght}{rght}after 30 seconds i will play alone"
 2026 ti$="000000"
 2027 ifti$="000030"thenb$="p":h=0:j=5:d=0:goto6
 2030 geta$:ifa$=""then2027
 2035 ifga=22thenrun5
 2040 j=50:b$="":h=0:d=0:ri=0:le=0:goto6
 3000 ifle=1thenk=41:goto3020
 3010 k=39
 3020 f=f+k:iff>33728thenpokef-k,32:ff=0:d=0:ri=0:le=0:return
 3025 ifpeek(f)<>32thenpokef-k,32:h=h+1:goto3040
 3030 pokef,46:pokef-k,32:return
 3040 ifpeek(f+1)=160orpeek(f+1)=214thenf=f+1:goto500
 3045 ifpeek(f)=160orpeek(f)=214then500
 3050 ifpeek(f-1)=160orpeek(f-1)=214thenf=f-1:goto500
 3060 ifpeek(f-41)=160orpeek(f-41)=214thenf=f-41:goto500
 3070 ifpeek(f-39)=160orpeek(f-39)=214thenf=f-39:goto500
 3080 ifpeek(f+41)=160orpeek(f+41)=214thenf=f+41:goto500
 3300 poke59459,255
 3310 forhb=826to870
 3320 readb:pokehb,b:nexthb
 3330 data165,1,162,215,142,64,232,170,202,208,253,240,0,240,0,240,0,240,0,240
 3340 data0,162,233,142,64,234,170,202,208,253,198,00,208,5,234,234,234,234
 3350 data96,240,00,240,00,208,213
 3500 print"{clr}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}alien attack"
 3520 print"{down}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}by peter wright"
 3540 forx=0to2000:next
 4000 print"{clr}{down}{down}{down}{down}{down}{down}{down}{down}{down}{rght}{rght}{rght}{rght}{rght}{rght}{rght}do you need instructions ?"
 4010 geta$:ifa$=""then4010
 4020 ifa$="n"thenreturn
 4030 print"{clr}you are the {CBM-V}S{CBM-C} at the top of the screen"
 4040 print"the object of the game is,
 4045 print"{down}to destroy the aliens shown below."
 4050 print"{down}1.has short range weapons and 2.long"
 4060 print"{down}no 1.{rvon}{SHIFT-POUND} _{rvof}      no 2.{rvon}{SHIFT-POUND}V_{rvof}
 4070 print"     ZZZ           {SHIFT-POUND}Z_
 4080 print"they will apear at the bottom."
 4090 print"{down}if they are not destroyed they will,"
 4100 print"{down}move up and destroy you."
 4110 print"{down}to fire at them press the{CBM-C}space{CBM-V}key."
 4120 print"{down}your shot must hit dead centre,"
 4130 print"{down}if it does not it will bounce off."
 4140 print"{down}{rvon}       push any key to continue         "
 4150 geta$:ifa$=""then4150
 4160 print"{clr}you may reverse the direction,"
 4170 print"{down}you are moving at any time,"
 4180 print"{down}with the {CBM-V}={CBM-C} key or the {CBM-V}`{CBM-C} key."
 4190 print"{down}the number you destroy is shown at,"
 4200 print"{down}the end of each game."
 4201 print"{down}the aliens are slow to advance at first,"
 4202 print"but the more you destroy the faster,"
 4203 print"{down}they will move."
 4204 print"{down}don't let them get to close because,"
 4205 print"{down}when they fire they never miss."
 4207 print"{down}plug in a sound box if you have one!"
 4210 print"{down}{rvon}         push any key to play           "
 4220 geta$:ifa$=""then4220
 4230 return

23
PET software / Air Attack
« on: September 24, 2012, 02:59 PM »
Code: [Select]
5 poke59467,16:poke59466,15
    6 poke59464,0
   10 print"{clr}          air attack                              {CBM-U}{CBM-U}{CBM-U}{CBM-U}{CBM-U}{CBM-U}{CBM-U}{CBM-U}{CBM-U}{CBM-U}"
   20 print"{down}{rght}{rght}the object of this game is to "
   30 print" land an aircraft in new york."
   40 print"  to do this you must destroy "
   50 print" all the buildings first by bombing"
   60 print" them. to drop bombs,press the "
   70 print" {CBM-C}{rvon}space{rvof}{CBM-V}key."
   71 print" {down}the aircraft moves on an auto pilot"
   72 print" so you only have to drop bombs."
   73 print" the aircraft moves down each time"
   74 print" the end of the screen is reached."
   75 print" {down}when you land,the game  restarts,"
   76 print" with your score unaltered."
   80 print"{rght}{rght}{rght}{rght}{rght}{down}good luck!!{down}{down}{down}{down}{left}{left}{left}{left}{left}{left}{left}{left}{left}{left}press a key to begin..."
   90 geta$:ifa$=""then90
  120 poke59468,12
  130 sh=48:sd=48:su=48
  140 y1$="{rvon}_{rvof}{CBM-I}{CBM-O}R"
  150 bk$="{left}{left}{left}{left}{left}"
  160 sp$="{rvof}  "
  170 print"{clr}"
  180 print"{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}";
  190 fora=33568to33607
  195 forb=atoa-(int(rnd(ti)*10))*40step-40
  200 pokeb,160
  205 nextb,a
  280 po=32773
  290 fori=1to3:print"{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}{CBM-+}";:next
  300 poke33746,sh:poke33747,sd:poke33748,su
  310 print"{home}";
  320 fori=1to40:t=ti+8:gosub330:gosub390:next:ll=ll+1:goto320
  330 printbk$;sp$;y1$;
  340 po=po+1:if(peek(po)and191)<>32then490
  350 ifpo=33607thenll=0:goto170
  360 ifb1thengosub410:ifb1thengosub410:return
  370 ifpeek(151)<>6thenreturn
  380 b1=1:i1=i+2+40*ll:p1=32808+i1:q1=50000:f1%=1+4*rnd(ti):return
  390 ifti>tthenreturn
  400 goto390
  410 poke59464,255*(p1-32768)/1000
  415 pokeq1,32:k1=peek(p1)and191:ifk1=32then450
  420 ifk1<>160thenf1%=0
  430 iff1%=0thengosub460:b1=0:poke59464,0:poke59459,255:poke59459,0:return
  440 f1%=f1%-1:ss=ss+1
  445 poke59464,255*(p1-32768)/1000
  446 poke59459,255:poke59459,0
  450 pokep1,46:q1=p1:p1=p1+40:return
  460 su=su+ss:ss=0:ifsu<58thenpoke33748,su:return
  470 su=su-10:poke33748,su:sd=sd+1:ifsd<58thenpoke33747,sd:return
  480 sd=sd-10:poke33747,sd:sh=sh+1:poke33746,sh:return
  490 poke59459,255:poke59459,0:print"{left}{left}{left}{left}{up}*{down}{left} {down}{left}*{up}***";
  491 pokeq1,32
  492 forttt=1to1000:next
  495 print"{left}{left}{left}{left}{up} {down}{left} {down}{left} {up}   "
  499 print"{home}{down}{down}{down}{down}{down}            {rvon}you've crashed!!"
  500 print"{down}         {rvon}press space to restart
  510 fori=1to200:next
  520 getx$:ifx$<>""then520
  530 getx$:ifx$=""then530
  535 ifx$=" "thenrun120
  540 poke59464,0:poke59466,254:poke59467,0

24
PET software / Addition practice
« on: September 24, 2012, 02:45 PM »
Code: [Select]
0 clr:poke59468,14:pk=14
    1 rem act petsoft
    2 rem cursor #8, sept., 1979
   10 rem as of may 26,1979
   90 pg$="add":nm$="8":gosub62000
  100 r$="{rvon}return{rvof}":d$="{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}"
  110 fl=1:ifpeek(49152)thenfl=0
  120 print"What's your name? ";:gosub60000:f$=in$
  130 iff$=""thenf$="Grundoon":print:print"I'll call you ";f$;", then."
  135 print
  140 dima(10,10)
  200 ql=245:ifpeek(49152)thenql=216
  900 r=-1:c=-1
  910 a=16
 1000 e=0
 1010 forx=1toc:s(x)=0:next
 1100 n=r:pr$="How many rows? ":gosub10000:ifn<0then1100
 1110 ifn<2orn>9thenprint"Only 2 to 9 rows allowed.":goto1100
 1120 r=n
 1130 n=c:pr$="How many columns? ":gosub10000:ifn<0then1130
 1140 ifn<1orn>9thenprint"Only 1 to 9 columns allowed.":goto1130
 1150 c=n
 1200 forx=1tor
 1210 a(x,1)=int(rnd(1)*9)+1
 1220 b(x)=a(x,1):s(1)=s(1)+a(x,1)
 1230 ifc<2then1290
 1240 fory=2toc
 1250 a(x,y)=int(rnd(1)*10)
 1260 b(x)=10*b(x)+a(x,y)
 1270 s(y)=s(y)+a(x,y)
 1280 nexty
 1290 nextx
 1300 print"{clr}{down}"
 1310 forx=1tor
 1320 printtab(15);b(x)
 1330 nextx
 1340 printtab(15);left$("{up}+{down}{left}@@@@@@@@@@",c+6)
 1350 k=0
 1360 m=15+c+40*(r+3)
 1370 forz=cto1step-1
 1380 s(z)=s(z)+k
 1390 p=int(s(z)/10):b=s(z)-p*10
 1400 pk=32768+m-(c-z)
 1410 pokepk,160:gosub13000:pokepk,dg
 1420 ifb<>gthens7=0:j=b:gosub13500:goto1410
 1430 ifs9<>0thengosub13200
 1440 s5=0
 1450 k=int(s(z)/10)
 1460 ifz=1goto1540
 1470 pk=32768+m-(r+2)*40-(c-z+1)
 1480 pokepk,160:gosub13000:pokepk,128+dg
 1490 ifg<>kthens7=1:j=k:gosub13500:goto1480
 1500 ifs9<>0thengosub13200
 1510 pokepk+1,32
 1520 s5=0
 1530 nextz
 1540 ifk=0then1590
 1550 pk=32768+m-(c-z+1)
 1560 pokepk,160:gosub13000:pokepk,dg
 1570 ifk<>gthens7=1:j=k:gosub13500:goto1560
 1580 ifs9<>0thengosub13200
 1590 poke32768+m-(r+2)*40-(c-z),96
 1600 print"{home}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}"
 1610 ife=1thenprint"THAT IS CORRECT, ";f$;".":goto1640
 1620 print"You are the GREATEST, ";f$;". You did":print
 1630 print"that problem without making a mistake."
 1640 print"{down}Want another problem? ";
 1650 yn=1:gosub14000
 1660 ifyn=1thenprint:goto1000
 1670 print:poke59468,12:print"{clr}":end
 10000 printpr$;:gosub60000:ifin$=""then10050
 10005 print
 10010 forii=1tolen(in$):g$=mid$(in$,ii,1)
 10020 :ifg$<"0"org$>"9"thenprint"No ";g$;"'s, please.":goto10000
 10030 :nextii
 10040 n=val(in$):return
 10050 ifn>=0thenprintn;
 10060 print:return
 13000 sw=160:tm=0
 13010 getg$:ifg$<>""then13040
 13020 ifti>tmthenpokepk,sw:sw=351-sw:tm=ti+30
 13030 goto13010
 13040 ifg$<"0"org$>"9"then13010
 13050 g=val(g$):dg=g+48:return
 13100 row=24:gosub13900:printtab(14);"{up}HIT {rvon}RETURN{rvof} WHEN{$a0}READY"
 13110 return
 13200 row=14:gosub13900
 13210 fori=rowto24:print"                                       ":nexti
 13220 s9=0:print"{home}":return
 13500 e=1:s5=s5+1:ifs5<2ands9<>0thengosub13200
 13510 row=16:gosub13900
 13520 ifs5>1thenprint"                                       {up}"
 13530 s9=1:ifs7=0then13560
 13540 printf$;", THE{$a0}CARRY IS NOT";g;"{left}."
 13550 goto13570
 13560 print"SORRY, ";f$;",";g;"IS INCORRECT."
 13570 ifs5<2thenprint"TRY{$a0}AGAIN.":goto13595
 13580 print"THE CORRECT ANSWER IS";j;"{left}.  WHEN YOU"
 13590 print"UNDERSTAND YOUR ERROR, TYPE IN{$a0}THE":print"CORRECT ANSWER."
 13595 return
 13900 print"{home}":pokeql,row:print"{up}";:return
 14000 sw=1:tm=0
 14010 getg$:ifg$<>""then14050
 14020 ifti<tmthen14010
 14030 printmid$("~ ",sw,1);"{left}";:sw=3-sw
 14040 tm=ti+30:goto14010
 14050 ifg$="y"thenyn=1:goto14080
 14060 ifg$="n"thenyn=0:goto14080
 14070 ifg$<>chr$(13)then14020
 14080 printmid$("no yes",1+3*yn,3)
 14090 return
 60000 in$=" ":zt=ti:zc=2:zd$=chr$(20)
 60010 getz$:ifz$<>""then60070
 60020 ifzt<=tithenprintmid$(" {CBM-+}",zc,1);"{left}";:zc=3-zc:zt=ti+15
 60030 goto60010
 60070 z=asc(z$):zl=len(in$):if(zand127)<32thenprint" {left}";:goto60110
 60080 iffland(zand127)>64and(zand127)<91thenz$=chr$((z+128)and255)
 60090 ifzl>254then60010
 60100 in$=in$+z$:printz$;zd$;z$;
 60110 ifz=13thenin$=mid$(in$,2):printcr$;:return
 60120 ifz=20andzl>1thenin$=left$(in$,zl-1):print"{left}";:goto60010
 60130 ifz=141thenz$=chr$(-20*(zl>1)):forz=2tozl:printz$;:nextz:goto60000
 60140 goto60010
 60200 ifpn=0then60250
 60210 print"{down}Press {rvon}RETURN{rvof} to ";
 60220 ifpn=lpthenprint"begin:";:goto60240
 60230 print"continue:";
 60240 gett$:ift$=""then60240
 60250 ifpn=lpthenpoke59468,pk:clr:print"{clr}";:goto100
 60260 pn=pn+1:print"{clr}";pg$;" - Cursor #";nm$;"  (C) 1979    Page";pn;"{down}"
 60270 return
 62000 print"{clr}{down}{down}{down}";pg$;" @ Cursor #";nm$;"  Copyright (C) 1979"
 62010 print"{down}addition drill"
 62020 print"{down}{down}{down}Want instructions? ";:gosub60000
 62030 ifleft$(in$,1)<>"y"then62090
 62040 goto62100
 62090 print"{clr}";:clr:goto100
 62100 lp=5:gosub60200
 62110 print"First, to be friendly, the PET{$a0}will ask
 62120 print"for your name. (If you{$a0}don't say what
 62130 print"your name is, the PET will call you
 62140 print"'GRUNDOON'.)
 62150 print"{down}Next, you'll be asked how big a problem
 62160 print"you want (by rows and columns). For
 62170 print"example, a problem with 2 rows and 4
 62180 print"columns would look like this:
 62190 print"{down}{down}";tab(10);"1289{left}{left}{left}{left}{left}{down}+4527{down}{left}{left}{left}{left}{left}@@@@@@
 62200 print"{down}{down}";:gosub60200
 62210 printtab(15);"{down}1289{left}{left}{left}{left}{left}{down}+4527{down}{left}{left}{left}{left}{left}@@@@@@{left}{left}{down}{rvon}?{down}{down}"
 62220 print"The PET will choose a problem{$a0}and print
 62230 print"it like the one above. The {rvon}?{rvof} you see
 62240 print"means that you're supposed to type in
 62250 print"a number.  In this case, 9+7=16, so you
 62260 print"would type 6 (since{$a0}the{$a0}1 is carried).
 62270 gosub60200
 62280 printtab(17);"{rvon}?{rvof}{down}{left}{left}{left}1289{left}{left}{left}{left}{left}{down}+4527{down}{left}{left}{left}{left}{left}@@@@@@{down}{left}{left}6{down}{down}"
 62290 print"After you type a number, the{$a0}PET will
 62300 print"print it, and{$a0}move{$a0}the {rvon}?{rvof} to the top of
 62310 print"the next{$a0}column, so you{$a0}can{$a0}type the
 62320 print"carry (1 in this case).  If there isn't
 62330 print"a carry, you must still type a ZERO to
 62340 print"tell the PET that you know{$a0}that there's
 62350 print"no carry.
 62360 gosub60200
 62370 printtab(17);"{rvon}1{rvof}{down}{left}{left}{left}1289{left}{left}{left}{left}{left}{down}+4527{down}{left}{left}{left}{left}{left}@@@@@@{down}{left}{left}{left}{rvon}?{rvof}6{down}{down}"
 62380 print"The carry you typed will then be shown.
 62390 print"The PET will move the{$a0}{rvon}?{rvof} to{$a0}the bottom
 62400 print"of the column, and wait for you to type
 62410 print"the sum of the second column (1 in this
 62420 print"case).
 62430 gosub60200
 62440 printtab(16);"{rvon}?{rvof}{down}{left}{left}1289{left}{left}{left}{left}{left}{down}+4527{down}{left}{left}{left}{left}{left}@@@@@@{down}{left}{left}{left}16{down}{down}"
 62450 print"Things will continue like this (sum,
 62460 print"carry, sum, carry, ...) until the
 62470 print"problem is solved.
 62480 print"{down}After the problem{$a0}is solved, you will
 62490 print"be offered another problem. If you
 62500 print"decide to do it, you{$a0}can{$a0}keep the same
 62510 print"number of rows and{$a0}columns by just
 62520 print"pressing {rvon}RETURN{rvof} when you{$a0}are asked
 62530 print"for them.
 62540 gosub60200

25
PET software / 3D Noughts and Crosses
« on: September 24, 2012, 02:43 PM »
Code: [Select]
5 poke59468,14
    6 poke59467,16:poke59466,35
    7 poke59464,200
   10 print"{clr}         3-D O's & X's"
   20 print"         {CBM-U}{CBM-U}{CBM-U}{CBM-U}{CBM-U}{CBM-U}{CBM-U}{CBM-U}{CBM-U}{CBM-U}{CBM-U}{CBM-U}{CBM-U}"
   30 print"{down}{down}{down}{down}{down}{down}{down}{down}{rght}{rght}{rght}{rght}{rght}{rght}{down}{down}{down}{down}{down}{down}{down}Press {CBM-C}space{CBM-V}to start"
   40 print"{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}or {CBM-C}return{CBM-V}for instructions"
   50 fora=1to20:geta$:next
   60 geta$:ifa$=""then60
   65 poke59464,100
   70 ifa$=" "then1000
   80 ifa$=chr$(13)then110
   90 goto60
  110 print"{clr}        INSTRUCTIONS"
  115 poke59464,230
  120 print"        {CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}{CBM-T}"
  130 print"{down}{down}THIS{$a0}GAME{$a0}IS{$a0}A{$a0}3 DIMENSIONAL VERSION"
  140 print"OF{$a0}THE{$a0}NORMAL{$a0}NOUGHTS{$a0}AND{$a0}CROSSES"
  150 print"{down}IT{$a0}IS{$a0}PLAYED{$a0}ON{$a0}A{$a0}4*4*4 BOARD"
  160 print"{down}THE{$a0}MOVES{$a0}ARE{$a0}REPRESENTED BY{$a0}:-"
  170 print" LEVEL{$a0}NUMBER,(which block)
  180 print" COLUMN{$a0}NUMBER,(vertical)
  190 print" AND{$a0}ROW{$a0}NUMBER,(horizontal).
  200 print"   RESPECTIVELY."
  210 print"{down} TO{$a0}MOVE{$a0}TYPE{$a0}THE{$a0}NUMBERS{$a0}WITH{$a0}COMMAS{$a0}OR{$a0} {CBM-C}RETURN{CBM-V}{$a0}BETWEEN{$a0}THEM."
  220 print"{down}YOU{$a0}ARE{CBM-C}O{CBM-V}THE COMPUTER{$a0}IS{CBM-C}X{CBM-V}."
  230 print"{down}     {rght} PRESS{$a0}A{$a0}KEY{$a0}TO{$a0}START"
  240 forn=1to20:geta$:next
  250 geta$
  260 poke59464,a:a=a+1:ifa=255thena=0
  270 ifa$=""then250
 1000 print"{clr}"
 1100 restore:print"{clr}"
 1110 dima(75+1),b(75+1)
 1120 dimg(63+1),v(63+1)
 1130 dimn0(3+1),n1(3+1)
 1140 fori=1to76:reada(i):next
 1150 fori=1to76:readb(i):next
 1160 fori=1to4:readn0(i):next
 1170 fori=1to4:readn1(i):next
 1180 fori=0to63
 1185 poke59464,255-i*4
 1190 g(i+1)=0
 1200 nexti
 1210 fori=0to63
 1215 poke59464,i*4
 1220 v(i+1)=0
 1230 ifg(i+1)=0thenpz=abs(i*4-l):goto1250
 1240 v(i+1)=-1
 1250 nexti
 1260 gosub1770
 1264 ifb$<>""then1270
 1265 print"{home}PRESS{CBM-C}1{CBM-V}TO{$a0}GO{$a0}FIRST"
 1266 getb$:ifb$=""then1266
 1267 print"{home}                     "
 1268 ifb$<>"1"then1380
 1270 forb=1to20:geta$:next
 1271 print"{home}type your move                    {left}{left}{left}{left}{left}{left}{left}{left}{left}{left}{left}{left}{left}{left}{left}{left}{left}{left}{left}";
 1280 poke59464,pz:open1,0:input#1,l$,c$,r$:close1
 1285 print"{home}                                      "
 1290 l=val(l$):c=val(c$):r=val(r$)
 1291 ifl<>int(l)orl>4orl<1then1270
 1292 ifc<>int(c)orc>4orc<1then1270
 1293 ifr<>int(r)orr>4orr<1then1270
 1310 print"{home}";
 1330 p=16*r+4*l+c-21
 1340 ifv(p+1)=-1then1270
 1350 g(p+1)=-1
 1360 v(p+1)=-1
 1370 gosub1770
 1375 poke59464,p*4
 1380 n=-1
 1390 t=0
 1400 forl=0to75
 1405 poke59464,l*3.4
 1410 s=a(l+1)
 1420 v1=b(l+1)
 1430 c=0
 1440 h=0
 1450 p=s-v1
 1460 fori=0to3
 1465 poke59464,i*i
 1470 p=p+v1
 1480 ifg(p+1)<>1then1510
 1490 c=c+1
 1495 poke59464,p*4
 1500 goto1530
 1510 ifg(p+1)<>-1then1530
 1520 h=h+1
 1530 nexti
 1540 ifh*c<>0then1650
 1550 t=t+1
 1560 ifh=4then2030
 1570 p=s-v1
 1580 fori=0to3
 1585 poke59464,i*i
 1590 p=p+v1
 1600 ifv(p+1)=-1then1640
 1610 ifc<>3then1630
 1620 n=p
 1630 v(p+1)=v(p+1)+n0(h+1)+n1(c+1)
 1640 nexti
 1650 nextl
 1660 ifn<>-1then2050
 1670 ift=00then2100
 1680 print"{home}"
 1690 m=-1
 1700 fori=0to63
 1705 poke59464,i*4
 1710 ifm>=v(i+1)then1740
 1720 m=v(i+1)
 1730 p=i
 1740 nexti
 1750 g(p+1)=1
 1760 goto1210
 1770 print"{home}{down}{down}{down}{down}{down}"
 1771 forr=1to4
 1780 forl=1to4
 1790 forc=1to4
 1795 poke59464,r*l*c*3.9
 1800 p=16*r+4*l+c-21
 1810 ifg(p+1)<>-1then1830
 1820 print"o ";
 1830 ifg(p+1)<>1then1850
 1840 print"x ";
 1850 ifg(p+1)<>0then1870
 1860 print". ";
 1870 nextc
 1880 print"   ";
 1890 nextl
 1900 print
 1910 nextr
 1920 return
 1930 data0,0,0,1,2,3,3,4,8,12,0,0,1,2,3,3,0,0,1,2,3,3,4,4,5,6,7,7,8,8
 1940 data9,10,11,11,12,12,13,14,15,15,12,12,13,14,15,15,16,16,16,17,18
 1950 data19,19,20,24,28,32,32,32,33,34,35,35,36,40,44,48,48,48,49,50
 1960 data51,51,52,56,60
 1970 data1,4,5,4,4,3,4,1,1,1,16,17,16,16,15,16,20,21,20,20,19,20,16,17
 1980 data16,16,15,16,16,17,16,16,15,16,12,13,12,12,11,12,16,17,16,16
 1990 data15,16,1,4,5,4,4,3,4,1,1,1,1,4,5,4,4,3,4,1,1,1,1,4,5,4,4,3,4
 2000 data1,1,1
 2010 data0,3,8,15
 2020 data1,4,9,16
 2030 print"{home}         you win       "
 2035 fortt=0to250:poke59464,rnd(ti)*256:next
 2040 goto2130
 2050 print"{home}        i win!!       "
 2055 fortf=1to2:fortt=0to255:poke59464,tt:poke59464,255-tt:next:next
 2060 g(n+1)=1
 2070 gosub1770
 2080 print"{home}"
 2090 goto2130
 2100 print"{home}        game drawn      "
 2105 fort=0to255:poke59464,t:next:fort=255to0step-1:poke59464,t:next
 2110 goto2130
 2120 end
 2130 print"{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}press{CBM-C}space{CBM-V}to go  again"
 2131 b$=""
 2140 geta$:poke59464,ff:ff=ff-1:ifff<0thenff=255
 2145 ifa$=""then2140
 2150 ifa$=" "thenprint"{clr}":run
 2160 poke59468,12
 2165 poke59464,0:poke59467,0:poke59466,0:poke59464,0
 2170 print"{clr}"

Pages: [1] 2 3 ... 61 Next


Back to top