Source Code
10 PRINT AT 21,0;"%T%O% %C%O%N%T%I%N%U%E% %P%R%E%S%S% %E%N%T%E%R"
12 INPUT X$
14 RETURN
16 DIM X$(3)
18 LET X1=INT (X/65536+.001)
20 LET X$(1)=CHR$ X1
21 LET X2=X-X1*65536
23 LET X2=INT (X2/256+.001)
24 LET X$(2)=CHR$ X2
25 LET X3=INT (ABS (X-INT (X1*65536)-INT (X2*256)))
27 LET X$(3)=CHR$ X3
28 RETURN
36 LET X=CODE X$(1)*65536
37 LET X=X+CODE X$(2)*256
38 LET X=X+CODE X$(3)
42 RETURN
44 INPUT X
46 PRINT AT K+1,22;X
48 GOSUB 16
50 LET N$(F,K+10)=CHR$ X
52 RETURN
56 FOR K=1 TO F
58 LET X=K
60 IF K>12 THEN LET X=K-12
62 PRINT AT X,16*(K>12);K;TAB (4+(20*(K>12)));N$(K, TO 10);" ";N$(K,11 TO 12)
64 NEXT K
66 RETURN
70 CLS
71 PRINT AT 2,0;"1.LAST NAME="
72 PRINT "2.INITIAL="
76 PRINT "3.HOURLY RATE="
78 PRINT "4.O.T(\ '/\. HRLY RATE)="
80 PRINT "5.\ '/\. ";H$(2)
82 PRINT "6.\ '/\. ";H$(3)
84 PRINT "7.\ '/\. ";H$(8)
90 PRINT "8.VAC/SICK DAYS="
92 PRINT "9.";H$(8)
94 RETURN
100 LET P=INT (100*P+.05)/100
101 LET Y$=" "
102 IF P=0 THEN GOTO 114
103 LET Y$=STR$ P
104 IF LEN Y$=1 THEN LET Y$=Y$+".00"
106 IF LEN Y$=2 THEN LET Y$=Y$+".0"
108 IF Y$(LEN Y$-1)="." THEN LET Y$=Y$+"0"
110 IF Y$(LEN Y$-2)<>"." THEN LET Y$=Y$+".00"
112 IF LEN Y$>6 THEN LET Y$=Y$( TO LEN Y$-6)+","+Y$(LEN Y$-5 TO LEN Y$)
114 PRINT TAB (V+10-LEN Y$);Y$
116 RETURN
200 CLS
202 PRINT N$(K, TO 10);",";N$(K,11);TAB 24;"%W%E%E%K:";Y
204 LET X$=" "+N$(K,20+Y)
206 GOSUB 36
208 LET H=X/4
232 LET I=0
234 IF H>40 THEN LET I=H-40
236 LET H=H-I
238 LET X$=" "+N$(K,2*Y+70 TO 2*Y+71)
240 GOSUB 36
242 LET R=X/100
244 PRINT
246 LET P=R*H
247 LET G=P
248 LET V=22
250 PRINT "BASE PAY";
251 LET J=1
252 GOSUB 100
253 PRINT "PREMIUM PAY";
254 LET X$=" "+N$(K,14)
255 GOSUB 36
256 LET P=I*R*(1+X/100)
257 LET G=G+P
258 GOSUB 100
259 PRINT "%G%R%O%S%S% %P%A%Y";
260 LET P=G
261 GOSUB 100
262 IF Z=0 THEN LET T(8)=T(8)+P
265 PRINT
266 PRINT H$(2);
267 LET A=15
268 LET B=180
269 LET R=G
270 GOSUB 272
271 GOTO 296
272 LET X$=" "+N$(K,A)
273 GOSUB 36
274 LET P=G*X/100
275 LET V=13
276 GOSUB 100
277 IF Z>0 THEN GOTO 293
278 LET X$=N$(K,B TO B+2)
279 GOSUB 36
280 LET X=X+P*100
282 GOSUB 16
284 LET N$(K,B TO B+2)=X$
285 IF Z=0 THEN LET T(J)=T(J)+P
286 IF Z=0 THEN LET W(J)=W(J)+P
293 LET R=R-P
294 RETURN
296 PRINT H$(3);
297 LET J=2
298 LET A=16
300 LET B=183
302 GOSUB 272
304 PRINT H$(4);
306 LET X$=N$(K,186 TO 188)
308 GOSUB 36
309 IF X/100<>T THEN GOTO 312
310 LET P=0
311 GOTO 324
312 LET P=G*S/100
314 IF P>T-X/100 THEN LET P=T-XV100
317 LET X=X+P*100
318 GOSUB 16
319 LET N$(K,186 TO 188)=X$
320 GOSUB 100
321 IF Z>0 THEN GOTO 324
322 LET T(3)=T(3)+P
323 LET W(3)=W(3)+P
324 LET R=R-P
326 PRINT H$(7);
327 LET J=6
328 LET A=17
330 LET B=195
332 GOSUB 272
334 PRINT H$(5);
336 LET P=G*D/100
337 LET B=189
338 LET J=4
340 GOSUB 276
342 PRINT H$(6);
344 LET P=G*U/100
346 LET B=192
348 LET J=5
350 GOSUB 276
362 PRINT H$(8);
364 LET X$=" "+N$(K,19 TO 20)
366 GOSUB 36
368 LET P=X/100
369 LET J=7
370 LET B=198
372 GOSUB 276
384 PRINT
388 PRINT "%N%E%T% %P%A%Y";
390 LET V=22
395 LET P=R
400 GOSUB 100
402 IF Z>0 THEN GOTO 414
404 LET X$=N$(K,177 TO 179)
406 GOSUB 36
408 LET X=X+G*100
410 GOSUB 16
412 LET N$(K,177 TO 179)=X$
414 PRINT
415 IF Z=2 THEN RETURN
416 PRINT "%Y%E%A%R% %T%O%D%A%T%E%:"
418 FOR J=1 TO 8
420 LET A=16
422 LET V=5
424 IF J>4 THEN LET A=12
426 IF J>4 THEN LET V=22
428 PRINT AT A+J,V-5;H$(J);
430 LET X$=N$(K,3*J+174 TO 3*J+176)
432 GOSUB 36
434 LET P=X/100
436 GOSUB 100
438 NEXT J
440 RETURN
500 FAST
520 PRINT " PAYROLL COPYRIGHT UAS BOX 612 HADDONFIELD,N.J.08033"
530 PRINT
540 GOTO 570
550 FAST
560 CLS
570 PRINT "%P%R%E%S%S% %N%U%M%B%E%R% %D%E%S%I%R%E%D"
580 PRINT
590 PRINT "1..ADD NAME"
600 PRINT "2..INPUT WEEKLY INFO"
610 PRINT "3..EMPLOYEE PAY STUB"
620 PRINT "4..TOTAL PAYROLL"
630 PRINT "5..TOTAL WITH-HOLDING TODATE"
640 PRINT "6..CHANGE EMPLOYEE DATA"
650 PRINT "7..INITIATE"
660 PRINT "8..SAVE"
665 PRINT "9..UPDATE CONSTANTS"
670 SLOW
680 LET B$=INKEY$
690 IF CODE B$<29 OR CODE B$>37 THEN GOTO 680
700 GOTO 1000*(CODE B$-28)
703 LET W=0
1000 FAST
1010 CLS
1015 IF E=0 THEN GOTO 9100
1020 IF E<33 THEN GOTO 1060
1030 PRINT "%F%I%L%E% %F%U%L%L"
1040 PAUSE 100
1050 GOTO 550
1060 PRINT "%A%D%D% %N%A%M%E..FILE NUMBER=";E
1070 PRINT
1080 GOSUB 70
1081 LET F=E
1082 FOR K=1 TO 9
1085 PRINT AT K+1,22;"% ";C$(23 TO 31)
1090 GOSUB K*20+1500
1100 NEXT K
1110 LET E=E+1
1120 GOSUB 10
1130 GOTO 550
1520 INPUT N$(F, TO 10)
1522 PRINT AT K+1,22;N$(F, TO 10)
1524 RETURN
1540 INPUT N$(F,11)
1542 PRINT AT K+1,22;N$(F,11 TO 12)
1544 RETURN
1560 INPUT X
1562 PRINT AT K+1,22;X
1564 LET X=X*100
1566 GOSUB 16
1568 LET N$(F,12 TO 13)=X$(2 TO )
1570 RETURN
1580 GOTO 1600
1600 GOSUB 44
1602 RETURN
1620 GOTO 1600
1660 GOTO 1600
1680 INPUT X
1682 PRINT AT K+1,22;X
1684 LET X=X*100
1686 GOSUB 16
1688 LET N$(F,19 TO 20)=X$(2 TO )
1690 RETURN
2000 FAST
2002 DIM T(8)
2005 IF E=0 THEN GOTO 9100
2010 CLS
2020 PRINT "%W%E%E%K%L%Y% %I%N%F%O"
2025 PRINT
2026 PRINT "INPUT WEEK NO.="
2030 INPUT X
2040 IF X>W THEN GOTO 2070
2050 PRINT "%A%L%R%E%A%D%Y% %E%N%T%E%R%E%D"
2060 GOTO 1040
2070 LET W=X
2080 FOR K=1 TO E-1
2090 FAST
2100 DIM X(2)
2105 CLS
2110 PRINT N$(K, TO 10);",";N$(K,11)
2120 PRINT
2130 PRINT "%I%N%P%U%T HRS(.25 PER 1/4 HR)=";
2140 INPUT X(1)
2150 PRINT X(1)
2151 LET K$="PAID VAC/SICK DAYS"
2155 PRINT
2156 PRINT K$;" TODATE:";
2157 LET X$=" "+N$(K,18)
2158 GOSUB 36
2159 PRINT X
2160 PRINT "%I%N%P%U%T ";K$;"=";
2170 INPUT X(2)
2180 PRINT X(2)
2190 PRINT AT 21,0;"CHANGE Y OR N?"
2200 SLOW
2210 IF INKEY$="N" THEN GOTO 2270
2220 IF INKEY$="Y" THEN GOTO 2090
2230 GOTO 2210
2270 FAST
2280 CLS
2290 LET X=X(1)*4+X(2)*32
2300 GOSUB 16
2310 LET N$(K,W+20)=X$(3)
2320 LET X=X(2)
2330 GOSUB 16
2340 LET N$(K,18)=X$(3)
2350 LET N$(K,W*2+70 TO W*2+71)=N$(K,12 TO 13)
2360 LET Z=0
2370 LET Y=W
2380 GOSUB 200
2390 GOSUB 10
2400 NEXT K
2410 GOTO 550
3000 FAST
3005 IF E=0 THEN GOTO 9100
3010 CLS
3015 GOSUB 3020
3016 GOTO 3050
3020 FOR K=1 TO E-1 STEP 2
3030 PRINT CHR$ (K+156);TAB 3;N$(K, TO 10)+","+N$(K,11);TAB 16;CHR$ (K+157);TAB 20;N$(K+1, TO 10)+","+N$(K+1,11)
3040 NEXT K
3045 RETURN
3050 PRINT
3060 PRINT "%I%N%P%U%T NUMBER=";
3070 INPUT K
3080 PRINT K
3090 PRINT "%I%N%P%U%T WEEK "
3095 LET Z=1
3100 INPUT Y
3105 IF Y>W THEN GOTO 550
3110 IF Y<>W THEN LET Z=2
3120 GOSUB 200
3130 GOSUB 10
3140 GOTO 550
4000 FAST
4010 CLS
4015 IF E=0 THEN GOTO 9100
4020 PRINT "%P%A%Y%R%O%L%L% %F%O%R% %W%E%E%K%: ";W
4030 PRINT
4040 PRINT "GROSS PAY ";
4045 LET V=15
4050 LET P=T(8)
4060 GOSUB 100
4070 PRINT "%W%I%T%H%-%H%O%L%D%I%N%G%S"
4074 PRINT
4075 LET V=7
4080 FOR K=2 TO 8
4090 PRINT H$(K);
4100 LET P=T(K-1)
4110 GOSUB 100
4120 NEXT K
4210 GOSUB 10
4220 GOTO 550
5000 FAST
5010 CLS
5015 IF E=0 THEN GOTO 9100
5020 PRINT "%W%I%T%H%-%H%O%L%D%I%N%G%S% %T%O% %W%E%E%K ";W
5030 PRINT
5090 LET V=8
5100 FOR K=1 TO 7
5105 PRINT H$(K+1);
5110 LET P=W(K)
5120 PRINT AT K+1,0;
5130 GOSUB 100
5140 NEXT K
5150 GOSUB 10
5160 GOTO 550
6000 FAST
6005 IF E=0 THEN GOTO 9100
6010 CLS
6020 PRINT "%C%H%A%N%G%E% %D%A%T%A"
6025 GOSUB 3020
6030 PRINT AT 21,0;"INPUT FILE NO."
6032 INPUT Y
6050 GOSUB 70
6060 PRINT AT 2,22;N$(Y, TO 10)
6070 PRINT AT 3,22;N$(Y,11)
6110 LET X$=" "+N$(Y,12 TO 13)
6120 GOSUB 36
6130 PRINT AT 4,22;X/100
6150 FOR K=14 TO 18
6160 LET X$=" "+N$(Y,K)
6170 GOSUB 36
6180 PRINT AT K-9,22;X
6190 NEXT K
6200 LET X$=" "+N$(Y,19 TO 20)
6210 GOSUB 36
6220 PRINT AT 10,22;X/100
6230 PRINT AT 21,0;"INPUT LINE NO,OR 0 FOR END"
6240 INPUT K
6250 IF K=0 THEN GOTO 550
6260 IF K<1 OR K>10 THEN GOTO 6240
6265 PRINT AT K+1,22;"% ";C$( TO 9)
6268 PRINT AT 21,0;C$
6269 LET F=Y
6270 GOSUB K*20+1500
6310 GOTO 6230
7000 CLS
7001 PRINT "THIS MODE CLEARS FILES %P%R%E%S%S: Y IF YOU WANT IT, N IF NOT"
7002 SLOW
7003 IF INKEY$="N" THEN GOTO 550
7004 IF INKEY$="Y" THEN GOTO 7010
7005 GOTO 7003
7010 FAST
7011 RUN 7015
7015 DIM W(7)
7020 DIM C$(32)
7030 DIM N$(25,200)
7031 DIM H$(8,4)
7032 LET H$(2)="FWT"
7033 LET H$(3)="STAX"
7034 LET H$(4)="FICA"
7035 LET H$(5)="DISA"
7036 LET H$(6)="UNEM"
7037 LET H$(7)="OTAX"
7038 LET H$(8)="OTHR"
7040 LET E=1
7041 LET H$(1)="GRSS"
7050 DIM W(7)
7060 FAST
7070 CLS
7080 PRINT H$(4);" \ '/\. RATE=";
7090 INPUT S
7100 PRINT S
7110 PRINT H$(4);" $ LIMIT=";
7120 INPUT T
7130 PRINT T
7140 PRINT H$(5);" \ '/\. RATE=";
7150 INPUT D
7160 PRINT D
7170 PRINT H$(6);" \ '/\. RATE=";
7180 INPUT W
7190 PRINT W
7200 PRINT AT 21,0;"CHANGE Y OR N?"
7210 SLOW
7220 IF INKEY$="Y" THEN GOTO 7060
7230 IF INKEY$="N" THEN GOTO 550
7240 GOTO 7220
8000 CLS
8010 SAVE "PA%Y"
8020 GOTO 500
9000 FAST
9010 CLS
9020 IF E=0 THEN GOTO 9100
9030 PRINT H$(4);"\ '/\. RATE=";S
9040 PRINT H$(4);" $ LIMIT=";T
9050 PRINT H$(5);" \ '/\. RATE=";D
9060 PRINT H$(6);" \ '/\. RATE=";U
9070 GOTO 7200
9100 PRINT "%I%N%I%T%I%A%T%E% %F%I%R%S%T"
9110 GOTO 1040