Logicels pour FP-200 de 1983 en K7 - récuperés !

Ici, on fait dans le petit, le LCD qui déchire sa race, on y cause même calculatrices quand on est en manque !

Modérateur : Politburo

Répondre
Avatar de l’utilisateur
Marcus von Cube
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 914
Inscription : 20 avr. 2006 13:48
Localisation : Wehrheim, Allemagne
Contact :

Logicels pour FP-200 de 1983 en K7 - récuperés !

Message par Marcus von Cube » 19 févr. 2011 18:21

Ma dernière acquisition: http://cgi.ebay.fr/ws/eBayISAPI.dll?Vie ... 0768159010

Image

C'est une K7 pour l'ordinateur FP-200 : "Powerful Library". Je suis en train de récupérer les programmes en BASIC avec mes utilitaires. Je vais les poster de suite. Je ne peux pas tester tous les programmes parce-que il me manque le lecteur des disquettes pour mon FP-200.

La liste:

° Disassembler
° Plotter-printer Graphic Tool
° Inventory Control
° Customer Management
° Budget Control
° Business Analysis and Charting
° Regression Analysis
° Frequency Distribution Table (1/2)
° Simultaneous Equations of the First Degree
° Hexadecimal Calculation
° Hexadecimal Dump

(c) 1983 Gijyutsu Hyoronsha, Japon.
Dernière édition par Marcus von Cube le 20 févr. 2011 23:50, édité 2 fois.

Avatar de l’utilisateur
Woodstock
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1969
Inscription : 17 mai 2008 11:19
Localisation : Au fin fond du Santerre ...

Re: Logicels pour FP-200

Message par Woodstock » 19 févr. 2011 22:00

Belle trouvaille :D D'autant plus qu'à part un ou deux bancs d'essais et quelques publicités, rien n'a été publié en France sur le FP-200. J'ignore s'il en est de même en Allemagne, mais cet ordinateur n'a guère fait parler de lui à l'époque !
I'm the operator
Of my pocket calculator
I am adding
And substracting...
(Kraftwerk, Computer World, 1981)

Avatar de l’utilisateur
Marcus von Cube
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 914
Inscription : 20 avr. 2006 13:48
Localisation : Wehrheim, Allemagne
Contact :

Re: Logicels pour FP-200

Message par Marcus von Cube » 19 févr. 2011 22:29

A l'époque, j'ai le vue dans un magasin spécialisé aux matériel de bureau. Je me n'avais pas intéressé au FP-200 , l'affichage était trop petit à mon avis.

Avatar de l’utilisateur
Marcus von Cube
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 914
Inscription : 20 avr. 2006 13:48
Localisation : Wehrheim, Allemagne
Contact :

Re: Logicels pour FP-200

Message par Marcus von Cube » 20 févr. 2011 16:00

Une petite page sur la cassette: http://www.mvcsys.de/doc/fp200-library.html

