Converting an old GWBasic program

mhokett

Distinguished
Dec 21, 2011
5
0
18,510
I have an old program I wrote back in '89 in GW-BASIC that allowed you to control a modified Mobile Armatron (toy robot) with your PC through the printer port and also save the movements for later use. Does anyone have any suggestions on a good way to convert this so it would run under XP under VB or any other current language? Any suggestions would be helpful..
 

mhokett

Distinguished
Dec 21, 2011
5
0
18,510
I could post the code if anyone thinks it would help, but I thought that would be way to long. Otherwise I guess I'll consider this one that stumped the forum and move on.
 

btcomp

Honorable
Jun 27, 2012
1
0
10,510
I have a job that I am trying to quote a price on to change about 20 GW-Basic programs to VB.Net in ASP.Net. Some of the larger programs are really hard to follow. The guy that is trying to get me to do it, thinks that it should only cost 1000 dollars. But I am thinking it will be much more. It has taken me several hours to take one of the longest programs and format it nicely in ASP.Net. There are three other programs as large, while the rest are much shorter and won't be too much trouble to do.

Up onto I go through these lines, it is fairly easy, just use a form on an ASP.Net page, use validators, etc.. but the temperarture calculations are a bit daunting, with all the two letter combinations.

2460 BEEP : BEEP : PRINT "YOUR FINAL TEMPERATURE IS TOO HIGH. -ENTER IT AGAIN-"
2470 INPUT TF: GOTO 2430
2480 IF TF>2200 AND IT<2200 THEN N=N+1:HC(N)=((TF-2200)/300)*N1:LR(N)=Z1:R(N)=M1:IL(N)=((TF-2200)/300)*I1:U(N)=1: GOTO 2510
2490 IF TF>2200 AND IT>=2200 THEN N=N+1:HC(N)=((TF-IT)/300)*N1:LR(N)=Z1:R(N)=M1:IL(N)=((TF-TI)/300)*I1:U(N)=1: GOTO 2830
2500 GOTO 2530
2510 IF IT<2000 THEN N=N+1:HC(N)=N2:LR(N)=Z2:R(N)=M2:IL(N)=I2:U(N)=1: GOTO 2560
2520 IF IT>=2000 THEN N=N+1:HC(N)=((2200-IT)/200)*N2:LR(N)=Z2:R(N)=M2:IL(N)=((2200-IT)/200)*I2:U(N)=1: GOTO 2830
2530 IF TF>2000 AND IT<2000 THEN N=N+1:HC(N)=((TF-2000)/200)*N2:LR(N)=Z2:R(N)=M2:IL(N)=((TF-2000)/200)*I2:U(N)=1: GOTO 2560
2540 IF TF>2000 AND IT>=2000 THEN N=N+1:HC(N)=((TF-IT)/200)*N2:LR(N)=Z2:R(N)=M2:IL(N)=((TF-IT)/200)*I2:U(N)=1: GOTO 2830
2550 GOTO 2580
2560 IF IT<1600 THEN N=N+1:HC(N)=N3:LR(N)=Z3:R(N)=M3:IL(N)=I3:U(N)=1: GOTO 2610
2570 IF IT>=1600 THEN N=N+1:HC(N)=((2000-IT)/400)*N3:LR(N)=Z3:R(N)=M3:IL(N)=((2000-IT)/400)*I3:U(N)=1: GOTO 2830
2580 IF TF>1600 AND IT<1600 THEN N=N+1:HC(N)=((TF-1600)/400)*N3:LR(N)=Z3:R(N)=M3:IL(N)=((TF-1600)/400)*I3:U(N)=1: GOTO 2610
2590 IF TF>1600 AND IT >=1600 THEN N=N+1:HC(N)=((TF-IT)/400)*N3:LR(N)=Z3:R(N)=M3:IL(N)=((TF-IT)/400)*I3:U(N)=1: GOTO 2830
2600 GOTO 2630
2610 IF IT <1350 THEN N=N+1:HC(N)=N4:LR(N)=Z4:R(N)=M4:IL(N)=I4:U(N)=1: GOTO 2660
2620 IF IT >=1350 THEN N=N+1:HC(N)=((1600-IT)/250)*N4:LR(N)=Z4:R(N)=M4:IL(N)=((1600-IT)/250)*I4:U(N)=1: GOTO 2830
2630 IF TF>1350 AND IT <1350 THEN N=N+1:HC(N)=((TF-1350)/250)*N4:LR(N)=Z4:R(N)=M4:IL(N)=((TF-1350)/250)*I4:U(N)=1: GOTO 2660
2640 IF TF >1350 AND IT >=1350 THEN N=N+1:HC(N)=((TF-IT)/250)*N4:LR(N)=Z4:R(N)=M4:IL(N)=((TF-IT)/250)*I4:U(N)=1: GOTO 2830
2650 GOTO 2680
2660 IF IT<1200 THEN N=N+1:HC(N)=N5:LR(N)=Z5:R(N)=M5:IL(N)=I5:GOSUB 3180:GOTO 2710
2670 IF IT>=1200 THEN N=N+1:HC(N)=((1350-IT)/150)*N5:LR(N)=Z5:R(N)=M5:IL(N)=((1350-IT)/150)*I5: GOSUB 3180: GOTO 2830
2680 IF TF>1200 AND IT<1200 THEN N=N+1:HC(N)=((TF-1200)/150)*N5:LR(N)=Z5:R(N)=M5:IL(N)=((TF-1200)/150)*I5: GOSUB 3180: GOTO 2710
2690 IF TF>1200 AND IT>=1200 THEN N=+1:HC(N)=((TF-IT)/150)*N5:LR(N)=Z5:R(N)=M5:IL(N)=((TF-IT)/150)*I5: GOSUB 3180: GOTO 2830
2700 GOTO 2730
2710 IF IT<800 THEN N=N+1:HC(N)=N6:LR(N)=Z6:R(N)=M6:IL(N)=I6: GOSUB 3180: GOTO 2760
2720 IF IT>=800 THEN N=N+1:HC(N)=((1200-IT)/400)*N6:LR(N)=Z6:R(N)=M6:IL(N)=((1200-IT)/400)*I6: GOSUB 3180: GOTO 2830
2730 IF TF>800 AND IT<800 THEN N=N+1:HC(N)=((TF-800)/400)*N6:LR(N)=Z6:R(N)=M6:IL(N)=((TF-800)/400)*I6: GOSUB 3180: GOTO 2760
2740 IF TF>800 AND IT>=800 THEN N=N+1:HC(N)=((TF-IT)/400)*N6:LR(N)=Z6:R(N)=M6:IL(N)=((TF-IT)/400)*I6: GOSUB 3180: GOTO 2830
2750 GOTO 2780
2760 IF IT<400 THEN N=N+1:HC(N)=N7:LR(N)=Z7:R(N)=M7:IL(N)=I7: GOSUB 3180: GOTO 2810
2770 IF IT>=400 THEN N=N+1HC(N)=((800-IT)/400)*N7:LR(N)=Z7:R(N)=M7:IL(N)=((800-IT)/400)*I7: GOSUB 3180: GOTO 2830
2780 IF TF>400 AND IT<400 THEN N=N+1:HC(N)=((TF-400)/400)*N7:LR(N)=Z7:R(N)=M7:IL(N)=((TF-400)/400)*I7: GOSUB 3180: GOTO 2810
2790 IF TF>400 AND IT>=400 THEN N=N+1:HC(N)=((TF-IT)/400)*N7:LR(N)=Z7:R(N)=M7:IL(N)=((TF-IT)/400)*I7: GOSUB 3180: GOTO 2830
2800 GOTO 2820
2810 N=N+1:HC(N)=((400-IT)/330)*N8:LR(N)=Z8:R(N)=M8:IL(N)=((400-IT)/330)*I8: GOSUB 3180: GOTO 2830
2820 N=N+1:HC(N)=((TF-IT)/330)*N8:LR(N)=Z8:R(N)=M8:IL(N)=((TF-IT)/330)*I8: GOSUB 3180: GOTO 2830
2830 FOR Q=1 TO N
2840 J1=J1+IL(Q)