Appears on
Cassette to accompany the February 1983 issue of Synchro-Sette.
Source Code
1 FAST 2 DIM E$(50,60) 3 LET R1=0 10 FAST 15 CLS 20 POKE 16418,0 30 LET A$="\: \@@\@@\@@\@@\@@\@@\@@\@@\@@\@@\@@\@@\@@\@@\@@\@@\@@\@@\@@\@@\@@\@@\@@\@@\@@\@@\@@\@@\@@\@@\ :" 40 FOR N=1 TO 23 50 PRINT A$ 60 NEXT N 70 PRINT AT 0,0;"\:'\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\':";AT 23,0;"\:.\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\.:" 80 FOR N=1 TO 22 90 PRINT AT 2,6;"% %E%M%P%L%O%Y%E%E% %P%A%Y%R%O%L%L% " 100 PRINT AT 5,2;" TO ENTER EMPLOYEE INFO %1" 110 PRINT AT 7,2;" TO CALCULATE WEEKLY WAGES %2" 120 PRINT AT 9,2;" TO EDIT EMPLOYEE INFO %3" 130 PRINT AT 11,2;" TO SAVE FILE ON TAPE %4" 140 PRINT AT 13,2;" TO SET TAX PARAMETERS %5" 150 PRINT AT 15,2;" TO CLEAR HOURS %6" 160 PRINT AT 17,2;" TO INITIALIZE PROGRAM %7" 170 LET AA=0 199 SLOW 200 GOSUB 9000 210 IF CODE B$<29 OR CODE B$>35 THEN GOTO 200 220 FAST 225 IF B$="7" THEN RUN 230 CLS 240 POKE 16418,2 250 GOTO VAL B$*1000 1000 SCROLL 1010 SCROLL 1020 PRINT "IF NO MORE EMPLOYEES ARE TO BE" 1030 SCROLL 1040 PRINT "ENTERED, JUST PRESS ENTER FOR" 1050 SCROLL 1060 PRINT "THE LAST NAME:::" 1070 FOR N=1 TO 14 1075 LET O=0 1080 SCROLL 1090 NEXT N 1100 FOR N=R1+1 TO 100 1110 SCROLL 1120 SCROLL 1130 PRINT "LAST NAME OF EMPLOYEE NO. ";N 1140 SCROLL 1150 SLOW 1160 INPUT N$ 1170 FAST 1180 IF N$="" THEN GOTO 1900 1190 SCROLL 1200 PRINT ,N$ 1210 SCROLL 1220 SCROLL 1230 PRINT "FIRST, MID NAME OF EMPLOYEE?" 1240 SCROLL 1250 SLOW 1260 INPUT F$ 1270 FAST 1280 SCROLL 1290 PRINT ,F$ 1300 SCROLL 1310 SCROLL 1320 PRINT "EMPLOYEE NUMBER?" 1330 SLOW 1340 INPUT P$ 1350 FAST 1360 SCROLL 1370 PRINT ,P$ 1380 SCROLL 1390 SCROLL 1400 PRINT "TOTAL HOURS WORKED DURING WEEK" 1410 SLOW 1420 INPUT H 1430 FAST 1440 IF H<=40 THEN LET H$=STR$ H 1445 IF H>40 THEN LET H$="40" 1450 IF H>40 THEN LET O=H-40 1455 LET O$=STR$ O 1460 SCROLL 1470 IF H<=40 THEN PRINT "REG HOURS = ";H 1480 IF H>40 THEN PRINT "REG HOURS = 40, OT HOURS = ";O 1490 SCROLL 1500 SCROLL 1510 PRINT "HOURLY WAGE?"; 1520 SCROLL 1530 SLOW 1540 INPUT W 1550 FAST 1555 LET W$=STR$ W 1560 PRINT ,W 1570 SCROLL 1580 SCROLL 1581 PRINT "TOTAL NON-TAX DEDUCTIONS?" 1582 SLOW 1583 INPUT D$ 1584 FAST 1585 IF D$="" THEN LET D$="0" 1586 SCROLL 1587 PRINT ,D$ 1588 SCROLL 1589 SCROLL 1590 PRINT "DO YOU WANT TO SEE EMPLOYEE PAY?" 1600 SLOW 1610 INPUT Y$ 1620 FAST 1625 GOSUB 8000 1630 IF Y$(1)="Y" THEN GOSUB 7000 1640 CLS 1650 NEXT N 1660 STOP 1900 LET R1=N-1 1910 GOTO 10 2000 LET AA=1 2010 GOTO 3000 2020 PRINT AT 21,0; 2030 GOTO 5250 3000 PRINT ,,"WHAT IS THE EMPLOYEE NUMBER?" 3010 SLOW 3020 INPUT P$ 3030 FAST 3040 CLS 3050 FOR N=1 TO R1 3060 IF P$=E$(N, TO LEN P$) THEN GOTO 3100 3065 NEXT N 3070 PRINT AT 10,0;P$;" IS NOT IN THE FILE :::" 3080 GOTO 5226 3100 GOSUB 3500 3105 IF AA=1 THEN GOTO 2020 3110 PRINT ,,"1 %L%A%S%T% %N%A%M%E","5 %W%A%G%E" 3120 PRINT ,,"2 %F%I%R%S%T% %N%A%M%E","6 %R%E%G%.% %H%O%U%R%S" 3130 PRINT ,,"3 %E%M%P%.% %N%O%.","7 %O%.%T%.% %H%O%U%R%S",,,"4 %X%T%R%A% %D%E%D%.","8 %R%E%T%.% %T%O% %M%E%N%U" 3140 SLOW 3150 GOSUB 9000 3160 FAST 3170 IF CODE B$<29 OR CODE B$>36 THEN GOTO 3140 3180 CLS 3190 GOTO 3180+(20*VAL B$) 3200 PRINT ,,"OLD LAST NAME IS ";E$(N,7 TO 18),,,"TYPE IN NEW LAST NAME ::" 3202 SLOW 3204 INPUT B$ 3206 FAST 3208 LET E$(N,7 TO 18)=B$ 3210 CLS 3212 GOTO 3100 3220 PRINT ,,"OLD FIRST NAME IS ";E$(N,19 TO 30),,,"TYPE IN NEW FIRST NAME ::" 3222 SLOW 3224 INPUT B$ 3226 FAST 3228 LET E$(N,19 TO 30)=B$ 3230 GOTO 3210 3240 PRINT ,,"OLD EMP. NO. IS ";E$(N, TO 6),,,"TYPE IN NEW EMP. NO. ::" 3242 SLOW 3244 INPUT B$ 3246 FAST 3248 LET E$(N, TO 6)=B$ 3250 GOTO 3210 3260 PRINT ,,"OLD XTRA DED. ARE ";E$(N,51 TO 60),,,"TYPE IN NEW XTRA DED. ::" 3262 SLOW 3264 INPUT B$ 3266 FAST 3268 LET E$(N,51 TO 60)=B$ 3270 GOTO 3210 3280 PRINT ,,"OLD WAGES ARE ";E$(N,31 TO 35),,,"TYPE IN NEW WAGES ::" 3282 SLOW 3284 INPUT B$ 3286 FAST 3288 LET E$(N,31 TO 35)=B$ 3290 GOTO 3210 3300 PRINT ,,"OLD REG..HOURS ARE ";E$(N,36 TO 42),,,"TYPE IN NEW REG. HOURS ::" 3302 SLOW 3304 INPUT B$ 3306 FAST 3308 LET E$(N,36 TO 42)=B$ 3310 GOTO 3210 3320 PRINT ,,"OLD O.T..HOURS ARE ";E$(N,43 TO 50),,,"TYPE IN NEW O.T. HOURS ::" 3322 SLOW 3324 INPUT B$ 3326 FAST 3328 LET E$(N,43 TO 50)=B$ 3330 GOTO 3210 3340 CLS 3350 GOTO 10 3500 PRINT ,,"EMPLOYEE NO.",E$(N, TO 6) 3510 PRINT "NAME - ";E$(N,19 TO 30);" ";E$(N,7 TO 18) 3520 PRINT "HOURLY WAGE"; 3530 LET X=VAL E$(N,31 TO 35) 3540 GOSUB 9500 3550 LET W$=X$ 3560 PRINT TAB 32-LEN W$;W$ 3570 PRINT "REGULAR HOURS",E$(N,36 TO 42) 3580 IF VAL E$(N,43 TO 50)<>0 THEN PRINT "OVERTIME HOURS",E$(N,43 TO 50) 3590 LET GP=VAL E$(N,31 TO 35)*(VAL E$(N,36 TO 42)+(1.5*(VAL E$(N,43 TO 50)))) 3600 LET X=GP 3610 GOSUB 9500 3620 PRINT "GROSS PAY -";TAB 32-LEN X$;X$ 3625 LET GP=VAL X$ 3630 PRINT "FED. WITH. TAX"; 3640 LET FT=GP*.01*FWT 3650 LET X=FT 3670 GOSUB 9500 3680 PRINT TAB 32-LEN X$;X$ 3685 LET FT=VAL X$ 3690 PRINT "FICA"; 3700 LET FICA=GP*.01*SS 3710 LET X=FICA 3720 GOSUB 9500 3730 PRINT TAB 32-LEN X$;X$ 3735 LET FICA=VAL X$ 3737 LET SWT=0 3740 IF ST=0 THEN GOTO 3800 3750 PRINT "STATE WITH. TAX"; 3760 LET SWT=GP*.01*ST 3770 LET X=SWT 3780 GOSUB 9500 3790 PRINT TAB 32-LEN X$;X$ 3795 LET SWT=VAL X$ 3800 PRINT "EXTRA DEDUCTIONS -"; 3810 LET ED=VAL E$(N,51 TO 60) 3815 LET X=ED 3820 GOSUB 9500 3830 PRINT TAB 32-LEN X$;X$ 3835 LET ED=VAL X$ 3840 PRINT ,,"NET PAY -"; 3850 LET NP=GP-FT-FICA-SWT-ED 3860 LET X=NP 3870 GOSUB 9500 3880 PRINT TAB 32-LEN X$;X$ 3890 RETURN 4000 PRINT AT 10,4;"WHAT IS THE FILE NAME?" 4010 INPUT N$ 4020 PRINT AT 12,0;"SET UP THE TAPE RECORDER AND PRESS THE ENTER KEY TO SAVE :::" 4030 INPUT B$ 4040 SAVE N$ 4050 GOTO 10 5000 SCROLL 5010 PRINT "WHAT PERCENTAGE FOR FED W. TAX?" 5020 SCROLL 5030 SLOW 5040 INPUT FWT 5050 FAST 5060 SCROLL 5070 PRINT ,FWT;" \ '/\. " 5080 SCROLL 5090 SCROLL 5100 PRINT "WHAT PERCENTAGE FOR SOC SEC?" 5105 SCROLL 5110 SLOW 5120 INPUT SS 5130 FAST 5140 SCROLL 5150 PRINT ,SS;" \ '/\. " 5160 SCROLL 5170 SCROLL 5180 PRINT "WHAT PER. FOR STATE INC. TAX?" 5185 SCROLL 5190 SLOW 5200 INPUT ST 5210 FAST 5220 SCROLL 5225 PRINT ,ST;" \ '/\. " 5226 SCROLL 5230 SCROLL 5240 SCROLL 5250 PRINT "PRESS ENTER TO RETURN TO MENU ::" 5260 INPUT A$ 5270 GOTO 10 6000 FOR N=1 TO R1 6010 LET E$(N,36 TO 50)="0 0" 6020 NEXT N 6030 PRINT AT 10,0;"HOURS CLEARED - READY FOR NEXT WEEK" 6050 GOTO 5226 7000 CLS 7010 GOSUB 3500 7020 PRINT AT 21,0;"PRESS ENTER TO CONTINUE :::" 7030 INPUT B$ 7040 RETURN 8000 LET E$(N, TO 6)=P$ 8010 LET E$(N,7 TO 18)=N$ 8020 LET E$(N,19 TO 30)=F$ 8030 LET E$(N,31 TO 35)=W$ 8040 LET E$(N,36 TO 42)=H$ 8050 LET E$(N,43 TO 50)=O$ 8060 LET E$(N,51 TO 60)=D$ 8070 RETURN 9000 PRINT AT 21,5;" ENTER ONE OF ABOVE ";AT 21,5;"% %E%N%T%E%R% %O%N%E% %O%F% %A%B%O%V%E% " 9005 LET B$=INKEY$ 9010 IF B$="" THEN GOTO 9000 9020 RETURN 9500 LET X=INT (100*X+.05)/100 9510 LET X$=STR$ X 9520 IF LEN X$=1 THEN LET X$=X$+".00" 9525 IF LEN X$=2 THEN LET X$=X$+".0" 9530 IF X$(LEN X$-1)="." THEN LET X$=X$+"0" 9540 IF X$(LEN X$-2)<>"." THEN LET X$=X$+".00" 9550 IF LEN X$>6 THEN LET X$=X$( TO LEN X$-7)+","+X$(LEN X$-6 TO LEN X$) 9560 RETURN