Edit: Je devais adapter mon logiciel list850 pour le traitement des enregistrements sur cette cassette. Quelques programmes sont invalides (la numérotation hors l'ordre ascendante, des octets supplémentaires après la fin de programme). Vous trouverez ma site mis à jour.

Avatar de l’utilisateur
Marcus von Cube
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 914
Inscription : 20 avr. 2006 13:48
Localisation : Wehrheim, Allemagne
Contact :

Re: Logicels pour FP-200 de 1983 en K7 - récuperés !

Message par Marcus von Cube » 22 févr. 2011 14:48

Voilà la liste complète, généré par list850 -2 -w All.wav :

Code : Tout sélectionner

Program (FP-200): "D-ASM"

1 '********************************
2 '
3 '  Dis-assembler  8085  V.1
4 '
5 '      copyright 1983 A.Kakizono
6 '
7 '       1983/ 6/ 9
8 '
9 '********************************
100 '
110 CLEAR 1023
120 DIM N1$(63),N2$(7),N3$(63),REG$(7)
130 GOSUB 1000
140 '
150 CLS:PRINT "* Dis-assembler V.1*"
160 INPUT "Printer(Y/N) :",X$:IF X$="Y" OR X$="y" THEN PSW=1 ELSE PSW=0
200 '
210 INPUT "top addr(HEX):",Z$:GOSUB 600:TA=Z:IF ER=1 THEN 210
220 INPUT "end addr(HEX):",Z$:GOSUB 600:EA=Z:IF ER=1 THEN 220
230 IF TA>=EA THEN 200 ELSE A=TA:J=0
300 '
310 Z=A:L=4:GOSUB 700:AD$=Z$:M=PEEK(A):Z=M:L=2:GOSUB 700:MC$=Z$:OP$=""
320 IF M<=63 THEN NM$=N1$(M):GOTO 400
330 IF M=118 THEN NM$="HLT":GOTO 500
340 IF M>=64 AND M<=127 THEN NM$="MOV  ":OP$=REG$((M AND 56)/8)+","+REG$(M MOD 8):GOTO 500
350 IF M>=128 AND M<=191 THEN NM$=N2$((M AND 120)/8)+"  ":OP$=REG$(M MOD 8):GOTO 500
360 NM$=N3$(M-192)
400 '
410 IF NM$="" THEN NM$=".    ":OP$="'"+CHR$(M):GOTO 500
420 N$=LEFT$(NM$,1):IF N$<"2" OR N$>"3" THEN 500
430 NM$=MID$(NM$,2):IF RIGHT$(NM$,1)="/" THEN NM$=LEFT$(NM$,LEN(NM$)-1)+","
440 IF N$="2" THEN A=A+1:Z=PEEK(A):L=2:GOSUB 700:OP$=Z$+"h":MC$=MC$+" "+Z$:GOTO 500
450 Z=PEEK(A+1):L=2:GOSUB 700:Z1$=Z$:Z=PEEK(A+2):GOSUB 700:Z2$=Z$:OP$=Z2$+Z1$+"h":MC$=MC$+" "+Z1$+" "+Z2$:A=A+2
500 '
510 Z$=AD$+"  "+LEFT$(MC$+"        ",10)+NM$+OP$
520 IF PSW=0 THEN PRINT LEFT$(Z$,16):PRINT TAB(6);MID$(Z$,17) ELSE LPRINT Z$
530 IF (LEFT$(NM$,3)="JMP" OR LEFT$(NM$,3)="RET") AND PSW=1 THEN LPRINT: J=J+1
540 J=J+1:IF PSW=1 THEN 570
550 IF J<3 THEN 570 ELSE J=0
560 IF INKEY$="" THEN 560 ELSE CLS
570 A=A+1:IF A<=EA THEN 300
580 END
600 ' hex$(z$) to dec(z)
610 Z=0:Y=1:ER=0:FOR I=1 TO LEN(Z$):W=ASC(RIGHT$(Z$,I))-48
620 IF W<0 OR W>=10 AND W<=16 OR W>22 THEN ER=1:GOTO 660
630 IF W>16 THEN W=W-7
640 Z=Z+W*Y:Y=Y*16
650 NEXT I:Z$=RIGHT$("000"+Z$,4)
660 RETURN
700 '  dec(z) to hex$(z$)
710 Z$=""
720 Y=INT(Z/16):W=Z-Y*16:Z=Y:IF W>9 THEN W=W+7
730 Z$=CHR$(W+48)+Z$:IF Z<>0 THEN 720
740 Z$=RIGHT$("000"+Z$,L)
750 RETURN
1000 '
1010 RESTORE 1100:FOR I=0 TO 63:READ N1$(I):NEXT I
1020 FOR I=0 TO 7:READ N2$(I):NEXT I
1030 FOR I=0 TO 63:READ N3$(I):NEXT I
1040 FOR I=0 TO 7:READ REG$(I):NEXT I
1050 RETURN
1100 '
1110 DATA NOP,3LXI  B/,STAX,INX  B,INR  B,DCR  B,2MVI  B/,RLC,,DAD  B,LDAX B,DCX  B,INR  C,DCR  C,2MVI  C/,RRC
1120 DATA ,3LXI  D/,STAX D,INX  D,INR  D,DCR  D,2MVI  D/,RAL,,DAD  D,LDAX D,DCX  D,INR  E,DCR  E,2MVI  E/,RAR
1130 DATA RIM,3LXI  H/,"3SHLD ",INX  H,INR  H,DCR  H,2MVI  H/,DAA,,DAD  H,"3LHLD ",DCX  H,INR  L,DCR  L,2MVI  L/,CMA
1140 DATA SIM,3LXI  SP/,"3STA  ",INX  SP,INR  M,DCR  M,2MVI  M/,STC,,DAD  SP,"3LDA  ",DCX  SP,INR  A,DCR  A,2MVI  A/,CMC
1150 '
1160 DATA ADD,ADC,SUB,SBB,ANA,XRA,ORA,CMP
1170 '
1180 DATA RNZ,POP  B,"3JNZ  ","3JMP  ","3CNZ  ",PUSH B,"2ADI  ",RST  0,RZ,RET,"3JZ   ",,"3CZ   ","3CALL ","2ACI  ",RST 1
1190 DATA RNC,POP  D,"3JNC  ","2OUT  ","3CNC  ",PUSH D,"2SUI  ",RST  2,RC,,"3JC   ","2IN   ","3CC   ",,"2SBI  ",RST  3
1200 DATA RPO,POP  H,"3JPO  ",XTHL,"3CPO  ",PUSH H,"2ANI  ",RST  4,RPE,PCHL,"3JPE  ",XCHG,"3CPE  ",,"2XRI  ",RST  5
1210 DATA RP,POP  PSW,"3JP   ",DI,"3CP   ",PUSH PSW,"2ORI  ",RST  6,RM,SPKL,"3JM   ",EI,"3CM   ",,"2CPI  ",RST  7
1220 '
1230 DATA B,C,D,E,H,L,(HL),A


Program (FP-200): "P-GRAPH"

100 '
110 CLEAR 1024:OPTION BASE 1:DIM H(40),SE$(4)
120 GOSUB 2000
130 '
140 CLS:PRINT MI$:PRINT
150 PRINT "Graph is plotted    using data in CETL, create data in CETL   or hit key";
160 IF INKEY$="" THEN 160
200 '======== Select data
210 CLS:PRINT MI$
220 INPUT "Title of graph:",T$
230 INPUT "CETL file no. ",FO:IF FO<0 OR FO>9 THEN 220
240 INPUT "Number of record ",RO:IF RO<1 THEN 240
250 INPUT "Number of item",IO:IF IO<1 THEN 250
260 FOR I=1 TO IO:INPUT "Item name"+STR$(I)+"==>",IM$(I):NEXT I
300 '======== Select graph
310 CLS:PRINT MI$
320 FOR I=1 TO 4:PRINT I;"] ";SE$(I):NEXT I
330 PRINT " 5 ] data modify"
340 PRINT "select 1~5==>";
350 SE=VAL(INKEY$):IF SE=0 OR SE>5 THEN 350
360 IF SE=5 THEN 200
400 '======== Select records,item
410 CLS:PRINT "   ** ";SE$(SE);" **"
420 PRINT "Select record No.      and item no."
430 PRINT " 1 ] 1RECORD n-ITEM  2 ] 1ITEM n-RECORD":PRINT
440 PRINT "select 1 OR 2==>";
450 RI=VAL(INKEY$):IF RI=0 OR RI>2 THEN 450 ELSE PRINT RI
460 ON RI GOTO 470,490
470 INPUT "Record No.",RS:IF RS<0 OR RS>RO THEN 470
480 INPUT "Range of Item n,m  ",IS,IE:XS=IS:XE=IE:IF XS<2 OR XS>IO OR XS>XE THEN 480 ELSE 550
490 INPUT "Item No. ",IS:IF IS<2 OR IS>IO THEN 490
500 INPUT "Range of record",RS,RE:XS=RS:XE=RE:IF XS<0 OR XS>RO OR XS>=XE THEN 500
550 '======== Print out
560 CLS:PRINT "    ** ";SE$(SE);" **":PRINT: PRINT T$:PRINT "File NO. ";FO
570 PRINT "record NO.";RS;:IF RI=1 THEN PRINT ELSE PRINT "~";RE
580 PRINT "Item NO. ";IS;:IF RI=1 THEN PRINT "~";IE ELSE PRINT
590 ON SE GOTO 600,800,1000,1200
600 '======== PIE Chart
610 GOSUB 1600:ANGLE 0:GOSUB 1700
620 LPRINT "O50,-45":LPRINT "C0,0,40"
630 A=0:AI=90:J=0
640 FOR I=XS TO XE:R=H(I)*3.6:AB=A:A=A+R
650 C1=40:C2=90:C3=AB:GOSUB 700:X1=CX:Y1=CY:C2=90.4:C3=A:GOSUB 700:X2=CX:Y2=CY:C1=35:C2=90:C3=(A-AB)/2+AB:GOSUB 700:XM=CX:YM=CY
660 LPRINT "J";J MOD 4:LPRINT "D";X1;",";Y1;",0,0,";X2;",";Y2:LPRINT "C0,0,39,";90-A;",";AI
670 LPRINT "M";XM;",";YM:LPRINT "P";MID$(STR$(I),2)
680 AI=90-A:J=J+1
690 NEXT I:GOTO 1400
700 '
710 CX=ROUND(C1*COS(C2-C3),-3):CY=ROUND(C1*SIN(C2-C3),-3):RETURN
800 '========
810 GOSUB 1600:GOSUB 1700:LPRINT "O0,-10"
820 LPRINT "M0,1.2":LPRINT "P0":LPRINT "M85.2,1.2":LPRINT "P100%"
830 LPRINT "D0.8,0,90.8,0,90.8,-30,0.8,-30,0.8,0"
840 A=0:J=0:C=0.9
850 FOR I=XS TO XE:S0=1.2:S1=2.4:Z$=MID$(STR$(I),2):L=LEN(Z$)
860 X1=A*C+0.8:A=A+H(I):X2=A*C+0.6:IF X2-X1<L*S1 THEN SC=S0 ELSE SC=S1
870 XM=(X2-X1)/2-L/2*SC+X1:IF L MOD 2<>0 THEN XM=XM+SC/2
880 IF I=XE THEN X2=90.8
890 LPRINT "J";J MOD 4:LPRINT "D";X1;",-0.2,";X2;",-0.2,";X2;",-29.8,";X1;",-29.8,";X1;",-0.2"
900 LPRINT "M";XM;",-10":LPRINT "P";Z$
910 J=J+1
920 NEXT I:GOTO 1400
1000 '======== BAR Graph
1010 GOSUB 1700:GOSUB 1800:C=80/(XE-XS+1)
1020 FOR I=XS TO XE:IF RI=1 THEN Z$=IM$(I):K=FL(FO,RS,I) ELSE Z$=FL(FO,I,1):K=FL(FO,I,IS)
1030 X2=(I-XS+1)*C+10:X1=X2-C/2:Y=S*K-80:GOSUB 1950:XM=(X1+X2)/2:YM=-84
1040 LPRINT "J0":FOR L=1 TO LEN(Z$):LPRINT "M";XM;",";YM:LPRINT "P";MID$(Z$,L,1):YM=YM-3.6:NEXT L
1050 LPRINT "J1":LPRINT "D";X1;",-80,";X1;",";Y;",";X2;",";Y;",";X2;",-80"
1060 NEXT I:GOTO 1400
1200 '======== Jagged-LEN
1210 GOSUB 1700:GOSUB 1800:C=80/(XE-XS+1)
1220 LPRINT "L1":FOR I=XS TO XE:IF RI=1 THEN Z$=IM$(I) ELSE Z$=FL(FO,I,1)
1230 X=(I-XS+1)*C+10:LPRINT "D";X;",0,";X;",-80"
1240 Y=-84:FOR L=1 TO LEN(Z$):LPRINT "M";X;",";Y:LPRINT "P";MID$(Z$,L,1):Y=Y-3.2
1250 NEXT L,I:LPRINT "L0":LPRINT "J1"
1260 FOR I=XS TO XE:IF RI=1 THEN K=FL(FO,RS,I) ELSE K=FL(FO,I,IS)
1270 X=(I-XS+1)*C+10:Y=S*K-80:GOSUB 1950:IF I=XS THEN LPRINT "M";X;",";Y ELSE LPRINT "D,";X;",";Y
1280 LPRINT "N3"
1290 NEXT I
1400 '========
1410 LPRINT "H10":LPRINT "J0":LPRINT CHR$(28);CHR$(46)
1420 LPRINT CHR$(27);"S2":LPRINT T$:LPRINT CHR$(27);"S1"
1430 IF RI=1 THEN Z1$="ITEM":Z2$=IM$(1)+" "+FL(FO,RS,1) ELSE Z1$=IM$(1):Z2$=IM$(IS)
1440 Z2$=LEFT$(Z2$,10):LPRINT "  No. ";Z1$;TAB(27-LEN(Z2$));Z2$;:IF SE<3 THEN LPRINT " Percentage" ELSE LPRINT
1450 LPRINT ML$:J=0
1460 FOR I=XS TO XE:IF RI=1 THEN Z$=IM$(I):K=FL(FO,RS,I) ELSE Z$=FL(FO,I,1):K=FL(FO,I,IS)
1470 IF SE<3 THEN LPRINT CHR$(27);"J";J MOD 4
1480 LPRINT USING"##### ";I;:LPRINT CHR$(27);"J0":LPRINT USING"&        & ##,###,###";Z$;K;
1490 IF SE<3 THEN LPRINT USING" ####.##";H(I):J=J+1 ELSE LPRINT
1500 NEXT I:IF SE<3 THEN LPRINT ML$:LPRINT TAB(11);"Total";:LPRINT USING "##,###,###";SUM
1510 LPRINT CHR$(27);"F5"
1520 GOTO 300
1600 '======== Caliculate percentage
1610 SUM=0:FOR I=XS TO XE:IF RI=1 THEN K=FL(FO,RS,I) ELSE K=FL(FO,I,IS)
1620 SUM=SUM+K:NEXT I
1630 FOR I=XS TO XE:IF RI=1 THEN K=FL(FO,RS,I) ELSE K=FL(FO,I,IS)
1640 H(I)=K/SUM*100:NEXT I
1650 RETURN
1700 '======== Initialize PRINTER
1710 LPRINT CHR$(28);CHR$(37):LPRINT "Y0":LPRINT "Z2,6":LPRINT "Q0":LPRINT "B2":LPRINT "L0"
1720 LPRINT "S2":LPRINT "J0":LPRINT "P";T$:LPRINT "S1"
1730 RETURN
1800 '======== Frames for bar,jaggied
1810 LPRINT "O0,-10":LPRINT "D10,0,10,-80,90,-80"
1820 MAX=-1E99:MIN=1E99
1830 FOR I=XS TO XE:IF RI=1 THEN K=FL(FO,RS,I) ELSE K=FL(FO,I,IS)
1840 IF MAX<K THEN MAX=K
1850 IF MIN>K THEN MIN=K
1860 NEXT I:IF MIN>0 THEN MIN=0
1870 S=80/(MAX-MIN):Z$=STR$(MAX):IF LEN(Z$)>4 THEN LPRINT "S0":SC=1.2 ELSE SC=2.4
1880 FOR I=MAX TO MIN STEP -(MAX-MIN)/10:Z$=STR$(I):X=9-SC*LEN(Z$):IF X<0 THEN X=0:Z$=LEFT$(Z$,10/SC)
1890 Y=S*(I-MIN)-80:GOSUB 1950
1900 LPRINT "M";X;",";Y:LPRINT "P";Z$:IF I=MIN THEN 1910 ELSE LPRINT "L1":LPRINT "D10,";Y;",90,";Y:LPRINT "L0"
1910 NEXT I:LPRINT "S1"
1920 RETURN
1950 '
1960 IF ABS(Y)<0.1 THEN Y=0
1970 RETURN
2000 '======== Setting valiables
2010 ML$="":FOR I=1 TO 40:ML$=ML$+"-":NEXT I:MI$="    ** graph  **":SE$(1)="Pie graph"
2020 RESTORE 2030:FOR I=2 TO 4:READ SE$(I):NEXT I:RETURN
2030 DATA Band graph,Bar graph,Jagged graph


Program (FP-200): "INV-CTRL"

10 CLEAR 3000:CLS:PRINT "*INVENTORY CONTROL*"
20 INPUT "DISK INSERTED CORRECTLY? [Y/N]";A$:IF A$="N" THEN END
30 INPUT "NEW FILE [Y/N]";Y$
40 IF Y$="N" THEN 110
50 FILES: INPUT "FILE NAME ";N$
60 OPEN N$ FOR OUTPUT AS #1
70 FOR A=1 TO 10
80 PRINT #1,"*":NEXT
90 CLOSE:GOTO 120
110 FILES: INPUT "[FILE NAME]";N$
120 OPEN N$ FOR INPUT AS #1
130 DIM D$(50,12)
140 RESTORE 150:FOR I=0 TO 12:READ D$(0,I):NEXT
150 DATA Product name,Classification,Memo,Purchase price,Selling price A,Selling price B,Quantity purchased,Quantity sold,Quantity on hand,Value of goods on hand,Sales amount,Profit,Remarks
160 A=1
170 FOR I=0 TO 12:IF EOF(1)=-1 THEN CLOSE:GOTO 200
180 INPUT #1,D$(A,I)
190 NEXT: A=A+1:GOTO 170
200 A=A-1:PRINT "Number of data";A:FOR I=0 TO 300:NEXT
210 CLS:PRINT "MENU"
220 PRINT "1) DATA ALL PRINT"
230 PRINT "2) TOTAL PRINT"
240 PRINT "3) DATA EDIT "
250 PRINT "4) DATA ADD"
260 PRINT "5) DATA KILL"
270 PRINT "6) DATA SAVE"
280 PRINT "7) E N D"
290 INPUT "Selection";B$:B=VAL(B$):IF B<1 OR B>7 THEN 210
300 ON B GOTO 320,400,460,580,680,760,800
310 GOTO 290
320 CLS:PRINT "DATA ALL PRINT "
330 FOR I=1 TO A:PRINT USING "---- <<No-##>> ----";I
340 FOR J=0 TO 12
350 PRINT "[";D$(0,J);"]"
360 PRINT "  ";D$(I,J)
370 A$=INKEY$
380 IF A$="" THEN 370 ELSE IF A$="E" OR A$="e" THEN 210
390 NEXT :NEXT: GOTO 210
400 CLS:PRINT "TOTAL PRINT":PRINT "-------------------"
410 FOR I=3 TO 11:S#=0:FOR J=1 TO A:S#=S#+VAL(D$(J,I)):NEXT
420 PRINT "[";D$(0,I);"]":PRINT S#
430 IF INKEY$="" THEN 430
440 NEXT
450 GOTO 210
460 CLS:PRINT "DATA EDIT"
470 X=1:Y=0
480 A$=INKEY$:IF A$="" THEN 480
490 IF A$="N" OR A$="n" THEN 210
500 IF A$=CHR$(30) THEN X=X-1:IF X<1 THEN X=A
510 IF A$=CHR$(31) THEN X=X+1:IF X>A THEN X=1
520 IF A$=CHR$(29) THEN Y=Y-1:IF Y<0 THEN Y=12
530 IF A$=CHR$(28) THEN Y=Y+1:IF Y>12 THEN Y=0
540 IF A$="E" OR A$="e" THEN GOSUB 570:PRINT D$(X,Y):INPUT "NEW DATA ";D$(X,Y)
550 GOSUB 570:PRINT D$(X,Y)
560 GOTO 480
570 CLS:PRINT "No.";X:PRINT "[";D$(0,Y);"]":PRINT "-------------------":F=1:GOSUB 600:RETURN
580 CLS:PRINT "DATA ADD "
590 A=A+1:PRINT USING "---- <<No-##>> ----";A:FOR I=0 TO 7:PRINT "[";D$(0,I);"]":INPUT "  ";D$(A,I):NEXT: F=0:GOSUB 600:GOTO 630
600 IF F=0 THEN Z=A ELSE Z=X
610 C#=VAL(D$(Z,6))-VAL(D$(Z,7)):D$(Z,8)=STR$(C#):C#=(VAL(D$(Z,6))-VAL(D$(Z,7)))*VAL(D$(Z,3)):D$(Z,9)=STR$(C#)
620 C#=VAL(D$(Z,4))*VAL(D$(Z,7)):D$(Z,10)=STR$(C#):C#=VAL(D$(Z,10))-VAL(D$(Z,3))*VAL(D$(Z,7)):D$(Z,11)=STR$(C#):RETURN
630 FOR I=8 TO 11:PRINT "[";D$(0,I);"]":PRINT "  ";D$(A,I):FOR W=1 TO 200:NEXT: NEXT
640 PRINT "[";D$(0,12);"]":INPUT "  ";D$(A,12)
650 INPUT "OK ?[Y/N] / END[E]",Y$
660 IF Y$="E" OR Y$="e" THEN 210 ELSE IF Y$<>"N" THEN 590
670 A=A-1:GOTO 590
680 CLS:PRINT "DATA KILL":PRINT "-------------------"
690 PRINT "DATA ";A;"Aitems"
700 INPUT "Which data";U
710 IF U<1 OR U>A THEN 210 ELSE FOR I=0 TO 3:PRINT "  ";D$(U,I):NEXT: PRINT "OK? [Y/N]";
720 Y$=INKEY$:IF Y$="" THEN 720
730 IF Y$<>"Y" THEN 210
740 A=A-1:FOR I=U TO A
750 FOR J=0 TO 12:D$(I,J)=D$(I+1,J):NEXT: NEXT: GOTO 210
760 CLS:PRINT "DATA SAVE ":FOR T=0 TO 300:NEXT
770 FILES: INPUT "[FILE NAME]",F$:OPEN F$ FOR OUTPUT AS #1
780 FOR I=1 TO A
790 FOR J=0 TO 12:PRINT #1,D$(I,J):NEXT: NEXT: CLOSE:GOTO 210
800 END


Program (FP-200): "CUSTOMER"

10 CLEAR: CLS:PRINT "*** CUSTOMER             MANAGEMENT ***":PRINT
20 INPUT "DISK INSERTED CORRECTLY? [Y/N]",A$:IF A$="N" THEN END
30 INPUT "NEW FILE [Y/N]";Y$
40 IF Y$="N" THEN 100
50 FILES: INPUT "FILE NAME ";N$
60 OPEN N$ FOR OUTPUT AS #1
70 FOR A=1 TO 10
80 PRINT #1,"*":NEXT
90 CLOSE:GOTO 110
100 FILES: INPUT "[FILE NAME]",N$
110 OPEN N$ FOR INPUT AS #1
120 DIM D$(50,8)
130 FOR I=0 TO 5:READ D$(0,I):NEXT
140 DATA Name,Postal cord,Address,Telephone No,Birthday,ID No
150 A=1:FOR I=6 TO 8:INPUT #1,D$(0,I):NEXT
160 FOR I=0 TO 8:IF EOF(1)=-1 THEN CLOSE :GOTO 190
170 INPUT #1,D$(A,I)
180 NEXT: A=A+1:GOTO 160
190 A=A-1:PRINT "Number of data";A:FOR I=0 TO 300:NEXT
200 CLS:PRINT "MENU 1"
210 PRINT "1) PRINT ALL DATA"
220 PRINT "2) SORT DATA"
230 PRINT "3) EDIT DATA"
240 PRINT "4) ADD  DATA"
250 PRINT "5) KILL DATA"
260 PRINT "6) SAVE DATA"
270 PRINT "7) MENU 2";
280 INPUT B$:B=VAL(B$):IF B<1 OR B>7 THEN 200
290 ON B GOTO 300,370,430,550,610,700,740
300 CLS:PRINT "DATA ALL PRINT "
310 FOR I=1 TO A:PRINT USING "---- <<No-##>> ----";I
320 FOR J=0 TO 8
330 PRINT "[";D$(0,J);"]":PRINT "  ";D$(I,J)
340 A$=INKEY$
350 IF A$="" THEN 340 ELSE IF A$="E" OR A$="e" THEN 200
360 NEXT: NEXT: GOTO 200
370 CLS:PRINT "DATA SORT"
380 INPUT "ITEM NO.(1-9)";O:O=O-1:IF O<0 OR O>8 THEN 380
390 FOR I=1 TO A-1:FOR J=I+1 TO A
400 IF D$(I,O)>D$(J,O) THEN FOR K=0 TO 8:A$=D$(I,K):D$(I,K)=D$(J,K):D$(J,K)=A$:NEXT
410 NEXT: NEXT
420 GOTO 200
430 CLS:PRINT "DATA EDIT"
440 X=1:Y=0
450 A$=INKEY$:IF A$="" THEN 450
460 IF A$="N" OR A$="n" THEN 200
470 IF A$=CHR$(30) THEN X=X-1:IF X<1 THEN X=A
480 IF A$=CHR$(31) THEN X=X+1:IF X>A THEN X=1
490 IF A$=CHR$(29) THEN Y=Y-1:IF Y<0 THEN Y=8
500 IF A$=CHR$(28) THEN Y=Y+1:IF Y>8 THEN Y=0
510 IF A$="E" OR A$="e" THEN GOSUB 540:PRINT D$(X,Y):INPUT "NEW DATA ";D$(X,Y)
520 GOSUB 540:PRINT D$(X,Y)
530 GOTO 450
540 CLS:PRINT "No.";X;"[";D$(0,Y);"]":PRINT "-------------------":RETURN
550 CLS:PRINT "ADD DATA"
560 A=A+1:PRINT USING "---- <<No-##>> ----";A
570 FOR I=0 TO 8:PRINT "[";D$(0,I);"]":INPUT "  ";D$(A,I):NEXT
580 INPUT "OK ?[Y/N] / END[E]",Y$
590 IF Y$="E" OR Y$="e" THEN 200 ELSE IF Y$<>"N" THEN 560
600 A=A-1:GOTO 560
610 CLS:PRINT "DATA KILL":PRINT "-------------------"
620 PRINT "Number of data";A
630 INPUT "Which data";U
640 IF U<1 OR U>A THEN 200 ELSE FOR I=0 TO 3:PRINT "  ";D$(U,I):NEXT: PRINT "OK ? [Y/N]";
650 Y$=INKEY$:IF Y$="" THEN 650
660 IF Y$<>"Y" THEN 200
670 A=A-1
680 FOR I=U TO A
690 FOR J=O TO 8:D$(I,J)=D$(I+1,J):NEXT: NEXT: GOTO 200
700 CLS:PRINT "DATA SAVE ":FOR T=0 TO 200:NEXT
710 FILES: INPUT "[FILE NAME]",F$:OPEN F$ FOR OUTPUT AS #1:FOR I=6 TO 8:PRINT #1,D$(0,I):NEXT
720 FOR I=1 TO A
730 FOR J=0 TO 8:PRINT #1,D$(I,J):NEXT: NEXT: CLOSE:GOTO 200
740 CLS:PRINT "MENU 2"
750 PRINT "1) Retrieve name"
760 PRINT "2) Tabulate"
770 PRINT "3) Print address"
780 PRINT "4) Enter new item"
790 PRINT "5) MENU 1"
800 PRINT "6) END"
810 INPUT "Select";B$:B=VAL(B$):IF B<1 OR B>6 THEN 740
820 ON B GOTO 830,900,940,1060,200,1110
830 CLS:PRINT "Retrieve name":PRINT "-------------------":INPUT "[NAME]",F$
840 FOR I=1 TO A:IF LEFT$(D$(I,0),LEN(F$))=F$ THEN FOR J=0 TO 4:PRINT "  ";D$(I,J):NEXT: INPUT "OK";B$:IF B$="N" THEN 850 ELSE O=I:GOTO 870
850 NEXT
860 PRINT "Data not found":INPUT "  [PUSH RETKEY]",A$:GOTO 740
870 CLS:FOR I=0 TO 8:PRINT "[";D$(0,I);"]":PRINT "  ";D$(O,I)
880 IF INKEY$="" THEN 880 ELSE NEXT
890 GOTO 740
900 CLS:PRINT "Tabulate":PRINT: INPUT "PRINTER SET [Y/N]",A$:IF A$="N" OR A$="n" THEN 740
910 PRINT "Being printed":FOR I=0 TO A:IF I<>0 THEN LPRINT: LPRINT"<No.";I;">"
920 FOR J=0 TO 8
930 LPRINT USING"&             & ";D$(I,J);:NEXT: LPRINT: NEXT: GOTO 740
940 CLS:PRINT "Print address"
950 PRINT: PRINT "  All print    (A)":PRINT "  Select print (T)":PRINT "  Cancel       (N)"
960 I$=INKEY$:IF I$="" THEN 960 ELSE IF I$="N" THEN 740
970 IF I$="A" THEN 1000 ELSE IF I$="T" THEN INPUT "Which name";I ELSE 740
980 IF I<1 OR I>A THEN 740
990 GOSUB 1010 :GOTO 740
1000 FOR I=1 TO A:GOSUB 1010:NEXT: GOTO 740
1010 LPRINT TAB(5);D$(I,1)
1020 LPRINT TAB(2);D$(I,2)
1030 LPRINT TAB(5);D$(I,0)
1040 LPRINT TAB(9);"TEL ";D$(I,3)
1050 LPRINT: LPRINT: RETURN
1060 CLS:PRINT "Catalog items"
1070 LOCATE 0,1:FOR I=6 TO 8:PRINT I;D$(0,I):NEXT
1080 INPUT "NO.";I$:IF I$="6" OR I$="7" OR I$="8" THEN I=VAL(I$) ELSE 740
1090 INPUT "NAME ";D$(0,I)
1100 GOTO 740
1110 END


Program (FP-200): "BUDGET"

10 CLEAR: CLS
20 INPUT "DISK INSERTED CORRECTLY? [Y/N]";A$:IF A$="N" THEN END
30 INPUT "NEW FILE [Y/N]";A$:IF A$="N" THEN 110
40 FILES: INPUT "FILE NAME ";N$
50 OPEN N$ FOR OUTPUT AS #1
60 FOR A=1 TO 10
70 PRINT #1,"*":NEXT
80 CLOSE
90 ' Budget control
100 '
110 FIELD#1,3 AS A1$,13 AS B1$,8 AS C1$,8 AS D1$,1 AS E1$
120 FIELD#2,3 AS F1$,1 AS G1$,8 AS H1$,8 AS I1$,8 AS J1$,8 AS K1$
130 GOTO 750
140 '
150 CLS:GOSUB 1620
160 OPEN "MAIN" AS #1
170 ME=LOF(1)
180 OPEN "DATA" AS #2
190 DE=LOF(2)
200 GOSUB 1640
210 P=1
220 GET #1,P
230 IF E1$="*" THEN P=P+1:IF P<ME THEN 220 ELSE 750
240 GOSUB 510:LOCATE 0,7:PRINT " Move[CSR] Menu[E]";
250 Q=1
260 GET #2,Q
270 IF VAL(F1$)<>VAL(A1$) OR G1$="*" THEN Q=Q+1:IF Q<DE THEN 260 ELSE 750
280 GOSUB 560
290 GOSUB 1610
300 Z$=INKEY$:IF Z$="" THEN 300
310 IF Z$="E" THEN CLOSE :GOTO 750
320 GOSUB 1620
330 IF Z$=CHR$(28) THEN P=P+1:T=0:GOTO 380
340 IF Z$=CHR$(29) THEN P=P-1:T=1:GOTO 430
350 IF Z$=CHR$(30) THEN Q=Q-1:GOTO 450
360 IF Z$=CHR$(31) THEN Q=Q+1:GOTO 480
370 GOTO 290
380 IF P>ME THEN P=1
390 GET #1,P
400 IF E1$="*" AND T=0 THEN P=P+1:GOTO 380
410 IF E1$="*" AND T=1 THEN P=P-1:GOTO 430
420 GOSUB 530:Q=1:GOTO 490
430 IF P<1 THEN P=ME
440 GOTO 390
450 IF Q<1 THEN Q=DE
460 GET #2,Q:IF VAL(F1$)<>VAL(A1$) OR G1$="*" THEN Q=Q-1:GOTO 450
470 GOSUB 560:GOTO 290
480 IF Q>DE THEN Q=1
490 GET #2,Q:IF VAL(F1$)<>VAL(A1$) OR G1$="*" THEN Q=Q+1:GOTO 480
500 GOTO 470
510 '
520 CLS
530 LOCATE 0,0:PRINT "Title";TAB(7);B1$
540 LOCATE 0,1:PRINT "Budget";TAB(11);" ";C1$;
550 RETURN
560 LOCATE 0,3:PRINT "Date";TAB(12);H1$
570 LOCATE 0,4:PRINT "Amt.of B.A";TAB(11);" ";I1$
580 LOCATE 0,5:PRINT "Balance";TAB(11);" ";J1$
590 LOCATE 0,6:PRINT "Rate of B.E";TAB(12);K1$;
600 RETURN
610 '
620 OPEN "MAIN" AS #1
630 ME=LOF(1):P=ME+1:IF P<1 THEN P=1
640 A$=STR$(P)
650 INPUT "Account title";B$
660 INPUT "Budget";C$
670 D$=C$
680 E$=" "
690 GOSUB 1550
700 PUT #1,P
710 P=P+1
720 Z$=INKEY$:IF Z$="" THEN 720
730 IF Z$="E" THEN CLOSE #1:END
740 GOTO 640
750 CLS:CLOSE:PRINT "** Budget control **";
760 PRINT
770 PRINT TAB(2);"[1] Store"
780 PRINT TAB(2);"[2] Display"
790 PRINT TAB(2);"[3] Delete"
800 PRINT TAB(2);"[4] Print"
810 PRINT TAB(2);"[5] End"
820 Z$=INKEY$:IF Z$="" THEN 820
830 Z=VAL(Z$):IF Z<1 OR Z>5 THEN 820
840 ON Z GOTO 860,140,2030,1690,850
850 CLS:END
860 '
870 CLS:PRINT "  *** STORING ***"
880 PRINT
890 PRINT "[1]Account title"
900 PRINT "[2]Budget execution"
910 PRINT "[3]Menu"
920 Z$=INKEY$:IF Z$="" THEN 920
930 Z=VAL(Z$):IF Z<1 OR Z>5 THEN 920
940 ON Z GOTO 950,1110,750
950 CLS
960 GOSUB 1620
970 OPEN "MAIN" AS #1
980 ME=LOF(1):P=ME+1:IF P<1 THEN P=1
990 A$=STR$(P)
1000 CLS:PRINT "  --- STORING ---"
1010 INPUT "[Account title]          ";B$
1020 PRINT "[Budget]";TAB(10);:INPUT C$
1030 D$=C$
1040 LOCATE 1,7:PRINT "**** OK?[Y/N] ****";
1050 Z$=INKEY$:IF Z$="" THEN 1050
1060 IF Z$="N" THEN CLS:GOTO 1000
1070 GOSUB 1630
1080 GOSUB 1550
1090 PUT #1,P
1100 GOTO 1300
1110 CLS
1120 GOSUB 1620
1130 OPEN "MAIN" AS #1
1140 ME=LOF(1):IF ME<1 THEN 1670
1150 CLS
1160 LOCATE 0,3
1170 PRINT "Select                  title [<-]-[->]":PRINT
1180 PRINT "Renewal file [Y]"
1190 PRINT "Cancel       [N]";
1200 P=1:GOTO 1250
1210 GOSUB 1610
1220 S=0:GOSUB 1470
1230 IF P<1 THEN P=ME
1240 IF P>ME THEN P=1
1250 GET #1,P
1260 IF E1$="*" AND T=0 THEN P=P+1:GOTO 1230
1270 IF E1$="*" AND T=1 THEN P=P-1:GOTO 1230
1280 GOSUB 530
1290 GOTO 1210
1300 OPEN "DATA" AS #2
1310 DE=LOF(2):Q=DE+1
1320 F$=A1$
1330 G$=" "
1340 LOCATE 0,4:PRINT "[Date]"TAB(10);:INPUT H$
1350 PRINT "[Amount of budget         appropriation]";TAB(10);:INPUT I$
1360 J#=(VAL(D1$)-VAL(I$)):J$=STR$(J#)
1370 PRINT "[Blance]";TAB(10);J$
1380 K$=LEFT$(STR$(ROUND(VAL(I$)/VAL(C1$),-6)*100),7)+"%"
1390 PRINT "[Rate of               budget execution]";TAB(10);K$
1400 PRINT " **** OK?[Y/N] ****";
1410 Z$=INKEY$:IF Z$="" THEN 1410
1420 GOSUB 1630
1430 IF Z$="N" THEN GOSUB 520:GOTO 1320
1440 RSET D1$=J$:PUT #1,P
1450 GOSUB 1950:PUT #2,Q
1460 CLOSE :GOTO 860
1470 Z$=INKEY$:IF Z$="" THEN 1470
1480 GOSUB 1620
1490 IF Z$="Y" AND S=0 THEN GOSUB 520:GOTO 1300
1500 IF Z$="Y" AND S=1 THEN 2300
1510 IF Z$="N" THEN 750
1520 IF Z$=CHR$(28) THEN P=P+1:T=0:IF P>ME THEN P=1
1530 IF Z$=CHR$(29) THEN P=P-1:T=1:IF P<1 THEN P=ME
1540 RETURN
1550 RSET A1$=A$
1560 RSET B1$=B$
1570 RSET C1$=C$
1580 RSET D1$=D$
1590 RSET E1$=E$
1600 RETURN
1610 LOCATE 0,2:PRINT "====================":RETURN
1620 LOCATE 6,2:PRINT "reading":RETURN
1630 LOCATE 0,7:PRINT "                   ";:RETURN
1640 IF ME=>1 OR DE=>1 THEN RETURN
1650 CLS:LOCATE 4,2:PRINT "File not stored"
1660 FOR Z=0 TO 300:NEXT Z:GOTO 750
1670 CLS:LOCATE 5,2:PRINT "Title not stored"
1680 FOR Z=0 TO 300:NEXT Z:CLOSE:GOTO 860
1690 '
1700 CLS:GOSUB 1620
1710 OPEN "MAIN" AS #1
1720 OPEN "DATA" AS #2
1730 ME=LOF(1):DE=LOF(2)
1740 GOSUB 1640
1750 LOCATE 4,2:PRINT "now printing"
1760 FOR P=1 TO ME
1770 I=0:K=0
1780 GET #1,P:IF E1$="*" THEN 1930
1790 LPRINT "[Account title] ";B1$;TAB(33);"[Budget] ";
1800 LPRINT USING " ##,###,###";VAL(C1$)
1810 LPRINT: LPRINT " [Date]";TAB(11);"[Amount of B.A.]";
1820 LPRINT TAB(30);"[Balance]";TAB(41);"[Rate of BE]"
1830 FOR Q=1 TO DE
1840 GET #2,Q
1850 IF VAL(F1$)<>VAL(A1$) OR G1$="*" THEN 1890
1860 LPRINT H1$;TAB(13);:LPRINT USING " ##,###,###";VAL(I1$);
1870 LPRINT USING "      ##,###,###     ###.###%";VAL(J1$),VAL(LEFT$(K1$,7))
1880 I=I+VAL(I1$):K=K+VAL(LEFT$(K1$,7))
1890 NEXT Q
1900 FOR Z=0 TO 51:LPRINT "-";:NEXT Z:LPRINT "-"
1910 LPRINT USING "Total         ##,###,###      ##,###,###     ###.###%";I,VAL(D1$),K
1920 LPRINT: LPRINT: LPRINT
1930 NEXT P
1940 GOTO 750
1950 '
1960 RSET F1$=F$
1970 RSET G1$=G$
1980 RSET H1$=H$
1990 RSET I1$=I$
2000 RSET J1$=J$
2010 RSET K1$=K$
2020 RETURN
2030 '
2040 CLS:PRINT "  ***  Delete  ***"
2050 PRINT
2060 PRINT TAB(2);"[1] Delete title"
2070 PRINT
2080 PRINT TAB(2);"[2] Menu"
2090 Z$=INKEY$:IF Z$="" THEN 2090
2100 Z=VAL(Z$):IF Z<1 OR Z>2 THEN 2090
2110 ON Z GOTO 2120,750
2120 CLS
2130 GOSUB 1620
2140 OPEN "MAIN" AS #1
2150 ME=LOF(1):IF ME<1 THEN 1650
2160 CLS:LOCATE 0,3
2170 PRINT "Select                  title [<-]-[->]":PRINT
2180 PRINT "Delete title [Y]"
2190 PRINT "Cancel       [N]";
2200 P=1:GOTO 2250
2210 GOSUB 1610
2220 S=1:GOSUB 1470
2230 IF P<1 THEN P=ME
2240 IF P>ME THEN P=1
2250 GET #1,P
2260 IF E1$="*" AND T=0 THEN P=P+1:GOTO 2230
2270 IF E1$="*" AND T=1 THEN P=P-1:GOTO 2230
2280 GOSUB 530
2290 GOTO 2210
2300 RSET E1$="*":PUT #1,P:CLOSE #1:GOTO 2030


Program (FP-200): "B-ANL"

100 '
110 CLEAR 1024:OPTION BASE 1:I=12:J=13:K=5
120 DIM CN$(K),F(3,K),FI(2,K),J$(I),JS(I,K),MAX(J),S$(J),SS(J,K)
130 GOSUB 1040
140 '
150 CLS:PRINT T$:PRINT "  Indicators can be read from or written to CETL.":PRINT "    hit any key";
160 IF INKEY$="" THEN 160
170 '========== Specify chart
180 CLS:PRINT T$:PRINT "Up to five charts can be plotted. Specify number of charts,chart name,and input method."
190 INPUT "Number of chart :",CH:IF CH<1 OR CH>5 THEN 190
200 FOR I=1 TO CH:PRINT: PRINT"Chart No.";I
210 INPUT "Chart name:",CN$(I)
220 PRINT "Performance figures =J":PRINT "Indicator":PRINT "=S"
230 INPUT " Select (J or S):",Z$:IF Z$="J" THEN F(1,I)=1 ELSE IF Z$="S" THEN F(1,I)=0 ELSE 230
240 IF F(1,I)=1 THEN INPUT " Store to CETL ?:",Z$:IF Z$="Y" THEN F(2,I)=1 ELSE IF Z$="N" THEN F(2,I)=0 ELSE 240
250 IF F(1,I)=0 THEN PRINT "Input data":INPUT "CETL=C or KEY=K :",Z$:IF Z$="C" THEN F(2,I)=1 ELSE IF Z$="K" THEN F(2,I)=0 ELSE 250
260 IF F(2,I)=1 THEN INPUT "CETL file No.0~9:",Z1:INPUT"     Item No.2~6:",Z2:IF Z1<0 OR Z1>9 OR Z2<2 OR Z2>6 THEN 260 ELSE FI(1,I)=Z1:FI(2,I)=Z2
270 NEXT I
280 '========== Input performance,indicator
290 FOR I=1 TO CH:CLS:PRINT CN$(I)
300 IF F(1,I)=0 THEN Z=13 ELSE Z=12
310 FOR J=1 TO Z
320 IF F(1,I)=1 THEN PRINT J$(J):INPUT "-->",JS(J,I):GOTO 340
330 PRINT USING U1$;S$(J);:PRINT "-->";:IF F(2,I)=1 THEN SS(J,I)=FL(FI(1,I),J,FI(2,I)):PRINT SS(J,I) ELSE INPUT "",SS(J,I)
340 NEXT J,I
350 '========== Correct performance
360 FOR I=1 TO CH:IF F(1,I)=1 THEN 370 ELSE NEXT I:GOTO 420
370 CLS:PRINT T$:PRINT "Only performance data can be corrected."
380 INPUT "Correct(Y/N):",Z$:IF Z$="N" THEN 420 ELSE IF Z$<>"Y" THEN 380
390 INPUT "Chart No. ",Z:IF Z<1 OR Z>CH THEN 390 ELSE IF F(1,Z)=0 THEN 390 ELSE PRINT CN$(Z)
400 PRINT: INPUT "Performance No.",Z1:IF Z1<1 OR Z1>12 THEN 400
410 PRINT J$(Z1):PRINT "  ";JS(Z1,Z);:INPUT "-->",JS(Z1,Z):PRINT: GOTO 380
420 '========== Calculation of indicators
430 CLS:PRINT T$:PRINT "Being computed."
440 FOR I=1 TO CH:IF F(1,I)=0 THEN 450 ELSE GOSUB 860
450 NEXT I
460 FOR I=1 TO 13:MAX=-1E99
470 FOR J=1 TO CH
480 IF MAX<SS(I,J) THEN MAX=SS(I,J)
490 NEXT J:MAX(I)=MAX
500 NEXT I:PRINT " Printing out now !"
510 '========== Chart
520 LPRINT CHR$(28);CHR$(37):LPRINT "Y0":LPRINT "Z2,6":LPRINT "Q0":LPRINT "B3.6":LPRINT "L0":LPRINT "J0"
530 LPRINT "S2":LPRINT "PCHART FOR BUSINESS ANALYSIS":LPRINT "S1"
540 LPRINT "O50,-45":LPRINT "C0,0,30":ANGLE 0
550 FOR I=1 TO 13:R=360/13*I-20:C1=30:C2=R:GOSUB 1020:X=CX:Y=CY:C1=33:GOSUB 1020:XM=CX-1:YM=CY-1:Z$=MID$(STR$(I),2)
560 IF I>7 THEN XM=XM-1
570 LPRINT "D0,0,";X;",";Y:LPRINT "M";XM;",";YM:LPRINT "P";Z$
580 FOR J=27 TO 3 STEP -3:C1=J:C2=R-2:GOSUB 1020:X1=CX:Y1=CY:C2=R+2:GOSUB 1020:X2=CX:Y2=CY
590 LPRINT "D";X1;",";Y1;",";X2;",";Y2
600 NEXT J,I:LPRINT "S1"
610 '
620 FOR I=1 TO CH:LPRINT "L";I MOD 3:LPRINT "J";I MOD 4
630 FOR Z=1 TO 14:K=Z:IF K=14 THEN K=1
640 SC=24/MAX(K):C1=SS(K,I)*SC+3:C2=360/13*K-20:GOSUB 1020:X=CX:Y=CY
650 IF Z=1 THEN LPRINT "M";X;",";Y ELSE LPRINT "D,";X;",";Y
660 LPRINT "N";I+2:NEXT Z,I:LPRINT "H10":LPRINT "S1"
670 FOR I=1 TO CH:LPRINT "L";I MOD 3:LPRINT "J";I MOD 4
680 Z=-I*4.8+1:LPRINT "D0,";Z;",10,";Z:LPRINT "N";I+2:LPRINT "D,20,";Z:LPRINT "R5,-1":LPRINT "P";CN$(I)
690 NEXT I:LPRINT CHR$(28);CHR$(46):LPRINT E$;"S0":LPRINT E$;"J0":FOR J=1 TO 13:LPRINT USING "## ";J;:LPRINT S$(J):NEXT J
700 LPRINT E$;"F5"
710 '========== Table
720 IF CH<3 THEN S=1:T0$=TS$ ELSE S=0:T0$=TS$+TS$
730 LPRINT CHR$(28);CHR$(46):LPRINT E$;"S2":LPRINT "Indicators":LPRINT E$;"S";S
740 FOR L=1 TO 2:IF L=1 THEN Z$="Indicator name" ELSE Z$="Item name     "
750 LPRINT "No.";Z$;:LPRINT TAB(25-7*S);:FOR I=1 TO CH:LPRINT USING U1$;CN$(I);:NEXT I:LPRINT
760 LPRINT T0$:IF L=1 THEN Z1=13 ELSE Z1=12
770 IF S=0 THEN LPRINT
780 FOR I=1 TO Z1:IF L=1 THEN Z$=S$(I) ELSE Z$=J$(I)
790 IF L=1 THEN N=2 ELSE N=1
800 LPRINT USING "### ";I:LPRINT E$;"F-1":LPRINT E$;"S0":LPRINT E$;"F-1":FOR V=0 TO N:Q$=MID$(Z$,20*V+1,20)
810 LPRINT TAB(4*S+4);Q$:NEXT V:LPRINT E$;"S0":IF N=2 THEN LPRINT E$;"F-2" ELSE LPRINT E$;"F-1"
820 LPRINT E$;"S";S:LPRINT TAB(25-9*S);:FOR J=1 TO CH:IF L=1 THEN LPRINT USING "###,###.## ";SS(I,J); ELSE LPRINT USING "##,###,### ";JS(I,J);
830 NEXT J:IF S=1 THEN LPRINT E$;"F1" ELSE LPRINT E$;"F3"
840 LPRINT E$;"S";S:LPRINT :NEXT I:LPRINT T0$:LPRINT E$;"F5":NEXT L:LPRINT E$;"S1"
850 GOTO 170
860 '========== Calculation of indicator
870 SS(1,I)=JS(10,I)/JS(7,I)*100  'Ratio of ordinary profit to total liabilities and net worth
880 SS(2,I)=JS(9,I)/JS(7,I)*100   'Ratio of operating profit to total liabilities and net worth
890 SS(3,I)=JS(10,I)/JS(8,I)*100  'Ratio of ordinary profit to sales
900 SS(4,I)=JS(9,I)/JS(8,I)*100   'Ratio of operating profit to sales
910 SS(5,I)=JS(3,I)/JS(6,I)*100   'Ratio of fixed assets to net worth
920 SS(6,I)=JS(1,I)/JS(5,I)*100   'Current ratio
930 SS(7,I)=JS(6,I)/JS(7,I)*100   'Ratio of net worth to total liabilities and net worth
940 SS(8,I)=JS(8,I)/JS(12,I)      'Sales per employee
950 SS(9,I)=JS(11,I)/JS(12,I)     'Value added per employee
960 SS(10,I)=JS(11,I)/JS(8,I)*100 'Value added ratio
970 SS(11,I)=JS(8,I)/JS(7,I)      'Turnover ratio of total liabilities and net worth
980 SS(12,I)=JS(8,I)/JS(4,I)      'Turnover ratio of tangible fixed assets
990 SS(13,I)=JS(8,I)/JS(2,I)      'Inventory turnover period
1000 IF F(2,I)=1 THEN FOR J=1 TO 13:FL(FI(1,I),J,FI(2,I))=SS(J,I):NEXT J
1010 RETURN
1020 '========== Calculate X,Y coordinates
1030 CX=ROUND(C1*COS(90-C2),-3):CY=ROUND(C1*SIN(90-C2),-3):RETURN
1040 '========== Set variables
1050 RESTORE 1100:FOR I=1 TO 12:READ J$(I):FOR J=1 TO 5:JS(I,J)=0:NEXT J,I
1060 FOR I=1 TO 13:READ S$(I):FOR J=1 TO 5:SS(I,J)=0:NEXT J,I
1070 T$=" *Business analysis*":TS$="":FOR I=1 TO 40:TS$=TS$+"-":NEXT I
1080 U1$="&         &":E$=CHR$(27)
1090 RETURN
1100 '========== Item,indicator name
1110 DATA Current assets,Inventories,Fixed assts,Tangible fixed assets,Current liabilities,Equity capital,Total liabilities and net worth
1120 DATA Sales,Operating profits,Ordinary profits,Values added,Employee
1130 DATA Ratio of ordinary profit to total liabilities and net worth,Ratio of operating profit to total liabilities and net worth,Ratio of ordinary profit to sales,Ratio of operating to sales
1140 DATA Ratio of fixed assets to net worth,Corrent ratio,Ratio of net worth to total liabilities and net worth,Sales per employee,Value added per employee,Value added ratio,Turnover ratio of total liabilities and net worth
1150 DATA Turnover ratio of tangible fixed assts,Inventory turnover period
1160 FOR I=1 TO 13:FL(2,I,1)=S$(I):NEXT I:END


Program (FP-200): "R-ANL"

10 CLEAR: CLS:PRINT"DATA INPUT          CETL(1)/BASIC(2)"
20 INPUT D$
30 IF D$="1" THEN GOSUB 100
40 IF D$="2" THEN GOSUB 200
50 K#=(12*XY#-X*Y#)/(12*X2-X^2)
60 H#=(X2*Y#-X*XY#)/(12*X2-X^2)
65 CLS
70 INPUT "Which week ";J:IF J=0 THEN END
80 V#=K#*J+H#
90 PRINT V#:PRINT USING"         ##th week";J:PRINT: GOTO 70
100 PRINT"Being computed"
110 X=SUMRC(1,52):Y#=SUMRC(1,52)
120 FOR I=1 TO 52
130 X2=RC(I)^2+X2
140 XY#=I*RC(I)+XY#
150 NEXT I
160 RETURN
200 OPTION BASE 1:DIM X(80),Y#(80)
210 I=I+1
220 PRINT USING"##th week               of last year";I
230 INPUT "SALES (END'E')";A$
240 IF A$<>"E" THEN Y#(I)=VAL(A$):X(I)=I:GOTO 210
250 T=I-1
260 PRINT"Being computed"
270 FOR I=1 TO T
280 X=X(I)+X:X2=X(I)^2+X2:Y#=Y#(I)+Y#:XY#=X(I)*Y#(I)+XY#
290 NEXT I
300 RETURN


Program (FP-200): "FREQ-1"

100 CLEAR 1024:OPTION BASE 1:DIM IN(100),DS(10)
110 T$="** FREQUENCY             DISTRIBUTION **"
120 ML$="":FOR I=1 TO 37:ML$=ML$+"-":NEXT I:E$=CHR$(27)
130 '
140 CLS:LOCATE 0,2:PRINT T$:FOR I=0 TO 800:NEXT
145 CLS:PRINT"Frequency distribut-ion table is created from input data."
148 PRINT"Spacify number of   classes. Data can be saved to cassette  tape."
149 PRINT" << Hit any key >>";
150 IF INKEY$="" THEN 150
200 '========== Input data
210 CLS:PRINT T$:PRINT"Method of data input";
220 PRINT"< K >°° keyboard":PRINT"< T >°° tape":PRINT"select K or T ";
230 Z$=INKEY$:IF Z$="K" OR Z$="k" THEN 300 ELSE IF Z$="T" OR Z$="t" THEN 400 ELSE 230
300 '========== Input from keyboard
310 CLS:PRINT T$
320 INPUT"Title :",A$:PRINT: C=0
330 Z$=STR$(IN(C+1)):INPUT "No."+STR$(C+1)+"°°>",Z$:IF Z$="E" THEN 500
340 IF Z$="-" THEN IF C<1 THEN 330 ELSE C=C-1:GOTO 330
350 C=C+1:IN(C)=VAL(Z$):IF C<100 THEN 330 ELSE 500
400 '========== Input from tape
410 CLS:PRINT T$:PRINT"Input data from tape. Press RETURN key   when tape is ready."
420 IF INKEY$<>CHR$(13) THEN 420
430 OPEN "CAS0:DOSDATA" FOR INPUT AS #1
440 INPUT #1,A$,C
450 FOR I=1 TO C:INPUT #1,IN(I):NEXT I:CLOSE #1
500 '========== Correction
510 CLS:PRINT T$
520 PRINT"Title :";A$:PRINT"Number of data:";C
530 PRINT"Do you wish to corr-ect data.";
540 Z$=INKEY$:IF Z$="N" OR Z$="n" THEN 600 ELSE IF Z$="Y" OR Z$="y" THEN PRINT Z$:GOTO 550 ELSE GOTO 540
550 INPUT"Data No. :",Z:IF Z<1 OR Z>C THEN 550
560 PRINT"   ";IN(Z);:INPUT"°°>",IN(Z):PRINT: GOTO 530
600 '========== Caliculation 1
610 PRINT Z$:SUM=0:MAX=-1E99:MIN=1E99
620 FOR I=1 TO C:PRINT"*";:SUM=SUM+IN(I):IF MAX<IN(I) THEN MAX=IN(I)
630 IF MIN>IN(I) THEN MIN=IN(I)
640 NEXT I:PRINT
700 '========== Input number of classes
710 CLS:PRINT T$;:PRINT"< ";A$:PRINT"Number of data ":PRINT C
720 PRINT"Number of class  ":INPUT"";Z$:IF Z$="-" THEN 500
730 CL=VAL(Z$):IF CL<2 OR CL>10 THEN 710
800 '========== Frequency count
810 LE=(MAX-MIN)/CL
820 CLS:PRINT"Maximum value ":PRINT MAX:PRINT"Minimum value ":PRINT MIN
823 PRINT: PRINT "<< Hit any key >>"
824 IF INKEY$="" THEN 824
825 CLS:PRINT"Class width ":PRINT LE
830 FOR I=1 TO 10:DS(I)=0:NEXT I
840 FOR I=1 TO C:Z=INT((IN(I)-MIN)/(LE-1E-6)):IF Z<CL THEN Z=Z+1
850 DS(Z)=DS(Z)+1:NEXT I
860 M=DS(1)
870 FOR I=2 TO CL:IF M<DS(I) THEN M=DS(I)
880 NEXT I
890 PRINT"highest frequency ":PRINT M
900 '========== Caliculation 2
910 N=M:X=0:I=1
920 IF N>100 THEN N=INT(N/10):X=X+1:GOTO 920
930 IF N MOD 2>0 THEN N=N+1
940 IF N MOD I>0 OR N/I>10 THEN I=I+1:GOTO 940
950 N=N*10^X:IF ABS(10-I)>ABS(10-N/I) THEN E=N/I ELSE E=I
1000 '========== Frequency distribution table
1010 LPRINT CHR$(28);CHR$(37):LPRINT"Y0":LPRINT"Z2,6":LPRINT"Q0":LPRINT"B2":LPRINT"L0":LPRINT"J0"
1020 LPRINT"S2":LPRINT"P";A$:LPRINT"S1":LPRINT"O10,-90"
1030 LPRINT"D0,80,0,0,80,0"
1040 SC=80/E:T=N/80:IF LEN(STR$(M))>4 THEN S=0:B=7 ELSE S=1:B=3
1050 LPRINT"S";S:LPRINT"L1"
1060 FOR I=E TO 0 STEP -1:Y=I*SC:N$=RIGHT$("    "+STR$(FIX(Y*T)),B):LPRINT"M-9,";Y:LPRINT"P";N$:IF I<>0 THEN LPRINT"D0,";Y;",80,";Y
1070 NEXT I:LPRINT"S1":LPRINT"J1":LPRINT"L0":SC=80/CL
1080 FOR I=1 TO CL:X2=I*SC:X1=X2-SC/2:Y=80/N*DS(I):IF Y<0.1 THEN Y=0
1090 Z$=MID$(STR$(I),2):YM=-4:FOR J=1 TO LEN(Z$):LPRINT"M";X2-SC/4;",";YM:LPRINT"P";MID$(Z$,J,1):YM=YM-3.6:NEXT J
1100 LPRINT"D";X1;",0,";X1;",";Y;",";X2;",";Y;",";X2;",0"
1110 NEXT I:LPRINT"H10":LPRINT"J0"
1200 '========== Table
1210 LPRINT CHR$(28);CHR$(46)
1220 LPRINT E$;"S2":LPRINT MID$(T$,2,11);TAB(12);MID$(T$,26,14):LPRINT E$;"S1"
1230 LPRINT"Class";TAB(13);"Range ";TAB(28);"Frequency":LPRINT ML$
1240 FOR I=1 TO CL:LS=MIN+LE*(I-1):MS=LS+LE:LPRINT USING"###  ######.### ~ ######.###  #####";I;LS;MS;DS(I):NEXT I
1250 LPRINT ML$:LPRINT TAB(25);"Total";:LPRINT USING "#####";C
1260 LPRINT E$;"F3"
1270 LPRINT USING"Number of data: ######";C
1280 LPRINT USING"Maximum value : ######.###";MAX
1290 LPRINT USING"Minimum value : ######.###";MIN:LPRINT E$;"F5"
1300 '========== Save data on tape
1310 CLS:INPUT"Do you save data on tape?";Z$
1315 IF Z$="Y" OR Z$="y" THEN 1320 ELSE IF Z$="N" OR Z$="n" THEN 1400 ELSE 1310
1320 CLS:PRINT T$:PRINT"Data is saved to tape. Press RETURN key when tape is ready"
1330 Z$=INKEY$
1340 IF Z$<>CHR$(13) THEN 1330
1350 OPEN "CAS0:DOSDATA" FOR OUTPUT AS #1
1360 PRINT#1,A$;",";C
1370 FOR I=1 TO C:PRINT #1,IN(I):NEXT I
1380 CLOSE #1
1400 CLS:INPUT"Do you change the n-umber of class";Z$
1410 IF Z$="Y" OR Z$="y" THEN 700 ELSE IF Z$="N" OR Z$="n" THEN END ELSE 1400


Program (FP-200): "FREQ-2"

10 PRINT"Printer Ready <Push any key>"
20 IF INKEY$="" THEN 20
30 FOR I=1 TO C
40 LPRINT USING"No.=###  ######";I;IN(I)
50 NEXT I
60 END


Program (FP-200): "EQUA"

10 CLEAR: DEFDBL A-C
20 CLS:PRINT"** Simultaneous "
25 PRINT" linear equatious **"
30 INPUT"Number of variables ",N:IF N>6 THEN 30
40 FOR I=1 TO N+1:P$(I)=CHR$(I+64):Q$(I)=CHR$(I+48):R$(I)="X"+Q$(I):NEXT I
50 FOR I=1 TO N:S$=""
60 FOR J=1 TO N
70 S$=S$+P$(J)+Q$(I)+R$(J)+"+"
80 NEXT J
90 T$=LEFT$(S$,5*N-1)+"="+P$(N+1)+Q$(I)
100 CLS
110 LOCATE 0,0:PRINT T$
120 FOR J=1 TO N
130 U$=P$(J)+Q$(I)+"="
140 LOCATE 0,J+1:PRINT U$;:INPUT"",A(I,J)
150 NEXT J
160 LOCATE 10,2:PRINT P$(N+1)+Q$(I)+"=";:INPUT"",B(I)
170 LOCATE 11,4:PRINT"ok ?"
180 LOCATE 10,5:PRINT"yes:anykey"
190 LOCATE 10,6:PRINT"no :[N]"
200 Z$=INKEY$:IF Z$="" THEN 200 ELSE IF Z$="N" OR Z$="n" THEN 60
210 NEXT I
220 CLS:PRINT"Being computed"
230 '
240 FOR I=1 TO N
250 J=I
260 IF A(I,J)<>0 THEN 310
270 J=J+1:IF J>N THEN 500
280 IF A(I,J)=0 THEN 260
290 FOR K=1 TO N:C=A(I,K):A(I,K)=A(J,K):A(J,K)=C:NEXT K
300 C=B(I):B(I)=B(J):B(J)=C
310 C=A(I,I)
320 IF C=0 THEN 500
330 FOR J=1 TO N:A(I,J)=A(I,J)/C:NEXT J
340 B(I)=B(I)/C
350 FOR K=1 TO N
360 IF K=I THEN 410
370 C=A(K,I)
380 FOR J=1 TO N:A(K,J)=A(K,J)-C*A(I,J)
390 NEXT J
400 B(K)=B(K)-C*B(I)
410 NEXT K
420 NEXT I
430 CLS:LOCATE 0,0:PRINT"****  Answer  ****"
440 FOR I=1 TO N
450 LOCATE 1,I:PRINT R$(I)+"=";CSNG(B(I))
460 NEXT I
470 Z$=INKEY$:IF Z$="" THEN 470 ELSE IF Z$="E" OR Z$="e" THEN END
480 GOTO 20
490 END
500 CLS:LOCATE 0,2:PRINT"  Answer cannot          be obtained       from this data!!"
510 GOTO 470


Program (FP-200): "HEX-CAL"

10 '??????????????????????????????????????????????????
20 '
30 ' From basic arithmetics eperations in Hexadecinal
40 '                                       by IYO
50 '??????????????????????????????????????????????????
60 CLEAR: DIM A$(10),A(10),B$(20):DEFDBL T
70 FOR J=0 TO 9
80 B$(J)=RIGHT$(STR$(J),1)
90 NEXT J
100 FOR J=65 TO 70
110 B$(J-55)=CHR$(J)
120 NEXT J
130 CLS:PRINT"Please Calculate"
140 K$=INKEY$:IF K$="" THEN 140
150 IF K$=CHR$(29) THEN A$(I)=MID$(A$(I),1,LEN(A$(I))-1):PRINT CHR$(29);CHR$(32);CHR$(29);:GOTO 140
160 IF K$=CHR$(13) THEN 220
170 IF K$="+" OR K$="-" OR K$="*" OR K$="/" THEN I=I+1:A$(I)=K$:I=I+1:GOTO 210
180 Z=ASC(K$)
190 IF Z<48 OR Z>57 AND Z<65 OR Z>70 THEN GOTO 140
200 A$(I)=A$(I)+K$
210 PRINT K$;:GOTO 140
220 FOR N=0 TO I STEP 2
230 GOSUB 430
240 NEXT N
250 T=A(0)
260 FOR J=2 TO I STEP 2
270 IF A$(J-1)="+" THEN T=T+A(J):GOTO 310
280 IF A$(J-1)="-" THEN T=T-A(J):GOTO 310
290 IF A$(J-1)="*" THEN T=T*A(J):GOTO 310
300 T=T/A(J)
310 NEXT J
320 IF T<0 THEN T=ABS(T):X$="-":GOTO 340
330 X$=""
340 Y=FRAC(T/16)*16
350 C$=B$(Y)+C$
360 T=T-Y
370 T=INT(T/16)
380 IF T>15 THEN 340
390 C$=B$(T)+C$
400 PRINT "=";X$;C$
410 IF " "=INKEY$ THEN 60
420 GOTO 410
430 L=LEN(A$(N))
440 FOR M=1 TO L
450 D$=MID$(A$(N),M,1)
460 IF D$>="0" AND D$=<"9" THEN V=VAL(D$):GOTO 480
470 V=ASC(D$)-55
480 A(N)=A(N)+V*16^(L-M)
490 NEXT M
500 RETURN


Program (FP-200): "HEX-DUMP"

100 ' initiarize
110 CLS:PRINT "* Hex-Dump FP-200 * "
120 INPUT "Printer (Y/N):",Z$:IF Z$="Y" OR Z$="y" THEN PSW=1 ELSE PSW=0
200 '
210 PRINT :INPUT "Top addr(HEX):",AD$:GOSUB 1000:ADTOP=AD:IF ER=1 THEN 300
220 INPUT "End addr(HEX):",AD$:GOSUB 1000:ADEND=AD:IF ER=1 THEN 300
230 IF ADTOP>=ADEND THEN 200 ELSE C=0
240 FOR J=ADTOP TO ADEND STEP 16:H$="":C$="":SUM=J:X=J:L=4:GOSUB 1200:H$=X$+"  "
250 FOR I=0 TO 15:M=PEEK (J+I):GOSUB 1100:H$=H$+M$+" ":C$=C$+A$:SUM=SUM+M:NEXT I
260 X=SUM:L=2:GOSUB 1200:S$=X$:IF C=0 THEN GOSUB 400
270 IF PSW=1 THEN LPRINT H$;" ";C$;"  ";S$:GOSUB 500:GOTO 290
280 PRINT LEFT$(H$,17);TAB(6);MID$(H$,19,12);TAB(6);MID$(H$,32,11);TAB(6);MID$(H$,44):PRINT TAB(4);C$:PRINT TAB(12);"sum";TAB(16);S$
290 NEXT J:GOTO 200
300 '
310 IF PSW=1 THEN LPRINT CHR$(12);
320 END
400 '
410 IF PSW=1 THEN 440
420 IF J=ADTOP THEN CLS:RETURN
430 IF INKEY$="" THEN 430 ELSE CLS:RETURN
440 FOR I=1 TO 3:LPRINT: NEXT I
450 LPRINT "addr   0  1  2  3  4  5  6  7   8  9  A  B  C  D  E  F  ascii            sum"
460 LPRINT "----+-------------------------------------------------+-----------------+---"
470 RETURN
500 '
510 C=C+1:IF C=8 THEN LPRINT 500 '
520 IF C=16 THEN C=0
530 RETURN
60 
420 GOTO 410
430 L=LEN(A$(N))
440 FOR M=1 TO L
450 D$=MID$(A$(N),M,1)
460 IF D$>="0" AND D$=<"9" THEN V=VAL(D$):GOTO 480
470 V=ASC(D$)-55
480 A(N)=A(N)+V*16^(L-M)
490 NEXT M
500 RETURN
1000 ' HEX$(AD$) to DEC(AD)
1010 AD=0:Y=1:ER=0
1020 FOR I=1 TO LEN(AD$):W=ASC(RIGHT$(AD$,I))-48:IF W<0 OR W>=10 AND W<=16 OR W>22 THEN ER=1:GOTO 1060
1030 IF W>16 THEN W=W-7
1040 AD=AD+W*Y:Y=Y*16
1050 NEXT I
1060 RETURN
1100 ' memory dec(M) to hex$(M$)
1110 X=M:L=2:GOSUB 1200:M$=X$:IF I=7 THEN M$=M$+" "
1120 A$=CHR$(M):IF M<32 OR M>126 THEN A$="."
1130 RETURN
1200 'DEC(J) to HEX$(X$)
1210 X$=""
1220 Y=INT(X/16):W=X-Y*16:X=Y:IF W>9 THEN W=W+7
1230 X$=CHR$(W+48)+X$:IF X<>0 THEN 1220
1240 X$=RIGHT$("000"+X$,L)
1250 RETURN


Avatar de l’utilisateur
Woodstock
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1969
Inscription : 17 mai 2008 11:19
Localisation : Au fin fond du Santerre ...

Re: Logicels pour FP-200 de 1983 en K7 - récuperés !

Message par Woodstock » 25 févr. 2011 23:57

Danke schön, Herr Marcus :P
I'm the operator
Of my pocket calculator
I am adding
And substracting...
(Kraftwerk, Computer World, 1981)

Jean-Jacques Cortes
Fonctionne à 75 bauds
Fonctionne à 75 bauds
Messages : 16
Inscription : 27 août 2012 15:55
Localisation : 15 km de Bordeaux
Contact :

Re: Logicels pour FP-200 de 1983 en K7 - récuperés !

Message par Jean-Jacques Cortes » 28 août 2012 00:05

Bonjour Markus,

Merci beaucoup pour ces listings, j'ai moi aussi cette cassette avec mon FP-200, mais je n'arrive pas à utiliser le programme list850, que ce soit sous Mac ou sous Windows.
Existe t-il un tutoriel, svp ? D'avance merci beaucoup.

Avatar de l’utilisateur
ledudu
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 5600
Inscription : 26 mars 2009 14:07
Localisation : Ile de France
Contact :

Re: Logicels pour FP-200 de 1983 en K7 - récuperés !

Message par ledudu » 28 août 2012 05:41

Merci Marcus !

Avatar de l’utilisateur
Marcus von Cube
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 914
Inscription : 20 avr. 2006 13:48
Localisation : Wehrheim, Allemagne
Contact :

Re: Logicels pour FP-200 de 1983 en K7 - récuperés !

Message par Marcus von Cube » 30 août 2012 17:15

Jean-Jacques Cortes a écrit : Merci beaucoup pour ces listings, j'ai moi aussi cette cassette avec mon FP-200, mais je n'arrive pas à utiliser le programme list850, que ce soit sous Mac ou sous Windows.
Existe t-il un tutoriel, svp ?
Je suis désolé, pas de tutoriel. Si tu as les fichiers WAV je pourrai les inspecter. Normalement, le niveau des signaux est trop faible ou les ondes sont trop perturbé pour list850. En ce cas je commence avec wav2raw pour générer un fichier binaire. Cela me donne plus d'information si il y a des problèmes de décodage.

P.S. : Ce page donne les paramètres pour wav2raw et list850.

Avatar de l’utilisateur
Joscelyn
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 309
Inscription : 10 juin 2012 01:19

Re: Logicels pour FP-200 de 1983 en K7 - récuperés !

Message par Joscelyn » 01 sept. 2012 22:50

Bonsoir Marcus,
Tout d'abord bravo pour votre super travail sur les utilitaires cassette
Je me demandais si vous saviez qu'il existe une seconde cassette éditée par Casio (couleur orange) avec d'autres logiciels pour FP-200
Ou alors elle a déjà été postée (mais je ne l'ai pas trouvée) ?
Au cas où ce n'est pas le cas, je la mets à disposition pour que les membres du forum puissent en profiter
(ou bien j'essaie de la numériser, mais mes premiers essais n'ont pas été concluants)
Joscelyn

la jaquette de la K7 :
Image

le contenu : (proche, mais pas tout à fait identique à votre version bleue)
Image

Il se trouve que ces programmes ont aussi été édités en livre :
Image

Avatar de l’utilisateur
Marcus von Cube
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 914
Inscription : 20 avr. 2006 13:48
Localisation : Wehrheim, Allemagne
Contact :

Re: Logicels pour FP-200 de 1983 en K7 - récuperés !

Message par Marcus von Cube » 01 sept. 2012 23:07

Je ne connais pas cette version. Si quelqu’un pourrait la mettre à ma disposition...

Avatar de l’utilisateur
Joscelyn
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 309
Inscription : 10 juin 2012 01:19

Re: Logicels pour FP-200 de 1983 en K7 - récuperés !

Message par Joscelyn » 01 sept. 2012 23:17

Pas de problème, je vous l'envoie avec plaisir !
Envoyez-moi votre adresse par MP et je vous l'expédie cette semaine
ça me fait (re)penser que j'aimerais scanner les livres pour FP-200 que j'ai mais je manque de scanner approprié :(

Avatar de l’utilisateur
Marcus von Cube
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 914
Inscription : 20 avr. 2006 13:48
Localisation : Wehrheim, Allemagne
Contact :

Re: Logicels pour FP-200 de 1983 en K7 - récuperés !

Message par Marcus von Cube » 01 sept. 2012 23:28

J'attendrai les Pocketicaires à Paris le WE prochain. Si tu est la.... Si non, ma adresse postale est sur mes pages internet.

Avatar de l’utilisateur
Joscelyn
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 309
Inscription : 10 juin 2012 01:19

Re: Logicels pour FP-200 de 1983 en K7 - récuperés !

Message par Joscelyn » 02 sept. 2012 00:11

Ah! alors c'est parfait, Ledudu m'a fait l'honneur de m'inviter, j'y serai donc
J'amène donc la cassette avec moi :)

Jean-Jacques Cortes
Fonctionne à 75 bauds
Fonctionne à 75 bauds
Messages : 16
Inscription : 27 août 2012 15:55
Localisation : 15 km de Bordeaux
Contact :

Re: Logicels pour FP-200 de 1983 en K7 - récuperés !

Message par Jean-Jacques Cortes » 03 sept. 2012 11:45

C'est la première fois que j'entend parler de cette cassette et de ce livre. Je serais curieux de voir ça de plus près. :lol: :lol:

Répondre

Revenir vers « Tous les Pockets »