-H_ж&& ֶZ&2&ȎԿ 9 "_ ƀ' 9&9 ' 섍 ׍~݁'&ӷηn45 M'45 Z& FLEX-09f S" CATCMD SCOPYCMD SDISKFIXORG / SDISKFIXCMD SDISKFIXTXT 1 SEKLBASe TEKLORG!s SONS-82DAT! " SLLAN-82DAT  SRINTCMDSCOPYCMD SCMD  SRINTSYSS  $}'@&$ G.' !%9#}'~@ *# '@'%~#@&E&@pBo_9ÕD9Ü9O9$H$e& !~*.'!%@9"'$ ۽%0F9&@&%& `_U9$~$~@?~ '9@&|$'~ގ@m&~+&D}&-A=='0=ˆAM'?'&0A ܎DO.F U9@'' @' Ñ Í É~J'~*9@~& 0Z&9 o0Z&.'~-| '% 0Z*99' 0Z&9_9 NAMLSE TYPE SIZE PRTSECTORS LEFT = CATALOG OF DRIVE NUMBER  W D WDDISK:  #  @+,`#   w%[& @o @-%1w%C& o -%@m'Dm&~$1 ?  $~@ }'ħ$ | Zm&ަC'׾!$.' Ё9# o0Z&.' -% | '% 0Z* oC&{$&cm'e+m+ D}&,DA=='0=AM'&0A ˆĎ@ 1%Ĝ C &~~$00o_9.D. Ĺ o_~9& 0Z&9 D00Z&9$@&~ˍ ~ҽ~m &@ 4  5Lħ @&;m*~'~$;@m'l@'& 0 H~.'J0 ԶC' `k0&&I'0 }' @&'Ŀ & 9''~ªŽ~9 ߎ_Y&_Y&׎ &$~g!%9".' 4''5_]9 COPIED COPY COMPLETE TO DRIVE #NO SUCH FILE DFILE EXISTS DELETE ORIGINAL?  ARE YOU SURE? STARTUPTXT  NAM DISKFIX 82-03-16 PAG ****************************************************** * * WILLIAM HARTMANN * RR2 BOX 121-1 * BLUERINGS, MO 64015 * * IT HAS BEEN MODIFIED FOR FLEX 6809, IT WILL HANDLE * ANY TYPE OF TYPE OF DISK (HARD,5/8 SINGLE/DOUBLE * SIDE, SINGLE, DOUBLE DENSITIY). * * IT DOES NOT LOCKOUT ANY SECTORS BASED ON PROTECTED * FILES AS DOES THE 6800 VERSION * * IT IS CALLED AS: P DISKFIX9 * OR: DISKFIX9 * IN EITHER CASE ALL PROMTS ARE TO THE TERMINAL * * THIS PROGRAM TRACES ALL DIRECTORY ENTRYS AND FILES * TO VERIFY THE PROPER LINKAGES AND IT CHECK FOR * LINKS THAT INTERSECT * * THE REPORT OF THE FREE CHAIN IS DEFINED AS THOSE * SECTORS NOT ASSIGNED TO ANY FILE. IF WHERE ANY FLANED * SECTORS REMOVED BY NEWDISK THEN THE COUNT OF FREE * SECTORS WILL BE MORE THAN THE NUMBER IN THE SYSTEM * INFORMATION* RECORD. IF THE OPTION TO REORGANIZE THE * FREE CHAIN IS USEDTHAN ANY FLAMED SECTORS ARE REMOVED * AND THE S.I.R. IS UPDATED WITH THE CURRENT VALUES ******************************************************* OPT PAG *FLEX EQUATES OSWTCH EQU $CC22 OUTPUT SWITCH (PRINTER) MEMEND EQU $CC2B MEMORY END GETCHR EQU $CD15 WARMS EQU $CD03 FLEX RETURN PUTCHR EQU $CD18 INBUFF EQU $CD1B PSTRNG EQU $CD1E PRINT STRING W/CR-LF PCRLF EQU $CD24 FLXDEC EQU $CD39 OUTHEX EQU $CD3C RPTERR EQU $CD3F OUTADR EQU $CD45 GETHEX EQU $CD42 FMSCAL EQU $D406 DISK CALL WRKFCB EQU $C840 SYSTEM FCB ORG $0 DIRFCB RMB $140 DIRECTORY FCB SIRFCB RMB $140 SYSTEM INFORMATION REC MAP EQU * START OF MAP AREA ORG $C100 START BRA START1 FCB 10 VERSION 1,0 MAXTRK RMB 2 MAX TRACK/SECTOR FST_TS EQU * FIRST FREE TRACK/SEC RECORD RMB 2 RECORD COUNT RFLAG RMB 1 <>0 RANDOM FILE, ELSE SEQU. MAPTOP RMB 2 TOP OF SECTOR MAP SECPRT RMB 1 <>0 PRINT EACH SECTOR END_TS RMB 2 ENDING TRACK/SECTOR PRV_TS RMB 2 PREVIOUS TRACK/SECTOR TRKSEC RMB 2 CURRENT TRACK/SECTOR DIRNUM RMB 2 DIRECTORY NUMBER SECNT RMB 2 SECTOR COUNT START1 JSR GETHEX GET DRIVE # TSTB CK FOR # BNE ST20 YES ST10 LDX #IDRV JMP FERR FATAL ERROR ST20 TFR X,D GET DRIVE NUM CMPD #3 CK FOR VALID RANGE BHI ST10 NO * SET DRIVE IN FCB'S LDX #WRKFCB STB 3,X LDX #DIRFCB STB 3,X LDX #SIRFCB STB 3,X LDD #03 POINT TO SIR JSR READ1 GET S.I.R. BEQ ST40 READ OK JSR RPTERR GIVE RERROR LDX #B SIR GIVE BAD SIR JMP FERR REPORT FATAL ERROR * COMPUTE MEMORY REQUIRE * REQUIRES 2 BYTES FOR EACH SECTOR A NUMBER * IS STORED REPRESENTING THE DIRECTORY NUMBER * $FFFF IS USED FOR THE DIRECTORY FILES ST40 JSR PSIR PRINT SIR LDX #TS_MSG T/S OK? JSR PROMPT BEQ ST60 YES JMP WARMS ST60 LDX #SIRFCB LDD $40+38,X GET MAX TRACK/SECTOR STD MAXTRK * COMPUTE MEMORY REQUIRED INCA CONV TRACK 0-X TO 1-X+1 MUL ASLB 2 BYTES PER SECTOR ROLA BCS ST80 OVERFLOW ADDD #MAP-2 OFSET START BCS ST80 OVERFLOW STD MAPTOP SET MEMORY TOP CMPD MEMEND ENOUGH ROOM BLO ST100 YES * FLAG SMALL MEMORY ST80 LDX #MEMWRN PRINT WARNING JSR PSTRNG * CLEAR MAP MEMORY ST100 LDX #MAP ST120 CLR 0,X+ CMPX MEMEND BLS ST120 * CK TO SEE IF EACH SECTOR IS TO BE PRINTED  CLR SECPRT ASSUME NO LDX #SECMDE JSR PROMPT BNE ST160 INC SECPRT YES,SET FLAG ST160 EQU * * TRACE DIRECTORY LDD #$0005 FIRST TRACK/SECTOR OF DIRECTORY STD TRKSEC LDX #DIR JSR PSTRNG JSR TRACE * MAIN LOOP READS EACH ENTRY IN DIRECTORY * AND THEN TRACES EACH ENTRY IN MAP LDD #0 STD DIRNUM RESET DIRECTORY NUMBER LDX #DIRHDR PRINT DIRECTORY HEADER JSR PSTRNG LDX #DIRFCB LDA #6 STA 0,X OPEN DIRECTORY JSR FMSCAL BEQ DIRLOP DIR OK DIRERR JSR RPTERR REPORT ERROR # LDX #FDIR JMP FERR  DIRLOP LDD DIRNUM ADDD #1 STD DIRNUM LDX #DIRFCB LDA #7 STA ,X JSR FMSCAL GET NEXT DIRECTORY ENTRY BNE DIRERR LEAX 4,X POINT TO DIRECTORY ENTRY TST ,X CK FIRST CHAR IN NAME BEQ DIREND LAST ENTRY JSR PRTNAM PRINT DIRECTORY NAME LDX #DIRFCB+4 TST ,X CK FOR DELETED FILE BMI DIRLOP YES LDD 13,X GET STARTING TRACK SECTOR STD TRKSEC LDD 15,X GET ENDING TRACK SECTOR STD END_TS LDD 17,X STD SECNT SET SECTOR COUNT CLR RFLAG ASSUME SEQUENCE FILE TST 19,X BEQ DIR20 LDA #2 SET RANDOM FLAG STA RFLAG DIR20 JSR TRACE TRACE FILE BRA DIRLOP DO NEXT DIREND EQU * * COUNT NUMBER OF FREE SECTORS * FIND START OF 1ST TRACK IN MAP CLRA LDB MAXTRK+1 SECTOR SIZE ASLB  ROLA *2 ADDD #MAP PSHS D SAVE MAP START FOR LATER TFR D,X LDY #0 COUNTER FC10 LDD 0,X++ CK FOR ZERO BNE FC20 NO, SECTOR IN USE LEAY 1,Y FC20 CMPX MAPTOP BLS FC10 STY SECNT SET COUNT LDX #FCNUM GIVE FREE CHAIN COUNT JSR PSTRNG LDX #SECNT # IN MAP JSR DEC5 LDX #SIRFCB+$40+33 GET F.C COUNT IN SIR JSR DEC5 * CK FOR FREE CHAIN CONSOLIDATION LDX #FCPRMT JSR PROMPT BEQ FC100 YES JMP WARMS NO.DONE FC100 PULS Y GET MAP START LDD #0 TFR D,U RESET SECTOR COUNT STD FST_TS RESET 1ST FREE TS STD END_TS STD PRV_TS * SET TO 1ST TR/SEC-1 LDD #$0100 JSR FN DFRE GET NEXT FREE SECTOR STD TRKSEC SET CURRENT FC200 JSR FNDFRE GET NEXT FREE SECTOR STD END_TS FC205 LDX #WRKFCB LDD TRKSEC JSR READ1 GET 1 SECTOR BNE FC300 BAD SECTOR LDD END_TS GET LINK STD $40,X SET LINK LDA #10 STA ,X REWRITE SECTOR J SR FMSCAL BNE FC300 BAD WRITE TST SECPRT PRINT ALL BEQ FC210 NO LDX #TRKSEC JSR PRTSEC FC210 TST FST_TS HAS FREE CHAIN START BEEN SET BNE FC220 YES LDD TRKSEC STD FST_TS SET START FC220 LEAU 1,U COUNT SECTOR LDD TRKSEC UPDATE PREVIOUS STD PRV_TS LDD END_TS UPDATE CURRENT STD TRKSEC BNE FC200 DO AGAIN * NEXT=0 END LINK, UPDATE SIR LDX #SIRFCB LDD FST_TS STD $40+29,X SET START OF FREE CHAIN LDD PRV_TS SET END OF FREE STD $40+31,X STU $40+33,X SET FREE COUNT LDA #10 STA ,X REWRITE SIR JSR FMSCAL BEQ FC240 OK LDX #BSIR JMP FERR * OUTPUT CURRENT SIR FC240 JSR PSIR JMP WARMS * BAD SECTOR FIX LINK FC300 JSR RPTERR GIVER ERROR LDX #SECN JSR TRCERR TST FST_TS FIRST FREE SECTOR BEQ FC340 YES LDD PRV_TS BACK UP CMPD TRKSEC ALREADY BACKED UP BNE FC320 * FATAL DOUBLE ERROR LDX #FATAL JSR FERR FC320 STD TRKSEC SET BACKUP LEAU -1,U CORRECT SECTOR COUNT JMP FC205 REWRITE LAST SECTOR FC340 LDD END_TS STD TRKSEC UPDATE CURRENT JMP FC200 GET NEW AND REWRITE * FINDS NEXT FREE IN MAP POINTED BY Y * ENTERED WITH D=CURRENT TRK/SEC EXIT D=NEXT FREE TRK/SEC * D=0 IF AT END, X DESTORYED, U PRESERVED FNDFRE INCB SECTOR CMPB MAXTRK+1 CK FOR NEW TRACK BLS FND100 NO LDB #1 RESET SECTOR # INCA NEXT TRACK CMPA MAXTRK BHI FND180 PAST LAST TRACK FND100 LDX ,Y++ CK FOR FREE BNE FNDFRE NO.LOOP RTS FND180 LDD #0 END FND160 RTS * READS ONE SECTOR * X=> FCB D=TRACK/SECTOR READ1 STD 30,X SET TRACK/SECTOR LDA #9 STA ,X SINGLE SECTOR READ JMP FMSCAL READ AND RETURN * MARKS FILES IN MAPS, CHECKS FOR ERROR IN * RECORD NUMBER, FILES LINKED TOGETHER AND * VERIFIES ENDING SECTOR TRACE LDD #0 STD PRV_TS FLAG LAST SECTOR STD RECORD RESET RECORD COUNT TRCLOP TST SECPRT CK FOR PRINT ALL SEC BEQ TRC10 NO LDX #TRKSEC JSR PRTSEC TRC10 LDX #WRKFCB LDD TRKSEC GET CURRENT TRACK/SECTOR TSTB CK FOR ZERO SEC BEQ TRC20 INVALID CMPA MAXTRK TRACK IN RANGE BHI TRC20 NO CMPB MAXTRK+1 CK SECTOR BLS TRC40 OK TRC20 LDX #BADSEC GIVE BAD TRACK/SECTOR JMP TRCERR REPORT ERROR AND EXIT TRC40 BSR READ1 GET NEXT SECTOR BEQ TRC60 READ OK JSR RPTERR GIVE ERROR TYPE LDX #REDSEC JMP TRCERR * CK FOR RECORD COUNT ERR TRC60 TST DIRNUM CK FOR DIRECTORY BMI TRC100 YES, NO RECORD NUMBERS TST RFLAG CK FOR RANDOM FILE BEQ TRC80  NO * 1ST 2RECORDS AREECIAL IN RANDOM FILES DEC RFLAG MARK COUNT LDD SECNT DEC COUNT FOR RANDOM RECORD SUBD #1 STD SECNT LDD $40+2,X GET RECORD COUNT BEQ TRC100 RANDOM RECORD SHOULD BE ZERO * REPORT RECORD # ERROR RECERR LDX #RECN JSR PSTRNG  LDX #WRKFCB+$40+2 POINT TO RECORD NUMBER JSR OUTADR JSR PSPC LDX #RECORD POINT TO CORREC NUMBER JSR OUTADR LDX #SECN BSR TRCERR FINISH ERROR MESSAGE BRA TRC100 TRC80 LDD RECORD UPDATE CURRENT NUMBER ADDD #1 STD RECORD CMPD $40+2,X COMPARE WIT H # IN FILE BNE RECERR NO GIVE ERROR * PUT ENTRY IN MAP * COMPUTE LOCATION IN MAP TRC100 LDA TRKSEC GET TRACK # LDB MAXTRK+1 GET MAX # OF SECTORS MUL ADDB TRKSEC+1 OFSET FOR THIS SECTOR ADCA #0 ASLB *2 ROLA BCS TRC220 OVERFLOW ADDD #MAP-2 B!CS TRC220 CMPD MEMEND ENOUGH ROOM BHS TRC220 NO TFR D,Y POIN TO MAP LDD ,Y CK FOR CURRENT ENTRY BEQ TRC200 OK LDX #FILC JSR PSTRNG PRINT COLLISION MSG TST ,Y CK FOR DIRECTORY FILE BPL TRC150 NO LDX #DIR PRINT DIRECTORY LDB #9 MSG LENGHT J"SR PNAM BRA TRC160 CONT ERROR MSG TRC150 TFR Y,X POINT TO DIR # LDB #4 JSR OUTDEC PRINT COLLISION # TRC160 LDX #SECN BRA TRCERR FINISH ERROR MSG * CK FOR NEXT LINK TRC200 LDD DIRNUM SET IN MAP STD ,Y TRC220 LDX #WRKFCB+$40 LDY TRKSEC GET CURRENT# T/S LDD ,X BEQ TRC300 LAST SECTOR STY PRV_TS UPDATE PREVIOUS STD TRKSEC NEW CURRENT TRK/SEC JMP TRCLOP DO AGAIN * CK FOR ENDING NOT MATCHING WITH DIRECTORY TRC300 TST DIRNUM BMI TRC400 BYPASS FOR DIR CMPY END_TS BEQ TRC400 LDX #ENDERR GIVE $END ERROR BSR TRCERR TRC400 RTS * PRINT TRACE ERROR MESSAGE TRCERR JSR PSTRNG LDX #TRKSEC GIVE FAILING TRACK/SEC JSR OUTADR LDX #PRVSEC PRINT PREVIOUS TRACK/SEC JSR PSTRNG LDX #PRV_TS JSR OUTADR RTS * PRINT S.I.R. PSIR LDX #SIRHDR JSR PSTRN%G LDD #$FFFF FLAG SIR MODE STD DIRNUM AND SET FOR DIR TRACE LDX #SIRFCB+$40+16 POINT TO SIR DATA * PRINT DISK NAME OR DIRECTORY POINTED BY X PRTNAM JSR PCRLF TST DIRNUM CK FOR SIR BMI PN10 YES PSHS X LDX #DIRNUM LDB #4 JSR OUTDEC PRINT DIRECT&ORY # JSR PSPC2 PULS X PN10 LDB #8 PSHS X SAVE POINTER BSR PNAM PRINT NAME TST DIRNUM DIR? BMI PN20 LDA #'. JSR PUTCHR PN20 LDB #3 BSR PNAM PRINT EXTENSION TST DIRNUM BPL PN30 LDB #5 JSR DEC5 PRINT VOL# BSR PSPC4 BRA PN40 PN30 BSR PSPC'2 JSR OUTHEX PRINT PROTECTION BSR PSPC2 LEAX 2,X PN40 JSR PRTSEC PRINT STARTING TRACK/SEC JSR PRTSEC ENDING T/S LDB #4 JSR OUTDEC PRINT SIZE TST DIRNUM BMI PN50 BSR PSPC2 LDA #'S ASSUME SEQUENTIAL FILE TST 0,X++ BEQ PN45 YES LDA #'R NO RA (NDOM PN45 JSR PUTCHR PN50 BSR PSPC * PRINT DATE BSR PNUM MONTH LDA #'- JSR PUTCHR BSR PNUM DAY LDA #'- JSR PUTCHR BSR PNUM YEAR TST DIRNUM BPL PN55 NOT SIR BSR PSPC2 BSR PRTSEC GIVE MAX T/S PN55 PULS X CK FOR DELETE TST ,X BPL PN60 NO  ) LDX #DEL LDB #7 BSR PNAM PN60 JMP PCRLF * PRINT STRING POINTED BY X FOR B CHAR PNAM LDA ,X+ BMI PNAM5 DELETED NAME BNE PNAM10 NULL PNAM5 LDA #$20 PNAM10 JSR PUTCHR DECB BNE PNAM RTS PSPC4 BSR PSPC2 PSPC2 BSR PSPC PSPC LDA #$20 JMP PUTCHR * P*RINT 2 CHAR DEC NUMBERS POINTED BY X PNUM LDB ,X+ GET NUM CLRA COUNTER PNUM10 SUBB #10 BCS PNUM20 INCA BRA PNUM10 PNUM20 ADDB #10 RESTORE PSHS B SAVE REMAINDER ADDA #'0 MAKE NUMBER JSR PUTCHR PULS A GET REMAINDER ADDA #'0 JMP PUTCHR * FIX F+OR FLEX OUTDEC DEC5 LDB #5 PRINT 5 CHAR OUTDEC PSHS X JSR FLXDEC PULS X LEAX 2,X RTS * PRINT TRACK/SECTOR POINTED BY X PRTSEC JSR OUTHEX PRINT TRACK LEAX 1,X LDA #'/ JSR PUTCHR JSR OUTHEX SECTOR LEAX 1,X BRA PSPC FERR JSR PSTRNG PRINT ERROR, MESSAGE JMP WARMS AND EXIT PROMPT LDAA #$FF POINT TO CRT STA OSWTCH JSR PSTRNG PRINT REQUEST JSR GETCHR GET RESPONSE ANDA #$5F FORCE UPPERCASE CLR OSWTCH POINT TO PRINTER CMPA #'Y CK FOR YES RTS IDRV FCC "BAD DRV #",4 BSIR FCC "BAD SIR" FATA-L FCC "- FATAL !",4 TS_MSG FCC "MAX TRK/SEC " OK FCC "OK (Y/N)? ",4 MEMWRN FCC "LMT'D MEMORY-ALL SECTORS" FCC " NOT CK'D",$D,$A FCC "** DON'T CONSOLIDATE FREE CHAIN **",4 SECMDE FCC "PRINT EACH LINK Y/N? ",4 FCNUM FCC "FREE SECTORS-IN MAP-IN SIR",4 F.CPRMT FCC "CONSOLIDATE FREE CHAIN Y/N? ",4 FDIR FCC "FATAL DIR ERR",4 BADSEC FCC "INVALID TRK/SEC",4 REDSEC FCC "RD ERR-",4 SECN FCC "AT SECTOR-",4 RECN FCC "RECORD #ERR " FCC "WAS/SHOULD BE ",4 FILC FCC "COLLISION WITH # ",4 DIR FCC "DIRECTORY-",4 E/NDERR FCC "END MISMATCH AT-",4 PRVSEC FCC "PRVS TRK SEC-",4 DIRHDR FCC "FILE# NAME PRT BEG" FCC " END SIZE TYPE DATE",4 SIRHDR FCC "DISK NAME VOL" FCC " F.C.START END SIZE " FCC " DATE MAX TRKSEC",4 DEL FCC "*DLT'D*" END START   ĽB]&C~*"@@' ?M~*+^0'~@fL=XI%~% +%uo+# Ū0&| V$ƀ' ?~*&0m',:m+  m'$ OXI4&1!#۽0'~$ 5   @&\ @ &M} '}&ž3A &@] _a 'M~*+~?}' &T*3_~n  ~h\#L"&99 ~  } '@]' "#~' ?~b}+A}'-zB'+)ȂE׎E} B&ն=XI%6~%1+$+' Dm* V ! +Ȁ '  ~2}+  'a9Er& E9Ƶ$}+454m}+._}* b `<[0}+ GSm'R * OR: DISKFIX9 * IN EITHER CASE ALL PROMTS ARE TO THE TERMINAL * * THIS PROGRAM TRACES ALL DIRECTORY ENTRYS AND FILES * TO VERIFY THE PROPER LINKAGES AND IT CHECK FOR * LINKS THAT INTERSECT * * THE REPORT OF THE FREE CHAIN IS DEFINED AS THOSE * SECTORS NOT ASSIGNED TO ANY FILE. IF WHERE ANY FLANED * SECTORS REMOVED BY NEWDISK THEN THE COUNT OF FREE * SECTORS WILL BE MORE THAN THE NUMBER IN THE SYSTEM * INFORMATION* RECORD. IF THE OPTION TO REORGANIZE THE * FREE CHAIN IS USEDTHAN ANY FLAMED SECTORS ARE REMOVED * AND THE S.I.R. IS UPDATED WITH THE CURRENT VALUES ******************************************************* OPT PAG *FLEX EQUATES OSWTCH EQU $CC22 OUTPUT SWITCH (PRINTER) MEMEND EQU $CC2B MEMORY END GETCHR EQU $CD15 WARMS EQU $CD03 FLEX RETURN PUTCHR EQU $CD18 INBUFF EQU $CD1B PSTR NG EQU $CD1E PRINT STRING W/CR-LF PCRLF EQU $CD24 FLXDEC EQU $CD39 OUTHEX EQU $CD3C RPTERR EQU $CD3F OUTADR EQU $CD45 GETHEX EQU $CD42 FMSCAL EQU $D406 DISK CALL WRKFCB EQU $C840 SYSTEM FCB ORG $0 DIRFCB RMB $140 DIRECTORY FCB SIRFCB RMB $140 SYSTEM  INFORMATION REC MAP EQU * START OF MAP AREA ORG $C100 START BRA START1 FCB 11 VERSION 1,1 MAXTRK RMB 2 MAX TRACK/SECTOR FST_TS EQU * FIRST FREE TRACK/SEC RECORD RMB 2 RECORD COUNT RFLAG RMB 1 <>0 RANDOM FILE, ELSE SEQU. MAPTOP RMB 2 TOP OF SECTOR MAP SECPRT RMB 1 <>0 PRINT EACH SECTOR END_TS RMB 2 ENDING TRACK/SECTOR PRV_TS RMB 2 PREVIOUS TRACK/SECTOR TRKSEC RMB 2 CURRENT TRACK/SECTOR DIRNUM RMB 2 DIRECTORY NUMBER SECNT RMB 2 SECTOR COUNT LINE RMB 1 LINE COUNT *** START1 JSR GETHEX GET DRI VE # TSTB CK FOR # BNE ST20 YES ST10 LDX #IDRV JMP FERR FATAL ERROR ST20 TFR X,D GET DRIVE NUM CMPD #3 CK FOR VALID RANGE BHI ST10 NO * SET DRIVE IN FCB'S LDX #WRKFCB STB 3,X LDX #DIRFCB STB 3,X LDX #SIRFCB STB 3,X LDD #03 POINT TO SIR  JSR READ1 GET S.I.R. BEQ ST40 READ OK JSR RPTERR GIVE RERROR LDX #BSIR GIVE BAD SIR JMP FERR REPORT FATAL ERROR * COMPUTE MEMORY REQUIRE * REQUIRES 2 BYTES FOR EACH SECTOR A NUMBER * IS STORED REPRESENTING THE DIRECTORY NUMBER * $FFFF IS USED FOR  THE DIRECTORY FILES ST40 JSR PSIR PRINT SIR LDX #TS_MSG T/S OK? JSR PROMPT BEQ ST60 YES JMP WARMS ST60 LDX #SIRFCB LDD $40+38,X GET MAX TRACK/SECTOR STD MAXTRK * COMPUTE MEMORY REQUIRED INCA CONV TRACK 0-X TO 1-X+1 MUL ASLB 2 BYTES PER SECTO R ROLA BCS ST80 OVERFLOW ADDD #MAP-2 OFSET START BCS ST80 OVERFLOW STD MAPTOP SET MEMORY TOP CMPD MEMEND ENOUGH ROOM BLO ST100 YES * FLAG SMALL MEMORY ST80 LDX #MEMWRN PRINT WARNING JSR PSTRNG * CLEAR MAP MEMORY ST100 LDX #MAP ST120 CLR 0,X+  CMPX MEMEND BLS ST120 * CK TO SEE IF EACH SECTOR IS TO BE PRINTED CLR SECPRT ASSUME NO LDX #SECMDE JSR PROMPT BNE ST160 INC SECPRT YES,SET FLAG ST160 EQU * * TRACE DIRECTORY LDD #$0005 FIRST TRACK/SECTOR OF DIRECTORY STD TRKSEC LDX #DIR JSR PSTRNG JSR TRACE * MAIN LOOP READS EACH ENTRY IN DIRECTORY * AND THEN TRACES EACH ENTRY IN MAP LDD #0 STD DIRNUM RESET DIRECTORY NUMBER LDX #DIRHDR PRINT DIRECTORY HEADER JSR PSTRNG LDX #DIRFCB LDA #6 STA 0,X OPEN DIRECTORY JSR FMSCAL BEQ DIRLOP DIR OK DIRERR JSR RPTERR REPORT ERROR # LDX #FDIR JMP FERR DIRLOP LDD DIRNUM ADDD #1 STD DIRNUM LDX #DIRFCB LDA #7 STA ,X JSR FMSCAL GET NEXT DIRECTORY ENTRY BNE DIRERR LEAX 4,X POINT TO DIRECTORY ENTRY TST ,X CK FIRST CHAR IN NA ME BEQ DIREND LAST ENTRY JSR PRTNAM PRINT DIRECTORY NAME LDX #DIRFCB+4 TST ,X CK FOR DELETED FILE BMI DIRLOP YES LDD 13,X GET STARTING TRACK SECTOR STD TRKSEC LDD 15,X GET ENDING TRACK SECTOR STD END_TS LDD 17,X STD SECNT SET SECTOR COUNT  CLR RFLAG ASSUME SEQUENCE FILE TST 19,X BEQ DIR20 LDA #2 SET RANDOM FLAG STA RFLAG DIR20 JSR TRACE TRACE FILE BRA DIRLOP DO NEXT DIREND EQU * * COUNT NUMBER OF FREE SECTORS * FIND START OF 1ST TRACK IN MAP CLRA LDB MAXTRK+1 SECTOR SIZE ASLB   ROLA *2 ADDD #MAP PSHS D SAVE MAP START FOR LATER TFR D,X LDY #0 COUNTER FC10 LDD 0,X++ CK FOR ZERO BNE FC20 NO, SECTOR IN USE LEAY 1,Y FC20 CMPX MAPTOP BLS FC10 STY SECNT SET COUNT LDX #FCNUM GIVE FREE CHAIN COUNT JSR PSTRNG LDX #SECNT # IN MAP JSR DEC5 LDX #SIRFCB+$40+33 GET F.C COUNT IN SIR JSR DEC5 * CK FOR FREE CHAIN CONSOLIDATION LDX #FCPRMT JSR PROMPT BEQ FC100 YES JMP WARMS NO.DONE FC100 JSR PCRLF *** LDB #13 *** STB LINE PULS Y GET MAP START LDD #0 TFR D,U RESET SECTOR COUNT STD FST_TS RESET 1ST FREE TS STD END_TS STD PRV_TS * SET TO 1ST TR/SEC-1 LDD #$0100 JSR FNDFRE GET NEXT FREE SECTOR STD TRKSEC SET CURRENT FC200 JSR FNDFRE GET NEXT FREE SECTOR STD END_TS FC205 LDX #WRKFCB LDD TRKSEC JSR READ1 GE T 1 SECTOR BNE FC300 BAD SECTOR LDD END_TS GET LINK STD $40,X SET LINK LDA #10 STA ,X REWRITE SECTOR JSR FMSCAL BNE FC300 BAD WRITE TST SECPRT PRINT ALL BEQ FC210 NO LDX #TRKSEC JSR PRTSEC FC210 TST FST_TS HAS FREE CHAIN START BEEN SET BNE  FC220 YES LDD TRKSEC STD FST_TS SET START FC220 LEAU 1,U COUNT SECTOR LDD TRKSEC UPDATE PREVIOUS STD PRV_TS LDD END_TS UPDATE CURRENT STD TRKSEC BNE FC200 DO AGAIN * NEXT=0 END LINK, UPDATE SIR LDX #SIRFCB LDD FST_TS STD $40+29,X SET START OF FREE CHAIN LDD PRV_TS SET END OF FREE STD $40+31,X STU $40+33,X SET FREE COUNT LDA #10 STA ,X REWRITE SIR JSR FMSCAL BEQ FC240 OK LDX #BSIR JMP FERR * OUTPUT CURRENT SIR FC240 JSR PSIR JMP WARMS * BAD SECTOR FIX LINK FC300 JSR RPTERR GIV ER ERROR LDX #SECN JSR TRCERR TST FST_TS FIRST FREE SECTOR BEQ FC340 YES LDD PRV_TS BACK UP CMPD TRKSEC ALREADY BACKED UP BNE FC320 * FATAL DOUBLE ERROR LDX #FATAL JSR FERR FC320 STD TRKSEC SET BACKUP LEAU -1,U CORRECT SECTOR COUNT JMP FC 205 REWRITE LAST SECTOR FC340 LDD END_TS STD TRKSEC UPDATE CURRENT JMP FC200 GET NEW AND REWRITE * FINDS NEXT FREE IN MAP POINTED BY Y * ENTERED WITH D=CURRENT TRK/SEC EXIT D=NEXT FREE TRK/SEC * D=0 IF AT END, X DESTORYED, U PRESERVED FNDFRE INCB S ECTOR CMPB MAXTRK+1 CK FOR NEW TRACK BLS FND100 NO LDB #1 RESET SECTOR # INCA NEXT TRACK CMPA MAXTRK BHI FND180 PAST LAST TRACK FND100 LDX ,Y++ CK FOR FREE BNE FNDFRE NO.LOOP RTS FND180 LDD #0 END FND160 RTS * READS ONE SECTOR * X=> FCB D=TR ACK/SECTOR READ1 STD 30,X SET TRACK/SECTOR LDA #9 STA ,X SINGLE SECTOR READ JMP FMSCAL READ AND RETURN * MARKS FILES IN MAPS, CHECKS FOR ERROR IN * RECORD NUMBER, FILES LINKED TOGETHER AND * VERIFIES ENDING SECTOR TRACE LDB #13 *** STB LINE *** L DD #0 STD PRV_TS FLAG LAST SECTOR STD RECORD RESET RECORD COUNT TRCLOP TST SECPRT CK FOR PRINT ALL SEC BEQ TRC10 NO LDX #TRKSEC JSR PRTSEC TRC10 LDX #WRKFCB LDD TRKSEC GET CURRENT TRACK/SECTOR TSTB CK FOR ZERO SEC BEQ TRC20 INVALID CMPA MAXTR K TRACK IN RANGE BHI TRC20 NO CMPB MAXTRK+1 CK SECTOR BLS TRC40 OK TRC20 LDX #BADSEC GIVE BAD TRACK/SECTOR JMP TRCERR REPORT ERROR AND EXIT TRC40 BSR READ1 GET NEXT SECTOR BEQ TRC60 READ OK JSR RPTERR GIVE ERROR TYPE LDX #REDSEC JMP TRCERR * CK FOR RECORD COUNT ERR TRC60 TST DIRNUM CK FOR DIRECTORY BMI TRC100 YES, NO RECORD NUMBERS TST RFLAG CK FOR RANDOM FILE BEQ TRC80 NO * 1ST 2RECORDS AREECIAL IN RANDOM FILES DEC RFLAG MARK COUNT LDD SECNT DEC COUNT FOR RANDOM RECORD SUBD #1 S TD SECNT LDD $40+2,X GET RECORD COUNT BEQ TRC100 RANDOM RECORD SHOULD BE ZERO * REPORT RECORD # ERROR RECERR LDX #RECN JSR PSTRNG LDX #WRKFCB+$40+2 POINT TO RECORD NUMBER JSR OUTADR JSR PSPC LDX #RECORD POINT TO CORREC NUMBER JSR OUTADR LDX #  SECN BSR TRCERR FINISH ERROR MESSAGE BRA TRC100 TRC80 LDD RECORD UPDATE CURRENT NUMBER ADDD #1 STD RECORD CMPD $40+2,X COMPARE WITH # IN FILE BNE RECERR NO GIVE ERROR * PUT ENTRY IN MAP * COMPUTE LOCATION IN MAP TRC100 LDA TRKSEC GET TRACK # LD !B MAXTRK+1 GET MAX # OF SECTORS MUL ADDB TRKSEC+1 OFSET FOR THIS SECTOR ADCA #0 ASLB *2 ROLA BCS TRC220 OVERFLOW ADDD #MAP-2 BCS TRC220 CMPD MEMEND ENOUGH ROOM BHS TRC220 NO TFR D,Y POIN TO MAP LDD ,Y CK FOR CURRENT ENTRY BEQ TRC200 OK " LDX #FILC JSR PSTRNG PRINT COLLISION MSG TST ,Y CK FOR DIRECTORY FILE BPL TRC150 NO LDX #DIR PRINT DIRECTORY LDB #9 MSG LENGHT JSR PNAM BRA TRC160 CONT ERROR MSG TRC150 TFR Y,X POINT TO DIR # LDB #4 JSR OUTDEC PRINT COLLISION # TRC160 LDX #SE #CN BRA TRCERR FINISH ERROR MSG * CK FOR NEXT LINK TRC200 LDD DIRNUM SET IN MAP STD ,Y TRC220 LDX #WRKFCB+$40 LDY TRKSEC GET CURRENT T/S LDD ,X BEQ TRC300 LAST SECTOR STY PRV_TS UPDATE PREVIOUS STD TRKSEC NEW CURRENT TRK/SEC JMP TRCLOP DO AGAIN $ * CK FOR ENDING NOT MATCHING WITH DIRECTORY TRC300 TST DIRNUM BMI TRC400 BYPASS FOR DIR CMPY END_TS BEQ TRC400 LDX #ENDERR GIVE END ERROR BSR TRCERR TRC400 RTS * PRINT TRACE ERROR MESSAGE TRCERR JSR PSTRNG LDX #TRKSEC GIVE FAILING TRACK/SEC % JSR OUTADR LDX #PRVSEC PRINT PREVIOUS TRACK/SEC JSR PSTRNG LDX #PRV_TS JSR OUTADR RTS * PRINT S.I.R. PSIR LDX #SIRHDR JSR PSTRNG LDD #$FFFF FLAG SIR MODE STD DIRNUM AND SET FOR DIR TRACE LDX #SIRFCB+$40+16 POINT TO SIR DATA * PRINT DISK NAM &E OR DIRECTORY POINTED BY X PRTNAM JSR PCRLF TST DIRNUM CK FOR SIR BMI PN10 YES PSHS X LDX #DIRNUM LDB #4 JSR OUTDEC PRINT DIRECTORY # JSR PSPC2 PULS X PN10 LDB #8 PSHS X SAVE POINTER BSR PNAM PRINT NAME TST DIRNUM DIR? BMI PN20 LDA #'. 'JSR PUTCHR PN20 LDB #3 BSR PNAM PRINT EXTENSION TST DIRNUM BPL PN30 LDB #5 JSR DEC5 PRINT VOL# BSR PSPC4 BRA PN40 PN30 BSR PSPC2 JSR OUTHEX PRINT PROTECTION BSR PSPC2 LEAX 2,X PN40 JSR PRTSEC PRINT STARTING TRACK/SEC JSR PRTSEC ENDING T/S ( LDB #4 JSR OUTDEC PRINT SIZE TST DIRNUM BMI PN50 BSR PSPC2 LDA #'S ASSUME SEQUENTIAL FILE TST 0,X++ BEQ PN45 YES LDA #'R NO RANDOM PN45 JSR PUTCHR PN50 BSR PSPC * PRINT DATE BSR PNUM MONTH LDA #'- JSR PUTCHR BSR PNUM DAY LDA #'- JSR PU )TCHR BSR PNUM YEAR TST DIRNUM BPL PN55 NOT SIR BSR PSPC2 BSR PRTSEC GIVE MAX T/S PN55 PULS X CK FOR DELETE TST ,X BPL PN60 NO LDX #DEL LDB #7 BSR PNAM PN60 JMP PCRLF * PRINT STRING POINTED BY X FOR B CHAR PNAM LDA ,X+ BMI PNAM5 DELETED NA *ME BNE PNAM10 NULL PNAM5 LDA #$20 PNAM10 JSR PUTCHR DECB BNE PNAM RTS PSPC4 BSR PSPC2 PSPC2 BSR PSPC PSPC LDA #$20 JMP PUTCHR * PRINT 2 CHAR DEC NUMBERS POINTED BY X PNUM LDB ,X+ GET NUM CLRA COUNTER PNUM10 SUBB #10 BCS PNUM20 INCA BRA PNUM1 +0 PNUM20 ADDB #10 RESTORE PSHS B SAVE REMAINDER ADDA #'0 MAKE NUMBER JSR PUTCHR PULS A GET REMAINDER ADDA #'0 JMP PUTCHR * FIX FOR FLEX OUTDEC DEC5 LDB #5 PRINT 5 CHAR OUTDEC PSHS X JSR FLXDEC PULS X LEAX 2,X RTS * PRINT TRACK/SECTOR POINTE ,D BY X PRTSEC JSR OUTHEX PRINT TRACK LEAX 1,X LDA #'/ JSR PUTCHR JSR OUTHEX SECTOR LEAX 1,X LDB LINE *** DECB *** BEQ LFEED *** STB LINE *** LDA #$20 *** JSR PUTCHR *** BRA NFEED *** LFEED JSR PCRLF *** LDB #13 *** STB LINE *** NFEED RTS -*** FERR JSR PSTRNG PRINT ERROR MESSAGE JMP WARMS AND EXIT PROMPT LDAA #$FF POINT TO CRT STA OSWTCH JSR PSTRNG PRINT REQUEST JSR GETCHR GET RESPONSE ANDA #$5F FORCE UPPERCASE CLR OSWTCH POINT TO PRINTER CMPA #'Y CK FOR YES RTS IDRV FCC "BAD .DRV #",4 BSIR FCC "BAD SIR" FATAL FCC "- FATAL !",4 TS_MSG FCC "MAX TRK/SEC " OK FCC "OK (Y/N)? ",4 MEMWRN FCC "LMT'D MEMORY-ALL SECTORS" FCC " NOT CK'D",$D,$A FCC "* DON'T CONSOLIDATE *",4 SECMDE FCC "PRINT EACH LINK Y/N? ",4 FCNUM FCC "FREE SECTORS /-IN MAP-IN SIR",4 FCPRMT FCC "CONSOLIDATE FREE CHAIN Y/N? ",4 FDIR FCC "FATAL DIR ERR",4 BADSEC FCC "INVALID TRK/SEC",4 REDSEC FCC "RD ERR-",4 SECN FCC "AT SECTOR-",4 RECN FCC "RECORD #ERR " FCC "WAS/SHOULD BE ",4 FILC FCC "COLLISION WITH # ",4 DIR F 0CC "DIRECTORY-",4 ENDERR FCC "END MISMATCH AT-",4 PRVSEC FCC "PRVS TRK SEC-",4 DIRHDR FCC "FILE# NAME PRT BEG" FCC " END SIZE TYPE DATE",4 SIRHDR FCC "DISK NAME VOL" FCC " F.C.START END FREE " FCC " DATE MAX TRKSEC",4 DEL FCC "*DLT'D*" 1 END START )Inkomst av kapital":PRINT 2640 PRINT"1. \-skatter{nta...: ";KE 2650 PRINT"2. Annan skuldr{nta: ";KF 2660 PRINT"3. Bankfacksavgift.: ";KG:PRINT 2670 PRINT"4. Extra avdrag (max 1600 kr f|r gift)..: ";K4:PRINT 2680 INPUT"[ndring? Skriv 1 - 4 ( 0 ingen * {ndring)";X 2690 PRINT 2700 IF X=0 THEN RETURN 2710 IF X<1 OR X>4 THEN 2680 2720 H=1 2730 ON X GOTO 2740,2750,2760,2770 2740 INPUT"1. \-skatter{nta...: ";KE:GOTO 2630 2750 INPUT"2. Annan skuldr{nta: ";KF:GOTO 2630 2760 INPUT"3. Bankfacksavgift.: "; +KG:GOTO 2630 2770 INPUT"4. Extra avdrag (max 1600 kr f|r gift)..: ";K4:GOTO 2630 2780 PRINT CL$:PRINT"X.Inkomst av fastighet":PRINT 2790 PRINT"1. R{nta p} l}n: ";IA:PRINT 2800 INPUT"[ndring? Skriv 1 ( 0 ingen {ndring)";X 2810 PRINT 2820 IF X=0 THEN R ,ETURN 2830 IF X<>1 THEN 2800 2840 H=1 2850 INPUT"1. R{nta p} l}n: ";IA:GOTO 2780 2860 PRINT CL$:PRINT"XI.Allm{nna avdrag":PRINT 2870 PRINT"Livf|rs{kring (eller -)";TAB(J);"Premiebelopp (eller -)" 2880 PRINT"1. ";GA$;TAB(J);GA 2890 PRINT"2. ";GB$;TAB(J -);GB:PRINT 2900 PRINT"3. F|rv{rvsavdrag: ";G4 2910 PRINT 2920 INPUT"[ndring? Skriv 1 - 3 ( 0 ingen {ndring)";X 2930 PRINT 2940 IF X=0 THEN RETURN 2950 IF X<1 OR X>3 THEN 2920 2960 H=1 2970 ON X GOTO 2980,2990,3000 2980 INPUT"1. ";GA$:F=50:GOSUB 1310:I .NPUT GA:GOTO 2860 2990 INPUT"2. ";GB$:GOSUB 1310:INPUT GB:GOTO 2860 3000 INPUT"3. F|rv{rvsavdrag: ";G4:GOTO 2860 3010 PRINT CL$:PRINT"IV.Skattereduktion":PRINT 3020 PRINT"1. Skattespar: ";SS:PRINT 3030 INPUT"[ndring? Skriv 1 ( 0 ingen {ndring)";X 3040 / PRINT 3050 IF X=0 THEN RETURN 3060 IF X<>1 THEN 3030 3070 H=1 3080 INPUT"1. Skattespar: ";SS:GOTO 3010 3090 PRINT CL$ 3100 PRINT"** 3. Skriv ut deklarationen (sk{rm/printer) **" 3110 PRINT:PRINT 3120 IF IN=1 THEN 3150 3130 PRINT"Ingen deklaration finn 0s inskriven! (Tryck RETURN)"; 3140 INPUTLINE#0, JN$:GOTO 260 3150 INPUT"V{lj: P(rinter) eller S(sk{rm) ";JN$ 3160 IF JN$="S" THEN 3210 3170 IF JN$="P" THEN OPEN"0.P.CMD"AS0 ELSE GOTO 3150 3210 PRINT CL$:PRINT TAB(G)"V{lj dekl.sida f|r utskrift:":PRIN 1T 3220 PRINT TAB(A)"1 --- Dekl.sida 1" 3230 PRINT TAB(A)"2 --- Sid 2" 3240 PRINT TAB(A)"3 --- Sid 3" 3250 PRINT TAB(A)"4 --- Sid 4 inkl skatteutr{kning" 3260 PRINT TAB(A)"5 --- Sid 1-4" 3270 PRINT TAB(A)"6 --- Till meny":PRINT 3280 PRINT TAB(G)"V{lj nu 2mmer: ";:INPUT X 3290 ON X GOTO 3300,3310,3320,3330,3340,3350 3300 GOSUB 3370:GOTO3350 3310 GOSUB 3720:GOTO3350 3320 GOSUB 4220:GOTO3350 3330 GOSUB 4600:GOTO3350 3340 GOSUB 3370:GOSUB3720:GOSUB4220:GOSUB4600 3350 IF JN$="P" THEN CLOSE 0 3360 GOTO 260 3 3370 REM 3380 PRINT#0:PRINT#0:PRINT#0 3390 PRINT#0,TAB(10)"ALLM[N SJ[LVDEKLARATION att avl{mnas";BE+1;TAB(75);"Sid 1" 3400 PRINT#0,TAB(10)"Beskattnings}ret (inkomst}ret)";BE:PRINT#0 3410 PRINT#0,TAB(10)"Skattskyldig: ";NA$:PRINT#0 3420 PRINT#0,TAB(M)"Er 4lagd prelimin{r skatt:";PS:PRINT#0:PRINT#0 3430 IF JN$="S" THEN GOSUB 6330 3440 PRINT#0:PRINT#0:PRINT#0 3450 PRINT#0,"II.Sammanst{llning statlig ink.skatt"; 3460 PRINT#0,TAB(M)"III.Sammanst{llning kommunal ink.skatt":PRINT#0 3470 PRINT#0,"Tj{nst (01)" 5;:PRINT#0,USING' ######',TAB(L),A9; 3480 PRINT#0,TAB(M)"Tj{nst";:PRINT#0,USING' ######',TAB(E),A9 3490 PRINT#0,"Kapital (03)";:PRINT#0,USING'+######',TAB(L),K9; 3500 PRINT#0,TAB(M)"Kapital";:PRINT#0,USING'+######',TAB(E),K9:PRINT#0 3510 PRINT#0,"Summa 6 inkomst";:PRINT#0,USING'=######',TAB(L),S0; 3520 PRINT#0,TAB(M)"Summa inkomst";:PRINT#0,USING'=######',TAB(E),L0 3530 PRINT#0,"Avg}r (10)";:PRINT#0,USING'-######',TAB(L),G2; 3540 PRINT#0,TAB(M)"Avg}r (18)";:PRINT#0,USING'-######',TAB(E),G9 3550 PRIN 7T#0,"Summa n.inkomst";:PRINT#0,USING'=######',TAB(L),S1; 3560 PRINT#0,TAB(M)"]terst}r";:PRINT#0,USING'=######',TAB(E),L1 3570 PRINT#0,"Avg}r (11)";:PRINT#0,USING'-######',TAB(L),G8; 3580 PRINT#0,TAB(M)"F|rlustavdrag (19)" 3590 PRINT#0,"]terst}r";:PRI 8NT#0,USING'=######',TAB(L),S2; 3600 PRINT#0,TAB(M)"]terst}r";:PRINT#0,USING'=######',TAB(E),L1 3610 PRINT#0,"F|rlustavdrag (12)"; 3620 PRINT#0,TAB(M)"Garantibelopp (20)";:PRINT#0,USING'+######',TAB(E),I4 3630 PRINT#0,"Taxera t. statl. (13)";:PRINT#0, 9USING'=######',TAB(L),SI; 3640 PRINT#0,TAB(M)"Taxera t. kommun (21)";:PRINT#0,USING'=######',TAB(E),KI 3650 IF JN$="S" THEN GOSUB 6330 3660 PRINT#0:PRINT#0:PRINT#0:PRINT#0 3670 PRINT#0,"IV.Underlag f|r skattereduktion:" 3680 PRINT#0,"Under }ret insatt :belopp p} skattespar (27) ";SS:PRINT#0:PRINT#0 3690 PRINT#0,TAB(M)"VI.F|rm|genhetsredovisning" 3700 PRINT#0,TAB(M)"Skattepliktig f|rm.het (25) ";F9 3710 GOTO 6320 3720 REM 3730 PRINT#0:PRINT#0 3740 PRINT#0,"VII.Inkomst av tj{nst";TAB(75);"Sid 2":PRINT;#0 3750 PRINT#0,"1. Kontant bruttol|n" 3760 PRINT#0,TA$;:PRINT#0,USING' ######',TAB(D),TA 3770 PRINT#0,TB$;:PRINT#0,USING'+######',TAB(D),TB 3780 PRINT#0,TC$;:PRINT#0,USING'+######',TAB(D),TC 3790 PRINT#0,TD$;:PRINT#0,USING'+######',TAB(D),TD 3800 PRINRINT#0,"a) Kostnader f|r resor" 3920 PRINT#0,AA$;:PRINT#0,USING' ######',TAB(C),AA 3930 PRINT#0,AB$;:PRINT#0,USING'+######',TAB(C),AB 3940 PRINT#0,"Avg}r, (Ej avdragsgill del)"; 3950 PRINT#0,USING'-######',TAB(C);1000 3960 PRINT#0,"Underskott";:PRINT#0?,USING'=######',TAB(C),A0 3970 PRINT#0:PRINT#0,"b) Avgift till A-kassa" 3980 PRINT#0,AC$;:PRINT#0,USING'+######(86) ######',TAB(C),AC,TAB(D),A1 3990 PRINT#0:PRINT#0,"c) \vriga kostnader" 4000 PRINT#0,AD$;:PRINT#0,USING' ######',TAB(C),AD 4010 PRINT#0,@AE$;:PRINT#0,USING'+######',TAB(C),AE 4020 PRINT#0,AF$;:PRINT#0,USING'+######',TAB(C),AF 4030 PRINT#0,AG$;:PRINT#0,USING'+######(87) +######',TAB(C),AG,TAB(D),A2 4040 PRINT#0:PRINT#0,"Summa (avrundat i h|ger kolumn)"; 4050 PRINT#0,USING' =######',TAB(AD),A3; 4060 PRINT#0,USING'-######',TAB(E),A4 4070 PRINT#0:PRINT#0,TAB(D);"Summa"; 4080 PRINT#0,USING'=######',TAB(E),A9 4090 IF JN$="S" THEN GOSUB 6330 4100 PRINT#0:PRINT#0:PRINT#0 4110 PRINT#0,"VII.Inkomst av kapital" 4120 PRINT#0:PRINT#0,"1. R{nta";BTAB(C);"\-skatter{nta" 4130 PRINT#0,TAB(5);KB;TAB(C);KE;:PRINT#0,USING' ######',TAB(E),K0 4140 PRINT#0:PRINT#0,"2. Skuldr{nta";TAB(L);"F|rvaltn.kostnad" 4150 PRINT#0,TAB(5);KF;TAB(L);KG;:PRINT#0,USING'-######',TAB(E),K1 4160 PRINT#0:PRINT#0,"]terst}r" C;TAB(C);"Underskott" 4170 PRINT#0,TAB(C);K3;:PRINT#0,USING'=######',TAB(E),K2 4180 PRINT#0:PRINT#0,"3.Extra avdrag";:PRINT#0,USING'-######',TAB(E),K4 4190 PRINT#0:PRINT#0,TAB(D);"Summa"; 4200 PRINT#0,USING'=######',TAB(E),K9 4210 GOTO 6320 4220 REM 423 D0 PRINT#0:PRINT#0 4240 PRINT#0,"IX.Uppgifter om f|rm|genhet";TAB(75);"Sid 3":PRINT#0 4250 PRINT#0,"1. Fastighetens beteckning";TAB(D);"Taxeringsv{rde"; 4260 PRINT#0,TAB(E);"F|rm|genhet" 4270 PRINT#0,FA$;:PRINT#0,USING' ######',TAB(D),TV 4280 PRINT#0,USEING' ######',TAB(E),TV 4290 PRINT#0:PRINT#0,"2. Bil":PRINT#0,FB;:PRINT#0,USING'+######',TAB(E),FB 4300 PRINT#0:PRINT#0,"3.":PRINT#0,"4.":PRINT#0,"5." 4310 IF JN$="S" THEN GOSUB 6330 4320 PRINT#0:PRINT#0,"6. Bankmedel";TAB(D);"R{nta";TAB(E);"F|rm|genhetF" 4330 PRINT#0,FH$;:PRINT#0,USING'+######+######',TAB(D),RH,TAB(E),FH 4340 PRINT#0,FI$;:PRINT#0,USING'+######+######',TAB(D),RI,TAB(E),FI 4350 PRINT#0,FJ$;:PRINT#0,USING'+######+######',TAB(D),RJ,TAB(E),FJ 4360 PRINT#0,FK$;:PRINT#0,USING'+######+######G',TAB(D),RK,TAB(E),FK 4370 PRINT#0,"Summa r{nta";:PRINT#0,USING'=######',TAB(D),KB 4380 PRINT#0:PRINT#0,"7. Kontanter ":PRINT#0 4390 PRINT#0,TAB(D),"Summa tillg}ngar";:PRINT#0,USING'=######',TAB(E),F0 4400 PRINT#0:PRINT#0,"8. Inteckningsskulder":PRINTH#0,FO; 4410 PRINT#0,USING'-######',TAB(E),F1:PRINT#0 4420 PRINT#0,"Skattepliktig f|rm|genhet";:PRINT#0,USING'=######',TAB(E),F9 4430 IF FT=0 THEN 6320 4440 IF JN$="S" THEN GOSUB 6330 4450 PRINT#0:PRINT#0:PRINT#0 4460 PRINT#0,"X.Inkomst av fastighet":PRIINT#0 4470 PRINT#0,"Taxeringsv{rde=";TV;" d{rav byggnadsv{rde=";BV:PRINT#0 4480 PRINT#0,"Ber{knad int{kt";:PRINT#0,USING' ######',TAB(E),I0 4490 PRINT#0:PRINT#0,"Avdrag":PRINT#0,"R{nta p} l}n ";IA 4500 PRINT#0,"Avg}r";:PRINT#0,USING'-######',TAB(D),IAJ 4510 PRINT#0,"Extra avdrag ";IE;:PRINT#0,USING'+######',TAB(D),IE; 4520 PRINT#0,USING'-######',TAB(E),I1 4530 PRINT#0:PRINT#0,"Nettoint{kt";TAB(D);"Underskott" 4540 PRINT#0,USING' ######',TAB(D),I3; 4550 PRINT#0,USING'=######',TAB(E),I2 4560 PRINT#0,"KProcentavdrag";:PRINT#0,USING'-######',TAB(E),I4 4570 PRINT#0,TAB(D);"Summa"; 4580 PRINT#0,USING'=######',TAB(E),I9 4590 GOTO 6320 4600 REM 4610 PRINT#0:PRINT#0 4620 PRINT#0,"XI.Allm{nna avdrag";TAB(75);"Sid 4":PRINT#0 4630 PRINT#0,"1. Underskott" 4640L PRINT#0,"Kapital";TAB(G);"Annan fastighet";TAB(D);"Statlig taxering"; 4650 PRINT#0,TAB(E);"Kommunal taxering":PRINT#0,K3;TAB(G);I3; 4660 PRINT#0,USING' ###### ######',TAB(D),G0,TAB(E),G0 4670 PRINT#0,"2.":PRINT#0,"Summa avdrag";:PRINT#0,USING'=######' M,TAB(D),G2 4680 FORZ=1TO52:PRINT#0,"-";:NEXTZ:PRINT#0:PRINT#0,"3.":PRINT#0,"4." 4690 PRINT#0,"5. Livf|rs{kringspremier":PRINT#0,GA$;GA 4700 PRINT#0,GB$;GB;:PRINT#0,USING'+######+######',TAB(D),G3,TAB(E),G3 4710 PRINT#0,"6.":PRINT#0,"7. F|rv{rvsavdrag"; N 4720 PRINT#0,USING'+######+######',TAB(D),G4,TAB(E),G4 4730 PRINT#0,"8.":PRINT#0 4740 PRINT#0,"Summa"; 4750 PRINT#0,USING'=######=######',TAB(D),G8,TAB(E),G9 4760 IF JN$="S" THEN GOSUB 6330 4770 PRINT#0:FORZ=1TO79:PRINT#0,"=";:NEXTZ 4780 PRINT#0:PRINTO#0:PRINT#0:PRINT#0 4790 PRINT#0,"****** S K A T T E U T R [ K N I N G *****" 4800 PRINT#0:PRINT#0 4810 PRINT#0,"Statlig:" 4820 PRINT#0,"Beskattningsbar inkomst";:PRINT#0,USING' ######',TAB(C),SG 4830 PRINT#0,"Inkomstskatt";:PRINT#0,USING'=######',TAB(CP),ST:PRINT#0:PRINT#0 4840 PRINT#0,"Kommunal:" 4850 PRINT#0,"Beskattningsbar inkomst";:PRINT#0,USING' ######',TAB(C),KL 4860 PRINT#0,"Grundavdrag";:PRINT#0,USING'-######',TAB(C),GR 4870 PRINT#0,"Beskattningsbar inkomst";:PRINT#0,USING'=######',TAB(C),BIQ 4880 PRINT#0:PRINT#0,"Inkomstskatt";:PRINT#0,USING'=######',TAB(C),KO 4890 IF JN$="S" THEN GOSUB 6330 4900 PRINT#0:PRINT#0 4910 PRINT#0,"Slutlig skatt:":PRINT#0 4920 PRINT#0,"Statlig";:PRINT#0,USING' ######',TAB(C),ST 4930 PRINT#0,"Kommunal";:PRINT#0,RUSING'+######',TAB(C),KO 4940 PRINT#0,"Sparskattereduktion";:PRINT#0,USING'-######',TAB(C),SQ 4950 PRINT#0,"Summa slutlig skatt";:PRINT#0,USING'=######',TAB(C),S9 4960 PRINT#0,"Prelimin{r skatt";:PRINT#0,USING'-######',TAB(C),PS:PRINT#0 4970 IF FL=1 THSEN PRINT#0,"Skatt tillbaka";:GOTO4990 4980 IF FL=2 THEN PRINT#0,"Kvarskatt"; 4990 PRINT#0,USING'=######',TAB(C),BA 5000 GOTO 6320 5010 PRINT CL$ 5020 PRINT"** 4. Spara deklarationens data **" 5030 PRINT:PRINT 5040 IF IN=0 THEN 5050 ELSE GOTO 5070 5050 TPRINT"Ingen deklaration finns inskriven! (Tryck RETURN)"; 5060 INPUTLINE JN$:GOTO 260 5070 PRINT"F|ljande filnamn.DAT finns p} arbetsdisken: (tryck RETURN) "; 5080 INPUTLINE JN$ 5090 PRINT:EXEC,"CAT .DAT" 5100 PRINT:PRINT"V{lj filnamn, t.ex. ']KE-82' (Umax 8 tecken) --> .DAT" 5110 F=48:GOSUB 1310:INPUT#0,NN$ 5120 PRINT:PRINT:PRINT"Data till diskett...v{nta..." 5130 OPEN NEW NN$ AS 1 5140 PRINT #1,BE;",";GR;",";SK;",";FA$;",";TV;",";BV;",";IE 5150 PRINT #1,PA;",";PR;",";NA$;",";PS;",";SS;",";FT 5160 VPRINT #1,TA$;",";TA;",";TB$;",";TB;",";TC$;",";TC 5170 PRINT #1,TD$;",";TD;",";TE$;",";TE 5180 PRINT #1,TF$;",";TF;",";TG$;",";TG 5190 PRINT #1,AA$;",";AA;",";AB$;",";AB;",";AC$;",";AC;",";AD$;",";AD 5200 PRINT #1,AE$;",";AE;",";AF$;",";AF;",";AG$;","; WAG 5210 PRINT #1,FB;",";FH$;",";RH;",";FH;",";FI$;",";RI;",";FI 5220 PRINT #1,FJ$;",";RJ;",";FJ;",";FK$;",";RK;",";FK;",";FO 5230 PRINT #1,KE;",";KF;",";KG 5240 PRINT #1,IA 5250 PRINT #1,GA$;",";GA;",";GB$;",";GB;",";G4 5260 CLOSE 1:GOTO 260 5270 PRINT X CL$ 5280 PRINT"** 5. Ta in data fr}n annan deklaration **" 5290 PRINT:PRINT 5300 GOSUB 6280 5310 IF JN$="J" THEN 5010 5320 PRINT"F|ljande datafiler finns p} arbetsdisken: (tryck RETURN) "; 5330 INPUTLINE JN$ 5340 PRINT:EXEC,"CAT .DAT" 5350 PRINT:PRINTY"V{lj filnamn, t.ex. ']KE-82' --> .DAT" 5360 F=33:GOSUB 1310:INPUT#0,NN$ 5370 GOSUB 6350:GOSUB 220 5380 IN=1 5390 PRINT:PRINT:PRINT"Data fr}n diskett...v{nta..." 5400 ON ERROR GOTO 6380 5410 OPEN OLD NN$ AS 1 5420 INPUT #1,BE,GR,SK,FA$,TV,BV,IE 5430 IZNPUT #1,PA,PR,NA$,PS,SS,FT 5440 INPUT #1,TA$,TA,TB$,TB,TC$,TC 5450 INPUT #1,TD$,TD,TE$,TE 5460 INPUT #1,TF$,TF,TG$,TG 5470 INPUT #1,AA$,AA,AB$,AB,AC$,AC,AD$,AD 5480 INPUT #1,AE$,AE,AF$,AF,AG$,AG 5490 INPUT #1,FB,FH$,RH,FH,FI$,RI,FI 5500 INPUT #1,FJ$,RJ[,FJ,FK$,RK,FK,FO 5510 INPUT #1,KE,KF,KG 5520 INPUT #1,IA 5530 INPUT #1,GA$,GA,GB$,GB,G4 5540 CLOSE 1:GOTO 1610 5550 T0=TA+TB+TC+TD+TE:T1=TF+TG:T9=T0+T1:RETURN 5560 A0=AA+AB-1000 5570 IF A0 <0 THEN A0=0 5580 A1=A0+AC:A2=AD+AE+AF+AG:A3=A1+A2 5590 A4=INT(\A3/100+1)*100 5600 IF A4=A3+100 THEN A4=A4-100 5610 A9=T9-A4:RETURN 5620 KB=RH+RI+RJ+RK:F0=TV+FB+FH+FI+FJ+FK:F1=FO:F9=F0-F1:RETURN 5630 K0=KB+KE:K1=KF+KG 5640 IF K1=K0 THEN K2=0:K3=0:K4=0:K9=0:RETURN 5650 IF K1K0 THEN 5700 5670] K2=K0-K1:IF K4>0 THEN 5680 ELSE K4=1600 5680 IF K4>K2 THEN K4=K2 5690 K9=K2-K4:K3=0:RETURN 5700 K3=K1-K0:K2=0:K4=0:K9=0:RETURN 5710 I0=(2*TV)/100:I1=IA+IE 5720 I4=(PA*TV)/100 5730 IF I1=I0 THEN I2=0:I3=0:I9=0:RETURN 5740 IF I1>I0 THEN 5760 5750 IF I1<^I0 THEN 5770 5760 I3=I1-I0:I2=0:I9=0:RETURN 5770 I3=0:I2=I0-I1 5780 IF I4>I2 THEN I9=0:RETURN 5790 I9=I2-I4:RETURN 5800 G0=K3+I3:G2=G0 5810 G3=GA+GB 5820 IF G3>250 THEN G3=250 5830 G8=G3+G4:G9=G0+G3+G4:RETURN 5840 PRINT"Skatteutr{kning sker nu!" 5850 R_ESTORE 5860 S0=A9+K9:S1=S0-G2:S2=S1-G8:SI=S2 5870 L0=A9+K9:L1=L0-G9:KI=L1+I4 5880 SG=SI:KL=KI 5890 I=1 5900 READ G(I),B(I),P(I) 5910 IF G(I)<0 THEN 5940 5920 I=I+1 5930 GOTO 5900 5940 N=I-1 5950 DEF FNA(Q)=100*INT(Q/100) 5960 SG=FNA(SG) 5970 FOR I=N TO` 1 STEP -1 5980 IF SG<=G(I) THEN 6010 5990 ST=B(I)+P(I)*(SG-G(I))/100 6000 GOTO 6020 6010 NEXT I 6020 KL=FNA(KL):BI=KL-GR 6030 KO=INT(BI*SK/100) 6040 SQ=(PR*SS)/100 6050 S9=ST+KO-SQ 6060 IF PS>S9 THEN FL=1:BA=FNA(PS-S9):RETURN 6070 IF PS30 THEN ON ERROR GOTO 6260 PRINT CHR$(7):PRINT"FEL INSLAGET!" 6270 RESUME 6280 IF IN=1 THEN 6290 ELSE RETURN 6290 PRINT CHR$(7):PRINT"OBS! Deklaration finns inskriven! "; 6300 PRINT"dSka data sparas (J/N) ";:INPUT JN$:PRINT 6310 RETURN 6320 IF JN$="P" THEN PRINT#0,CL$:PRINT#0:RETURN 6330 PRINT:PRINT"Tryck RETURN!";:INPUT LINE#0,SK$ 6340 RETURN 6350 K2=0:K3=0:IA=0:I0=0:I2=0:I3=0:I4=0 6360 ST=0:KO=0:Q=0:SI=0:KI=0:SQ=0:TS=0:BA=0 6370 eRETURN 6380 IF ERR<>4 THEN ON ERROR GOTO 6390 PRINT CHR$(7):PRINT"Filnamnet finns ej (tryck RETURN)!";:INPUTLINE#0,JN$ 6400 CLOSE 1:IN=0:RESUME 260 6410 GOSUB 6280 6420 IF JN$="J" THEN 5010 6430 END   &~9&#@''~~;0@ -%y 3&k&b4o5 ''+'' H%60000@&|}'~ ? f@ ,6~PRINT QUEUE IS FULL - TRY LATER"PRINT.SYS" NOT FOUNDC PRINTSYSĎo0&E@ +,`#   Ŭ%[& @o @-%1Ŭ%C& o -%@m'Dm&~"$B ?  $~@ }'$ | Zm&ަC'׾Ħ!$.' Ё9# o0Z&.' -% | '% 0Z* oC&$&jm'l+m+ D }&,DA=='0=AM'&0A @'YÈ&B% W &~~$э<@00o_9.D#. o_9 ?~& 0Z&9 D00Z&9$@&~˜ˍ ~Œ~‰m &@LĦ 4  5 @&;m*~M'~Y;@4455@m'l@'& 0  H~c'J0 ԶC' `k0&&I'0 }' @&' & 9''~ç~‰9 _Y&2_Y&׎ &$~x!%9".' 4''5_]9COPԀY  COPIED COPY COMPLETE TO DRIVE #NO SUCH FILE FILE EXISTS DELETE ORIGINAL?  ARE YOU SURE? STARTUPTXT ' @ D 'F'A 9&@&;0~&c ?~y "PRINT.SYS" NOT FOUND"P" MUST BE FOLLOWED BY A COMMANDC PRINTSYS :qp>q9 }q9>q9~Ѝ*}pp6q - & }'}'4І Z&5100 GOTO 230 110 PR$="PRINT" 120 CL$=CHR$(12) 130 BE=1982 140 GR=7500 150 SK=30.2 160 FA$="J\NARP 9:3" 170 TV=265000 180 BV=195000 190 IE=1500 200 PA=1.5 210 PR=20 220 K4=1600:RETURN 230 A=20:C=35:D=45:E=65:G=15:J=50:K=55:L=25:M=40 240 DIM G(20),B(20),P(20) 250 GOSUB 110 260 PRINT CL$:PRINT:PRINT 270 ON ERROR GOTO 6250 280 PRINT TAB(A)"**********************************" 290 PRINT TAB(A)"*** ALLM[N SJ[LVDEKLARATION ***" 300 PRINT TAB(A)"*** (C) ]ke Sten{ng 1982-02-15 ***" 310 PRINT TAB(A)"**********************************":PRINT:PRINT 320 PRINT TAB(G)"MENY: (Bytes kvar";:PRINTFRE(0);")":PRINT 330 PRINT TAB(A)"1 --- Skriv in ny deklaration" 340 PRINT TAB(A)"2 --- [ndra data i deklarationen" 350 PRINT TAB(A)"3 --- Skriv ut deklarationen (sk{rm/printer)" 360 PRINT TAB(A)"4 --- Spara deklarationens data" 370 PRINT TAB(A)"5 --- Ta in data fr}n annan deklaration" 380 PRINT TAB(A)"6 --- Slut":PRINT 390 PRINT TAB(G);:INPUT "V{lj nummer:";X 400 IF X<1 OR X>6 THEN 390 410 ON X GOTO 420,1320,3090,5010,5270,6410 420 PRINT CL$ 430 PRINT"** 1. Skriv in ny deklaration **" 440 PRINT:PRINT 450 ON ERROR GOTO 6250 460 GOSUB 6280 470 IF JN$="J" THEN 5010 480 GOSUB 6350:GOSUB 160 490 IN=1 500 PRINT"1. Vad {r Ditt f|r- och efternamn: ";:INPUT NA$ 510 PRINT"2. Ska fastighet skrivas in (J/N): ";:INPUT JN$ 520 IF JN$="J" THEN FT=1 ELSE FT=0 530 IF FT=0 THEN TV=0:BV=0:IE=0:PA=0:FO=0:FA$="" 540 PRINT"3. Erlagd prelimin{r skatt.......: ";:INPUT PS 550 PRINT CL$:PRINT"** 1. Skriv in ny deklaration **":PRINT 5 60 PRINT"1. Vad {r Ditt f|r- och efternamn: ";NA$ 570 PRINT"2. Ska fastighet skrivas in (J/N): ";JN$ 580 PRINT"3. Erlagd prelimin{r skatt.......: ";PS:PRINT 590 INPUT"[ndring? Skriv 1 - 3 ( 0 ingen {ndring)";X 600 PRINT 610 IF X=0 THEN 670 620 IF X< 1 OR X>3 THEN 590 630 ON X GOTO 640,650,660 640 PRINT"1. Vad {r Ditt f|r- och efternamn: ";:INPUT NA$:GOTO550 650 PRINT"2. Ska fastighet skrivas in (J/N): ";:INPUT JN$:GOTO550 660 PRINT"3. Erlagd prelimin{r skatt.......: ";:INPUT PS:GOTO550 670 GOSU B 1690 680 PRINT CL$:PRINT"VII.Inkomst av tj{nst":PRINT 690 PRINT"Arbetsgivare (eller -)";TAB(J);"Inkomst kr (eller -)" 700 F=50 710 INPUT"1. ";TA$:GOSUB 1310:INPUT TA 720 INPUT"2. ";TB$:GOSUB 1310:INPUT TB 730 INPUT"3. ";TC$:GOSUB 1310:INPUT TC 740 IN gift till A-kassa (eller -)";TAB(J);"Kr (eller -)" 870 INPUT"3. ";AC$:GOSUB 1310:INPUT AC 880 PRINT:PRINT"\vriga kostnader (eller -)";TAB(J);"Kr (eller -)" 890 INPUT"4. ";AD$:GOSUB 1310:INPUT AD 900 INPUT"5. ";AE$:GOSUB 1310:INPUT AE 910 INPUT"6. ";AF$ :GOSUB 1310:INPUT AF 920 INPUT"7. ";AG$:GOSUB 1310:INPUT AG 930 GOSUB 2180 940 GOSUB 5560 950 PRINT CL$:PRINT"IX.Uppgifter om f|rm|genhet":PRINT 960 INPUT"1. V{rdet p} bilen: ";FB:PRINT 970 PRINT"Bankmedel (banknamn eller -)";TAB(C);"R{nta (eller -)";TAB(K); 980 PRINT"F|rm|genhet,kr (eller -)" 990 INPUT"2. ";FH$:F=35:GOSUB 1310:INPUT RH:F=55:GOSUB 1310:INPUT FH 1000 INPUT"3. ";FI$:F=35:GOSUB 1310:INPUT RI:F=55:GOSUB 1310:INPUT FI 1010 INPUT"4. ";FJ$:F=35:GOSUB 1310:INPUT RJ:F=55:GOSUB 1310:INPUT FJ 1020 INPUT"5. ";FK$:F=35:GOSUB 1310:INPUT RK:F=55:GOSUB 1310:INPUT FK:PRINT 1030 IF FT=0 THEN 1050 1040 INPUT"6. Inteckningsskuld: ";FO 1050 GOSUB 2420 1060 GOSUB 5620 1070 PRINT CL$:PRINT"VIII.Inkomst av kapital":PRINT 1080 INPUT"1. \-skatter{nta...: ";KE 1090 INPUT"2. Annan skuldr{nta: ";KF 1100 INPUT"3. Bankfacksavgift.: ";KG:PRINT 1110 GOSUB 2630 1120 GOSUB 5630 1130 IF FT=0 THEN 1180 1140 PRINT CL$:PRINT"X.Inkomst av fastighet":PRINT 1150 INPUT"1. R{nta p} l}n: ";IA 1160 GOSUB 2780 1170 GOSUB 5710 1180 PRINT CL$:PRINT"XI.Allm{nna avdrag":PRINT 1190 PRINT"Livf|rs{kring (eller -)";TAB(J);"Premiebelopp (eller -)" 1200 INPUT"1. ";GA$:F=50:GOSUB 1310:INPUT GA 1210 INPUT"2. ";GB$:GOSUB 1310:INPUT GB:PRINT 1220 PRINT"Avdrag |ver 250 kr justeras!":PRINT 1230 INPUT"3. F|rv{rvsavdrag: ";G4 1240 GOSUB 2860 1250 GOSUB 5800 1260 PRINT CL$:PRINT"IV.Skattereduktion":PRINT 1270 INPUT"1. Skattespar: ";SS 1280 GOSUB 3010 1290 GOSUB 5840 1300 GOTO 260 1310 PRINTCHR$(1);:FORW=1TOF:PRINTCHR$(9);:NEXTW:  1982 , 7500 , 28.95 ,J{gm{staren 33, 195000 , 195000 , 1500 1.5 , 20 ,Allan Bratt, 57129 , 0 , 1 RANSTAD SKIFFER AB, 125825 ,TRAKTAMENTE, 4462 ,LIVR[NTA , 2220 -, 0 ,-, 0 -, 0 ,-, 0 BIL, 5982 ,-, 0 ,A-KASSA, 60 ,FACKLITTERATUR, 320 F\RDYRADE L! .KOSTN., 4462 ,-, 0 ,-, 0 9000 ,SPARBANKEN, 2087 , 43747 ,-, 0 , 0 -, 0 , 0 ,-, 0 , 0 , 154585 495 , 1743 , 0 11048 RESEF\RS., 97 ,-, 0 , 0  PUT"4. ";TD$:GOSUB 1310:INPUT TD 750 INPUT"5. ";TE$:GOSUB 1310:INPUT TE 760 PRINT:PRINT"Kontant bruttol|n under 500 kr" 770 PRINT"Arbetsgivare (eller -)";TAB(J);"Inkomst kr (eller -)" 780 INPUT"6. ";TF$:GOSUB 1310:INPUT TF 790 INPUT"7. ";TG$:GOSUB 1310 :INPUT TG 800 GOSUB 1940 810 GOSUB 5550 820 PRINT CL$:PRINT"VII.Inkomst av tj{nst, avdrag:":PRINT 830 PRINT"Bil eller buss (eller -)";TAB(J);"Kr (eller -)" 840 INPUT"1. ";AA$:GOSUB 1310:INPUT AA 850 INPUT"2. ";AB$:GOSUB 1310:INPUT AB 860 PRINT:PRINT"AvRETURN 1320 PRINT CL$ 1330 PRINT TAB(G)"** 2. [ndra data i deklarationen **" 1340 PRINT:PRINT 1350 ON ERROR GOTO 6250 1360 H=0 1370 IF IN=1 THEN 1400 1380 PRINT"Ingen deklaration finns inskriven! (Tryck RETURN)"; 1390 INPUTLINE#0, JN$:GOTO 260 1400 PRINT TAB(G)"Under vilken rubrik |nskas {ndring:":PRINT 1410 PRINT TAB(A)"1 --- I. 'Fasta v{rden'" 1420 PRINT TAB(A)"2 --- IV. Underlag f|r skattereduktion (skattespar)" 1430 PRINT TAB(A)"3 --- VII. Inkomst av tj{nst" 1440 PRINT TAB(A)"4 --- VII. Inkomst av tj{nst, avdrag" 1450 PRINT TAB(A)"5 --- VIII.Inkomst av kapital" 1460 PRINT TAB(A)"6 --- IX. Uppgift om f|rm|genhet" 1470 PRINT TAB(A)"7 --- X. Inkomst av fastighet" 1480 PRINT TAB(A)"8 --- XI. Allm{nna avdrag" 1490 PRINT TAB(A)"9 --- Till MENY":PRINT 1500 PRINT TAB(G);:INPUT"V{lj nummer:";X 1510 IF X<1 OR X>9 THEN 1500 1520 ON X GOTO 1530,1600,1540,1550,1570,1560,1580,1590,260 1530 GOSUB 1690:IF H=0 THEN 260 ELSE GOTO 1610 1540 GOSUB 1940:IF H=0 THEN 260 ELSE GOTO 1610 1550 GOSUB 2180:IF H=0 THEN 260 ELSE GOTO 1620 1560 GOSUB 2420:IF H=0 THEN 260 ELSE GOTO 1630 1570 GOSUB 2630:IF H=0 THEN 260 ELSE GOTO 1640 1580 GOSUB 2780:IF H=0 THEN 260 ELSE GOTO 1650 1590 GOSUB 2860:IF H=0 THEN 260 ELSE GOTO 1670 1600 GOSUB 3010:IF H=0 THEN 260 ELSE GOTO 1680 1610 GOSUB 5550 1620 GOSUB 5560 1630 GOSUB 5620 1640 GOSUB 5630 1650 IF FT=0 THEN 1670 1660 GOSUB 5710 1670 GOSUB 5800 1680 GOSUB 5840:GOTO 260 1690 PRINT CL$ 1700 PRINT"F|ljande 'FASTA' v{rden finns inskrivna i programmet:" 1710 PRINT:PRINT  1720 PRINT"1. Beskattnings}ret.:";BE 1730 PRINT"2. Grundavdraget....:";GR 1740 PRINT"3. Komm skattesatsen:";SK 1750 PRINT"4. Fastighetens namn: ";FA$ 1760 PRINT"5. Taxeringsv{rdet..:";TV 1770 PRINT"6. Byggnadsv{rdet...:";BV 1780 PRINT"7. Extra a vdrag.....:";IE 1790 PRINT"8. Procentavdraget..:";PA:PRINT 1800 INPUT"[ndring? Skriv 1 - 8. ( 0 ingen {ndring)";X 1810 PRINT 1820 IF X=0 THEN RETURN 1830 IF X<1 OR X>8 THEN 1800 1840 H=1 1850 ON X GOTO 1860,1870,1880,1890,1900,1910,1920,1930 1860 PRINT"1. Beskattnings}ret.:";:INPUT BE:GOTO 1690 1870 PRINT"2. Grundavdraget....:";:INPUT GR:GOTO 1690 1880 PRINT"3. Komm skattesatsen:";:INPUT SK:GOTO 1690 1890 PRINT"4. Fastighetens namn:";:INPUT FA$:GOTO1690 1900 PRINT"5. Taxeringsv{rdet..:";:INPUT TV:GOTO 1690 1910 PRINT"6. Byggnadsv{rdet...:";:INPUT BV:GOTO 1690 1920 PRINT"7. Extra avdrag.....:";:INPUT IE:GOTO 1690 1930 PRINT"8. Procentavdraget..:";:INPUT PA:GOTO 1690 1940 PRINT CL$:PRINT"VII.Inkomst av tj{nst":PRINT 1950 PRINT"Arbetsgivare" (eller -)";TAB(J);"Inkomst kr (eller -)" 1960 PRINT"1. ";TA$;TAB(J);TA 1970 PRINT"2. ";TB$;TAB(J);TB 1980 PRINT"3. ";TC$;TAB(J);TC 1990 PRINT"4. ";TD$;TAB(J);TD 2000 PRINT"5. ";TE$;TAB(J);TE 2010 PRINT:PRINT"Kontant bruttol|n under 500 kr" 2020 PRINT"1 REM ********************************** 2 REM *** ALLM[N SJ[LVDEKLARATION *** 3 REM *** (C) ]KE STEN[NG 1982-02-15 *** 4 REM ****************************************************************** 5 REM 1 --- Skriv in ny deklaration 6 REM En flagga s{tts att "dekl {r inskriven" s} nr 3 ej kan skrivas ut 7 REM om inte flaggan {r satt. Flagga s{tts om villa ska skrivas in. 8 REM Nollst{llning av vissa variabler sker f|r att man ska kunna g|ra 9 REM en inskrivning {ven om en deklaration redan har skrivits in. 10 REM Utr{kning sker gruppvis. 11 REM 2 --- [ndra data i deklarationen 12 REM Rutinen kollar f|rst att flaggan "dekl inskriven" {r satt, annars 13 REM meddelas att "Ingen deklaration inskriven". N{r data {ndras sker 14 REM ny utr{kning av allt som f|ljer efter {ndringen. 15 REM 3 --- Skriv ut deklarationen 16 REM Rutinen kollar f|rst att flaggan "dekl inskriven" {r satt, annars 17 REM meddelas att "Ingen deklaration inskriven". 18 REM 4 --- Spara deklarationens data 19 REM Rutinen kollar f|rst att flaggan "dekl inskriven" {r satt, annars 20 REM meddelas att "Ingen deklaration inskriven". De data som sparas {r 21 REM {r de som anv{nts vid inskrivning av deklarationen. 22 REM 5 --- Ta in data fr}n annan deklaration 23  REM Rutinen kollar f|rst att flaggan "dekl inskriven" {r satt, annars 24 REM meddelas att "Ingen deklaration inskriven". Om data finns fr}gas 25 REM om aktuella data ska sparas. N{r data tagits in fr}n disk sker en 26 REM omedelbar utr{kning av dekl arationen. 30 REM ****************************************************************** 31 REM [ndra ev de fasta variablerna 110-220. De flesta kan dock {ndras 32 REM vid sj{lva programk|rningen. 35 REM ****************************************************************** 36 REM En mark|rstyrningsrutin finns i programmet i 1310 och m}ste ev 37 REM {ndras. Rutinen fungerar p} SWTPC:s terminal CT-82. 38 REM ****************************************************************** 100 GOTO 230 110 PR$="PRIN T": REM PRINT RUTIN 120 CL$=CHR$(12): REM RENSA SK[RMEN 130 BE=1982: REM BESKATTNINGS]RET 140 GR=7500: REM GRUNDAVDRAG 150 SK=30.2: REM KOMMUNALA SKATTESATSEN 160 FA$="J\NARP 9:3":REM FASTIGHETSBETECKNING 170 TV=265000: REM FASTIGHETENS TAXERINGS V[RDE 180 BV=195000: REM BYGGNADSV[RDET 190 IE=1500: REM EXTRA AVDRAG F\R FASTIGHET 200 PA=1.5: REM PROCENTAVDRAGET F\R FASTIGHET 210 PR=20: REM PROCENTAVDRAGET F\R SKATTESPAR 220 K4=1600:RETURN: REM EXTRA AVDRAG UNDER VIII. KAPITAL 230 A=20:C=35: D=45:E=65:G=15:J=50:K=55:L=25:M=40 240 DIM G(20),B(20),P(20) 250 GOSUB 110 260 PRINT CL$:PRINT:PRINT 270 ON ERROR GOTO 6250 280 PRINT TAB(A)"**********************************" 290 PRINT TAB(A)"*** ALLM[N SJ[LVDEKLARATION ***" 300 PRINT TAB(A)"*** ( C) ]ke Sten{ng 1982-02-15 ***" 310 PRINT TAB(A)"**********************************":PRINT:PRINT 320 PRINT TAB(G)"MENY: (Bytes kvar";:PRINTFRE(0);")":PRINT 330 PRINT TAB(A)"1 --- Skriv in ny deklaration" 340 PRINT TAB(A)"2 --- [ndra data i deklarationen " 350 PRINT TAB(A)"3 --- Skriv ut deklarationen (sk{rm/printer)" 360 PRINT TAB(A)"4 --- Spara deklarationens data" 370 PRINT TAB(A)"5 --- Ta in data fr}n annan deklaration" 380 PRINT TAB(A)"6 --- Slut":PRINT 390 PRINT TAB(G);:INPUT "V{lj nummer:";X 400 IF X<1 OR X>6 THEN 390 410 ON X GOTO 420,1320,3090,5010,5270,6410 420 PRINT CL$ 430 PRINT"** 1. Skriv in ny deklaration **" 440 PRINT:PRINT 450 ON ERROR GOTO 6250 460 GOSUB 6280:REM SKA INSKRIVNA DATA SPARAS? 470 IF JN$="J" THEN 5010 480 GOSUB 6350:GOSUB 160:REM NOLLST[LL OCH TA IN FASTIGHETSVARIABLER 490 IN=1:REM DEKL INSKRIVEN 500 PRINT"1. Vad {r Ditt f|r- och efternamn: ";:INPUT NA$ 510 PRINT"2. Ska fastighet skrivas in (J/N): ";:INPUT JN$ 520 IF JN$="J" THEN FT=1 ELSE FT=0 530 IF FT=0 THEN TV =0:BV=0:IE=0:PA=0:FO=0:FA$="" 540 PRINT"3. Erlagd prelimin{r skatt.......: ";:INPUT PS 550 PRINT CL$:PRINT"** 1. Skriv in ny deklaration **":PRINT 560 PRINT"1. Vad {r Ditt f|r- och efternamn: ";NA$ 570 PRINT"2. Ska fastighet skrivas in (J/N): ";JN$  580 PRINT"3. Erlagd prelimin{r skatt.......: ";PS:PRINT 590 INPUT"[ndring? Skriv 1 - 3 ( 0 ingen {ndring)";X 600 PRINT 610 IF X=0 THEN 670 620 IF X<1 OR X>3 THEN 590 630 ON X GOTO 640,650,660 640 PRINT"1. Vad {r Ditt f|r- och efternamn: ";:INPUT NA$:GOTO550 650 PRINT"2. Ska fastighet skrivas in (J/N): ";:INPUT JN$:GOTO550 660 PRINT"3. Erlagd prelimin{r skatt.......: ";:INPUT PS:GOTO550 670 GOSUB 1690:REM EV [NDRING AV FASTA V[RDEN 680 PRINT CL$:PRINT"VII.Inkomst av tj{nst":PRINT 690 PRINT"Arbetsgivare (eller -)";TAB(J);"Inkomst kr (eller -)" 700 F=50 710 INPUT"1. ";TA$:GOSUB 1310:INPUT TA 720 INPUT"2. ";TB$:GOSUB 1310:INPUT TB 730 INPUT"3. ";TC$:GOSUB 1310:INPUT TC 740 INPUT"4. ";TD$:GOSUB 1310:INPUT TD 750 INPUT"5. ";TE$:GOSUB 1310:INPUT TE 760 PRINT:PRINT"Kontant bruttol|n under 500 kr" 770 PRINT"Arbetsgivare (eller -)";TAB(J);"Inkomst kr (eller -)" 780 INPUT"6. ";TF$:GOSUB 1310:INPUT TF 790 INPUT"7. ";TG$:GOSUB 1310:INPUT TG 800 GOSUB 1940 810 GOSUB 5550 820 PRINT CL$:PRINT"VII.Inkomst av tj{nst, avdrag:":PRINT 830 PRINT"Bil eller buss (eller -)";TAB(J);"Kr (eller -)" 840 INPUT"1. ";AA$:GOSUB 1310:INPUT AA 850 INPUT"2. ";AB$:GOSUB 1310:INPUT AB 860 PRINT:PRINT"Avgift till A-kassa (eller -)";TAB(J);"Kr (eller -)" 870 INPUT"3. ";AC$:GOSUB 1310:INPUT AC 880 PRINT:PRINT"\vriga kostnader (eller -)";TAB(J);"Kr (eller -)" 890 INPUT"4. ";AD$:GOSUB 1310:INPUT AD 900 INPUT"5. ";AE$:GOSUB 1310:INPUT AE 910 INPUT"6. ";AF$:GOSUB 1310:INPUT AF 920 INPUT"7. ";AG$:GOSUB 1310:INPUT AG 930 GOSUB 2180:REM [NDRA N]GOT? 940 GOSUB 5560:REM UTR[KNINGSRUTIN 950 PRINT CL$:PRINT"IX.Uppgifter om f|rm|genhet":PRINT 960 INPUT"1. V{rdet p} bilen: ";FB:PRINT 970 PRINT"Bankmedel (banknamn eller -)";TAB(C);"R{nta (eller -)";TAB(K); 980 PRINT"F|rm|genhet,kr (eller -)" 990 INPUT"2. ";FH$:F=35:GOSUB 1310:INPUT RH:F=55:GOSUB 1310:INPUT FH 1000 INPUT"3. ";FI$:F=35:GOSUB 1310:INPUT RI:F=55:GOSUB 1310:INPUT FI 1010 INPUT"4. ";FJ$:F=35:GOSUB 1310:INPUT RJ:F=55:GOSUB 1310:INPUT FJ 1020 INPUT"5. ";FK$:F=35:GOSUB 1310:INPUT RK:F=55:GOSUB 1310:INPUT FK:PRINT 1030 IF FT=0 THEN 1050 1040 INPUT"6. Inteckningsskuld: ";FO 1050 GOSUB 2420 1060 GOSUB 5620 1070 PRINT CL$:PRINT"VIII.Inkomst av kapital":PRINT 1080 INPUT"1. \-skatter{nta...: ";KE 1090 INPUT"2. Annan skuldr {nta: ";KF 1100 INPUT"3. Bankfacksavgift.: ";KG:PRINT 1110 GOSUB 2630 1120 GOSUB 5630 1130 IF FT=0 THEN 1180 1140 PRINT CL$:PRINT"X.Inkomst av fastighet":PRINT 1150 INPUT"1. R{nta p} l}n: ";IA 1160 GOSUB 2780 1170 GOSUB 5710 1180 PRINT CL$:PRINT"XI.A llm{nna avdrag":PRINT 1190 PRINT"Livf|rs{kring (eller -)";TAB(J);"Premiebelopp (eller -)" 1200 INPUT"1. ";GA$:F=50:GOSUB 1310:INPUT GA 1210 INPUT"2. ";GB$:GOSUB 1310:INPUT GB:PRINT 1220 PRINT"Avdrag |ver 250 kr justeras!":PRINT 1230 INPUT"3. F|rv{rvsavdrag: ";G4 1240 GOSUB 2860 1250 GOSUB 5800 1260 PRINT CL$:PRINT"IV.Skattereduktion":PRINT 1270 INPUT"1. Skattespar: ";SS 1280 GOSUB 3010 1290 GOSUB 5840 1300 GOTO 260 1305 REM 1310=MARK\R 1 RAD UPP, T.EX 50 STEG H\GER 1310 PRINTCHR$(1);:FORW=1TOF:PRINTCHR$(9);:NEXTW:RETURN 1320 PRINT CL$ 1330 PRINT TAB(G)"** 2. [ndra data i deklarationen **" 1340 PRINT:PRINT 1350 ON ERROR GOTO 6250 1360 H=0:REM H=0, INGEN DATA[NDRING. H=1, DATA[NDRING 1370 IF IN=1 THEN 1400 1380 PRINT"Ingen deklaration finns inskriven! (Tryck RETURN)"; 1390 INPUTLINE#0, JN$:GOTO 260 1400 PRINT TAB(G)"Under vilken rubrik |nskas {ndring:":PRINT 1410 PRINT TAB(A)"1 --- I. 'Fasta v{rden'" 1420 PRINT TAB(A)"2 --- IV. Underlag f|r skattereduktion (skattespar)" 1430 PRINT TAB(A)"3 --- VII. Inkomst av tj{nst" 1440 PRINT TAB(A)"4 --- VII. Inkomst av tj{nst, avdrag" 1450 PRINT TAB(A)"5 --- VIII.Inkomst av kapital" 1460 PRINT TAB(A)"6 --- IX. Uppgift om f|rm|genhet" 1470 PRINT TAB(A)"7 --- X. Inkomst av fastighet" 1480 PRINT TAB(A)" 8 --- XI. Allm{nna avdrag" 1490 PRINT TAB(A)"9 --- Till MENY":PRINT 1500 PRINT TAB(G);:INPUT"V{lj nummer:";X 1510 IF X<1 OR X>9 THEN 1500 1520 ON X GOTO 1530,1600,1540,1550,1570,1560,1580,1590,260 1530 GOSUB 1690:IF H=0 THEN 260 ELSE GOTO 1610 1540 G!OSUB 1940:IF H=0 THEN 260 ELSE GOTO 1610 1550 GOSUB 2180:IF H=0 THEN 260 ELSE GOTO 1620 1560 GOSUB 2420:IF H=0 THEN 260 ELSE GOTO 1630 1570 GOSUB 2630:IF H=0 THEN 260 ELSE GOTO 1640 1580 GOSUB 2780:IF H=0 THEN 260 ELSE GOTO 1650 1590 GOSUB 2860:IF H=0 "THEN 260 ELSE GOTO 1670 1600 GOSUB 3010:IF H=0 THEN 260 ELSE GOTO 1680 1610 GOSUB 5550 1620 GOSUB 5560 1630 GOSUB 5620 1640 GOSUB 5630 1650 IF FT=0 THEN 1670 1660 GOSUB 5710 1670 GOSUB 5800 1680 GOSUB 5840:GOTO 260 1690 PRINT CL$ 1700 PRINT"F|ljande 'F#ASTA' v{rden finns inskrivna i programmet:" 1710 PRINT:PRINT 1720 PRINT"1. Beskattnings}ret.:";BE 1730 PRINT"2. Grundavdraget....:";GR 1740 PRINT"3. Komm skattesatsen:";SK 1750 PRINT"4. Fastighetens namn: ";FA$ 1760 PRINT"5. Taxeringsv{rdet..:";TV $ 1770 PRINT"6. Byggnadsv{rdet...:";BV 1780 PRINT"7. Extra avdrag.....:";IE 1790 PRINT"8. Procentavdraget..:";PA:PRINT 1800 INPUT"[ndring? Skriv 1 - 8. ( 0 ingen {ndring)";X 1810 PRINT 1820 IF X=0 THEN RETURN 1830 IF X<1 OR X>8 THEN 1800 1840 H=1 185 %0 ON X GOTO 1860,1870,1880,1890,1900,1910,1920,1930 1860 PRINT"1. Beskattnings}ret.:";:INPUT BE:GOTO 1690 1870 PRINT"2. Grundavdraget....:";:INPUT GR:GOTO 1690 1880 PRINT"3. Komm skattesatsen:";:INPUT SK:GOTO 1690 1890 PRINT"4. Fastighetens namn:";&:INPUT FA$:GOTO1690 1900 PRINT"5. Taxeringsv{rdet..:";:INPUT TV:GOTO 1690 1910 PRINT"6. Byggnadsv{rdet...:";:INPUT BV:GOTO 1690 1920 PRINT"7. Extra avdrag.....:";:INPUT IE:GOTO 1690 1930 PRINT"8. Procentavdraget..:";:INPUT PA:GOTO 1690 1940 PRINT C'L$:PRINT"VII.Inkomst av tj{nst":PRINT 1950 PRINT"Arbetsgivare (eller -)";TAB(J);"Inkomst kr (eller -)" 1960 PRINT"1. ";TA$;TAB(J);TA 1970 PRINT"2. ";TB$;TAB(J);TB 1980 PRINT"3. ";TC$;TAB(J);TC 1990 PRINT"4. ";TD$;TAB(J);TD 2000 PRINT"5. ";TE$;TAB(J);TE( 2010 PRINT:PRINT"Kontant bruttol|n under 500 kr" 2020 PRINT"Arbetsgivare (eller -)";TAB(J);"Inkomst kr (eller -)" 2030 PRINT"6. ";TF$;TAB(J);TF 2040 PRINT"7. ";TG$;TAB(J);TG:PRINT 2050 INPUT"[ndring? Skriv 1 - 7 ( 0 ingen {ndring)";X 2060 PRINT 2070 I)F X=0 THEN RETURN 2080 IF X<1 OR X>7 THEN 2050 2090 H=1 2100 ON X GOTO 2110,2120,2130,2140,2150,2160,2170 2110 INPUT"1. ";TA$:F=50:GOSUB 1310:INPUT TA:GOTO 1940 2120 INPUT"2. ";TB$:F=50:GOSUB 1310:INPUT TB:GOTO 1940 2130 INPUT"3. ";TC$:F=50:GOSUB 1310:*INPUT TC:GOTO 1940 2140 INPUT"4. ";TD$:F=50:GOSUB 1310:INPUT TD:GOTO 1940 2150 INPUT"5. ";TE$:F=50:GOSUB 1310:INPUT TE:GOTO 1940 2160 INPUT"6. ";TF$:F=50:GOSUB 1310:INPUT TF:GOTO 1940 2170 INPUT"7. ";TG$:F=50:GOSUB 1310:INPUT TG:GOTO 1940 2180 PRINT CL+$:PRINT"VII.Inkomst av tj{nst, avdrag:":PRINT 2190 PRINT"Bil eller buss (eller -)";TAB(J);"Kr (eller -)" 2200 PRINT"1. ";AA$;TAB(J);AA 2210 PRINT"2. ";AB$;TAB(J);AB 2220 PRINT:PRINT"Avgift till A-kassa (eller -)";TAB(J);"Kr (eller -)" 2230 PRINT"3. ";A,C$;TAB(J);AC 2240 PRINT:PRINT"\vriga kostnader (eller -)";TAB(J);"Kr (eller -)" 2250 PRINT"4. ";AD$;TAB(J);AD 2260 PRINT"5. ";AE$;TAB(J);AE 2270 PRINT"6. ";AF$;TAB(J);AF 2280 PRINT"7. ";AG$;TAB(J);AG:PRINT 2290 INPUT"[ndring? Skriv 1 - 7 ( 0 ingen {ndr-ing)";X 2300 PRINT 2310 IF X=0 THEN RETURN 2320 IF X<1 OR X>7 THEN 2290 2330 H=1 2340 ON X GOTO 2350,2360,2370,2380,2390,2400,2410 2350 INPUT"1. ";AA$:F=50:GOSUB 1310:INPUT AA:GOTO 2180 2360 INPUT"2. ";AB$:F=50:GOSUB 1310:INPUT AB:GOTO 2180 2370 INPUT" .3. ";AC$:F=50:GOSUB 1310:INPUT AC:GOTO 2180 2380 INPUT"4. ";AD$:F=50:GOSUB 1310:INPUT AD:GOTO 2180 2390 INPUT"5. ";AE$:F=50:GOSUB 1310:INPUT AE:GOTO 2180 2400 INPUT"6. ";AF$:F=50:GOSUB 1310:INPUT AF:GOTO 2180 2410 INPUT"7. ";AG$:F=50:GOSUB 1310:INPUT A /G:GOTO 2180 2420 PRINT CL$:PRINT"IX.Uppgifter om f|rm|genhet":PRINT 2430 PRINT"1. V{rdet p} bilen: ";TAB(C);FB;"kr":PRINT 2440 PRINT"Bankmedel (banknamn eller -)";TAB(C);"R{nta (eller -)";TAB(K); 2450 PRINT"F|rm|genhet,kr (eller -)" 2460 PRINT"2. ";FH0$;TAB(C);RH;TAB(K);FH 2470 PRINT"3. ";FI$;TAB(C);RI;TAB(K);FI 2480 PRINT"4. ";FJ$;TAB(C);RJ;TAB(K);FJ 2490 PRINT"5. ";FK$;TAB(C);RK;TAB(K);FK:PRINT 2500 PRINT"6. Inteckningsskuld: ";TAB(C);FO;"kr":PRINT 2510 INPUT"[ndring? Skriv 1 - 6 ( 0 ingen {ndrin1g)";X 2520 PRINT 2530 IF X=0 THEN RETURN 2540 IF X<1 OR X>6 THEN 2510 2550 H=1 2560 ON X GOTO 2570,2580,2590,2600,2610,2620 2570 INPUT"1. V{rdet p} bilen: ";FB:GOTO 2420 2580 INPUT"2. ";FH$:F=35:GOSUB 1310:INPUT RH:F=55:GOSUB 1310:INPUT FH:GOTO 2420 22590 INPUT"3. ";FI$:F=35:GOSUB 1310:INPUT RI:F=55:GOSUB 1310:INPUT FI:GOTO 2420 2600 INPUT"4. ";FJ$:F=35:GOSUB 1310:INPUT RJ:F=55:GOSUB 1310:INPUT FJ:GOTO 2420 2610 INPUT"5. ";FK$:F=35:GOSUB 1310:INPUT RK:F=55:GOSUB 1310:INPUT FK:GOTO 2420 2620 INPUT"6.3 Inteckningsskuld: ";FO:GOTO 2420 2630 PRINT CL$:PRINT"VIII.Inkomst av kapital":PRINT 2640 PRINT"1. \-skatter{nta...: ";KE 2650 PRINT"2. Annan skuldr{nta: ";KF 2660 PRINT"3. Bankfacksavgift.: ";KG:PRINT 2670 PRINT"4. Extra avdrag (max 1600 kr f|r 4gift)..: ";K4:PRINT 2680 INPUT"[ndring? Skriv 1 - 4 ( 0 ingen {ndring)";X 2690 PRINT 2700 IF X=0 THEN RETURN 2710 IF X<1 OR X>4 THEN 2680 2720 H=1 2730 ON X GOTO 2740,2750,2760,2770 2740 INPUT"1. \-skatter{nta...: ";KE:GOTO 2630 2750 INPUT"2. Annan s5kuldr{nta: ";KF:GOTO 2630 2760 INPUT"3. Bankfacksavgift.: ";KG:GOTO 2630 2770 INPUT"4. Extra avdrag (max 1600 kr f|r gift)..: ";K4:GOTO 2630 2780 PRINT CL$:PRINT"X.Inkomst av fastighet":PRINT 2790 PRINT"1. R{nta p} l}n: ";IA:PRINT 2800 INPUT"[ndring6? Skriv 1 ( 0 ingen {ndring)";X 2810 PRINT 2820 IF X=0 THEN RETURN 2830 IF X<>1 THEN 2800 2840 H=1 2850 INPUT"1. R{nta p} l}n: ";IA:GOTO 2780 2860 PRINT CL$:PRINT"XI.Allm{nna avdrag":PRINT 2870 PRINT"Livf|rs{kring (eller -)";TAB(J);"Premiebelopp (elle7r -)" 2880 PRINT"1. ";GA$;TAB(J);GA 2890 PRINT"2. ";GB$;TAB(J);GB:PRINT 2900 PRINT"3. F|rv{rvsavdrag: ";G4 2910 PRINT 2920 INPUT"[ndring? Skriv 1 - 3 ( 0 ingen {ndring)";X 2930 PRINT 2940 IF X=0 THEN RETURN 2950 IF X<1 OR X>3 THEN 2920 2960 H=1 2970 O 8N X GOTO 2980,2990,3000 2980 INPUT"1. ";GA$:F=50:GOSUB 1310:INPUT GA:GOTO 2860 2990 INPUT"2. ";GB$:GOSUB 1310:INPUT GB:GOTO 2860 3000 INPUT"3. F|rv{rvsavdrag: ";G4:GOTO 2860 3010 PRINT CL$:PRINT"IV.Skattereduktion":PRINT 3020 PRINT"1. Skattespar: ";SS 9:PRINT 3030 INPUT"[ndring? Skriv 1 ( 0 ingen {ndring)";X 3040 PRINT 3050 IF X=0 THEN RETURN 3060 IF X<>1 THEN 3030 3070 H=1 3080 INPUT"1. Skattespar: ";SS:GOTO 3010 3090 PRINT CL$ 3100 PRINT"** 3. Skriv ut deklarationen (sk{rm/printer) **" 3110 PRINT:P:RINT 3120 IF IN=1 THEN 3150 3130 PRINT"Ingen deklaration finns inskriven! (Tryck RETURN)"; 3140 INPUTLINE#0, JN$:GOTO 260 3150 INPUT"V{lj: P(rinter) eller S(sk{rm) ";JN$ 3160 IF JN$="S" THEN 3210 3170 IF JN$="P" THEN OPEN PR$ AS 0 ELSE GOTO 3150 3210 ;PRINT CL$:PRINT TAB(G)"V{lj dekl.sida f|r utskrift:":PRINT 3220 PRINT TAB(A)"1 --- Dekl.sida 1" 3230 PRINT TAB(A)"2 --- Sid 2" 3240 PRINT TAB(A)"3 --- Sid 3" 3250 PRINT TAB(A)"4 --- Sid 4 inkl skatteutr{kning" 3260 PRINT TAB(A)"5 --- Sid 1-4" 3270 PRININT#0,TAB(10)"Skattskyldig: ";NA$:PRINT#0 3420 PRINT#0,TAB(M)"Erlagd prelimin{r skatt:";PS:PRINT#0:PRINT#0 3430 IF JN$="S" THEN GOSUB 6330 3440 PRINT#0:PRINT#0:PRINT#0 3450 PRINT#0,"II.Sammanst{llning statlig ink.skatt"; 3460 PRINT#0,TAB(M)"III.Sammans?t{llning kommunal ink.skatt":PRINT#0 3470 PRINT#0,"Tj{nst (01)";:PRINT#0,USING' ######',TAB(L),A9; 3480 PRINT#0,TAB(M)"Tj{nst";:PRINT#0,USING' ######',TAB(E),A9 3490 PRINT#0,"Kapital (03)";:PRINT#0,USING'+######',TAB(L),K9; 3500 PRINT#0,TAB(M)"Kapita@l";:PRINT#0,USING'+######',TAB(E),K9:PRINT#0 3510 PRINT#0,"Summa inkomst";:PRINT#0,USING'=######',TAB(L),S0; 3520 PRINT#0,TAB(M)"Summa inkomst";:PRINT#0,USING'=######',TAB(E),L0 3530 PRINT#0,"Avg}r (10)";:PRINT#0,USING'-######',TAB(L),G2; 3540 PRINT#0A,TAB(M)"Avg}r (18)";:PRINT#0,USING'-######',TAB(E),G9 3550 PRINT#0,"Summa n.inkomst";:PRINT#0,USING'=######',TAB(L),S1; 3560 PRINT#0,TAB(M)"]terst}r";:PRINT#0,USING'=######',TAB(E),L1 3570 PRINT#0,"Avg}r (11)";:PRINT#0,USING'-######',TAB(L),G8; 3580  BPRINT#0,TAB(M)"F|rlustavdrag (19)" 3590 PRINT#0,"]terst}r";:PRINT#0,USING'=######',TAB(L),S2; 3600 PRINT#0,TAB(M)"]terst}r";:PRINT#0,USING'=######',TAB(E),L1 3610 PRINT#0,"F|rlustavdrag (12)"; 3620 PRINT#0,TAB(M)"Garantibelopp (20)";:PRINT#0,USING'+ C######',TAB(E),I4 3630 PRINT#0,"Taxera t. statl. (13)";:PRINT#0,USING'=######',TAB(L),SI; 3640 PRINT#0,TAB(M)"Taxera t. kommun (21)";:PRINT#0,USING'=######',TAB(E),KI 3650 IF JN$="S" THEN GOSUB 6330 3660 PRINT#0:PRINT#0:PRINT#0:PRINT#0 3670 PRINT#0,"IVD.Underlag f|r skattereduktion:" 3680 PRINT#0,"Under }ret insatt belopp p} skattespar (27) ";SS:PRINT#0:PRINT#0 3690 PRINT#0,TAB(M)"VI.F|rm|genhetsredovisning" 3700 PRINT#0,TAB(M)"Skattepliktig f|rm.het (25) ";F9 3710 GOTO 6320 3720 REM SIDA 2 3730 PRIENT#0:PRINT#0 3740 PRINT#0,"VII.Inkomst av tj{nst";TAB(75);"Sid 2":PRINT#0 3750 PRINT#0,"1. Kontant bruttol|n" 3760 PRINT#0,TA$;:PRINT#0,USING' ######',TAB(D),TA 3770 PRINT#0,TB$;:PRINT#0,USING'+######',TAB(D),TB 3780 PRINT#0,TC$;:PRINT#0,USING'+######'F,TAB(D),TC 3790 PRINT#0,TD$;:PRINT#0,USING'+######',TAB(D),TD 3800 PRINT#0,TE$;:PRINT#0,USING'+######',TAB(D),TE; 3810 PRINT#0," (80)";:PRINT#0,USING' ######',TAB(E),T0 3820 PRINT#0,"2. Kontant bruttol|n under 500 kr" 3830 PRINT#0,TF$;:PRINT#0,USING' G######',TAB(D),TF 3840 PRINT#0,TG$;:PRINT#0,USING'+######',TAB(D),TG; 3850 PRINT#0," (81)";:PRINT#0,USING'+######',TAB(E),T1 3860 PRINT#0,"3.":PRINT#0,"4.":PRINT#0,"5." 3870 PRINT#0,TAB(D)"Summa";:PRINT#0,USING'=######',TAB(E),T9 3880 PRINT#0:PRINT#0:HPRINT#0 3890 IF JN$="S" THEN GOSUB 6330 3900 PRINT#0,"6. Avdrag" 3910 PRINT#0,"a) Kostnader f|r resor" 3920 PRINT#0,AA$;:PRINT#0,USING' ######',TAB(C),AA 3930 PRINT#0,AB$;:PRINT#0,USING'+######',TAB(C),AB 3940 PRINT#0,"Avg}r, (Ej avdragsgill del)"; 395I0 PRINT#0,USING'-######',TAB(C);1000 3960 PRINT#0,"Underskott";:PRINT#0,USING'=######',TAB(C),A0 3970 PRINT#0:PRINT#0,"b) Avgift till A-kassa" 3980 PRINT#0,AC$;:PRINT#0,USING'+######(86) ######',TAB(C),AC,TAB(D),A1 3990 PRINT#0:PRINT#0,"c) \vriga kostJnader" 4000 PRINT#0,AD$;:PRINT#0,USING' ######',TAB(C),AD 4010 PRINT#0,AE$;:PRINT#0,USING'+######',TAB(C),AE 4020 PRINT#0,AF$;:PRINT#0,USING'+######',TAB(C),AF 4030 PRINT#0,AG$;:PRINT#0,USING'+######(87) +######',TAB(C),AG,TAB(D),A2 4040 PRINT#0:PRINT#K0,"Summa (avrundat i h|ger kolumn)"; 4050 PRINT#0,USING' =######',TAB(D),A3; 4060 PRINT#0,USING'-######',TAB(E),A4 4070 PRINT#0:PRINT#0,TAB(D);"Summa"; 4080 PRINT#0,USING'=######',TAB(E),A9 4090 IF JN$="S" THEN GOSUB 6330 4100 PRINT#0:PRINT#0:PRINT#0  L4110 PRINT#0,"VII.Inkomst av kapital" 4120 PRINT#0:PRINT#0,"1. R{nta";TAB(C);"\-skatter{nta" 4130 PRINT#0,TAB(5);KB;TAB(C);KE;:PRINT#0,USING' ######',TAB(E),K0 4140 PRINT#0:PRINT#0,"2. Skuldr{nta";TAB(L);"F|rvaltn.kostnad" 4150 PRINT#0,TAB(5);KF;TAB( ML);KG;:PRINT#0,USING'-######',TAB(E),K1 4160 PRINT#0:PRINT#0,"]terst}r";TAB(C);"Underskott" 4170 PRINT#0,TAB(C);K3;:PRINT#0,USING'=######',TAB(E),K2 4180 PRINT#0:PRINT#0,"3.Extra avdrag";:PRINT#0,USING'-######',TAB(E),K4 4190 PRINT#0:PRINT#0,TAB(D);"SuNmma"; 4200 PRINT#0,USING'=######',TAB(E),K9 4210 GOTO 6320 4220 REM SIDA 3 4230 PRINT#0:PRINT#0 4240 PRINT#0,"IX.Uppgifter om f|rm|genhet";TAB(75);"Sid 3":PRINT#0 4250 PRINT#0,"1. Fastighetens beteckning";TAB(D);"Taxeringsv{rde"; 4260 PRINT#0,TAB(E);"FO|rm|genhet" 4270 PRINT#0,FA$;:PRINT#0,USING' ######',TAB(D),TV 4280 PRINT#0,USING' ######',TAB(E),TV 4290 PRINT#0:PRINT#0,"2. Bil":PRINT#0,FB;:PRINT#0,USING'+######',TAB(E),FB 4300 PRINT#0:PRINT#0,"3.":PRINT#0,"4.":PRINT#0,"5." 4310 IF JN$="S" THEN GOSPUB 6330 4320 PRINT#0:PRINT#0,"6. Bankmedel";TAB(D);"R{nta";TAB(E);"F|rm|genhet" 4330 PRINT#0,FH$;:PRINT#0,USING'+######+######',TAB(D),RH,TAB(E),FH 4340 PRINT#0,FI$;:PRINT#0,USING'+######+######',TAB(D),RI,TAB(E),FI 4350 PRINT#0,FJ$;:PRINT#0,USING'+###Q###+######',TAB(D),RJ,TAB(E),FJ 4360 PRINT#0,FK$;:PRINT#0,USING'+######+######',TAB(D),RK,TAB(E),FK 4370 PRINT#0,"Summa r{nta";:PRINT#0,USING'=######',TAB(D),KB 4380 PRINT#0:PRINT#0,"7. Kontanter ":PRINT#0 4390 PRINT#0,TAB(D),"Summa tillg}ngar";:PRINTR#0,USING'=######',TAB(E),F0 4400 PRINT#0:PRINT#0,"8. Inteckningsskulder":PRINT#0,FO; 4410 PRINT#0,USING'-######',TAB(E),F1:PRINT#0 4420 PRINT#0,"Skattepliktig f|rm|genhet";:PRINT#0,USING'=######',TAB(E),F9 4430 IF FT=0 THEN 6320 4440 IF JN$="S" THEN GOSSUB 6330 4450 PRINT#0:PRINT#0:PRINT#0 4460 PRINT#0,"X.Inkomst av fastighet":PRINT#0 4470 PRINT#0,"Taxeringsv{rde=";TV;" d{rav byggnadsv{rde=";BV:PRINT#0 4480 PRINT#0,"Ber{knad int{kt";:PRINT#0,USING' ######',TAB(E),I0 4490 PRINT#0:PRINT#0,"Avdrag":PRITNT#0,"R{nta p} l}n ";IA 4500 PRINT#0,"Avg}r";:PRINT#0,USING'-######',TAB(D),IA 4510 PRINT#0,"Extra avdrag ";IE;:PRINT#0,USING'+######',TAB(D),IE; 4520 PRINT#0,USING'-######',TAB(E),I1 4530 PRINT#0:PRINT#0,"Nettoint{kt";TAB(D);"Underskott" 4540 PRINT#0,UUSING' ######',TAB(D),I3; 4550 PRINT#0,USING'=######',TAB(E),I2 4560 PRINT#0,"Procentavdrag";:PRINT#0,USING'-######',TAB(E),I4 4570 PRINT#0,TAB(D);"Summa"; 4580 PRINT#0,USING'=######',TAB(E),I9 4590 GOTO 6320 4600 REM SIDA 4 4610 PRINT#0:PRINT#0 4620 P VRINT#0,"XI.Allm{nna avdrag";TAB(75);"Sid 4":PRINT#0 4630 PRINT#0,"1. Underskott" 4640 PRINT#0,"Kapital";TAB(G);"Annan fastighet";TAB(D);"Statlig taxering"; 4650 PRINT#0,TAB(E);"Kommunal taxering":PRINT#0,K3;TAB(G);I3; 4660 PRINT#0,USING' ###### ######' W,TAB(D),G0,TAB(E),G0 4670 PRINT#0,"2.":PRINT#0,"Summa avdrag";:PRINT#0,USING'=######',TAB(D),G2 4680 FORZ=1TO52:PRINT#0,"-";:NEXTZ:PRINT#0:PRINT#0,"3.":PRINT#0,"4." 4690 PRINT#0,"5. Livf|rs{kringspremier":PRINT#0,GA$;GA 4700 PRINT#0,GB$;GB;:PRINT#0,USIXNG'+######+######',TAB(D),G3,TAB(E),G3 4710 PRINT#0,"6.":PRINT#0,"7. F|rv{rvsavdrag"; 4720 PRINT#0,USING'+######+######',TAB(D),G4,TAB(E),G4 4730 PRINT#0,"8.":PRINT#0 4740 PRINT#0,"Summa"; 4750 PRINT#0,USING'=######=######',TAB(D),G8,TAB(E),G9 4760 IF YJN$="S" THEN GOSUB 6330 4770 PRINT#0:FORZ=1TO79:PRINT#0,"=";:NEXTZ 4780 PRINT#0:PRINT#0:PRINT#0:PRINT#0 4790 PRINT#0,"****** S K A T T E U T R [ K N I N G *****" 4800 PRINT#0:PRINT#0 4810 PRINT#0,"Statlig:" 4820 PRINT#0,"Beskattningsbar inkomst";:PRINTZ#0,USING' ######',TAB(C),SG 4830 PRINT#0,"Inkomstskatt";:PRINT#0,USING'=######',TAB(C),ST:PRINT#0:PRINT#0 4840 PRINT#0,"Kommunal:" 4850 PRINT#0,"Beskattningsbar inkomst";:PRINT#0,USING' ######',TAB(C),KL 4860 PRINT#0,"Grundavdrag";:PRINT#0,USING'-#####[#',TAB(C),GR 4870 PRINT#0,"Beskattningsbar inkomst";:PRINT#0,USING'=######',TAB(C),BI 4880 PRINT#0:PRINT#0,"Inkomstskatt";:PRINT#0,USING'=######',TAB(C),KO 4890 IF JN$="S" THEN GOSUB 6330 4900 PRINT#0:PRINT#0 4910 PRINT#0,"Slutlig skatt:":PRINT#0 4920 \PRINT#0,"Statlig";:PRINT#0,USING' ######',TAB(C),ST 4930 PRINT#0,"Kommunal";:PRINT#0,USING'+######',TAB(C),KO 4940 PRINT#0,"Sparskattereduktion";:PRINT#0,USING'-######',TAB(C),SQ 4950 PRINT#0,"Summa slutlig skatt";:PRINT#0,USING'=######',TAB(C),S9 4960] PRINT#0,"Prelimin{r skatt";:PRINT#0,USING'-######',TAB(C),PS:PRINT#0 4970 IF FL=1 THEN PRINT#0,"Skatt tillbaka";:GOTO4990 4980 IF FL=2 THEN PRINT#0,"Kvarskatt"; 4990 PRINT#0,USING'=######',TAB(C),BA 5000 GOTO 6320 5010 PRINT CL$ 5020 PRINT"** 4. Spara^ deklarationens data **" 5030 PRINT:PRINT 5040 IF IN=0 THEN 5050 ELSE GOTO 5070 5050 PRINT"Ingen deklaration finns inskriven! (Tryck RETURN)"; 5060 INPUTLINE JN$:GOTO 260 5070 PRINT"F|ljande filnamn.DAT finns p} arbetsdisken: (tryck RETURN) "; 5080 INP_UTLINE JN$ 5090 PRINT:EXEC,"CAT .DAT" 5100 PRINT:PRINT"V{lj filnamn, t.ex. ']KE-82' (max 8 tecken) --> .DAT" 5110 F=48:GOSUB 1310:INPUT#0,NN$ 5120 PRINT:PRINT:PRINT"Data till diskett...v{nta..." 5130 OPEN NEW NN$ AS 1 5140 PRINT #1,BE;",";GR;",";SK;", `";FA$;",";TV;",";BV;",";IE 5150 PRINT #1,PA;",";PR;",";NA$;",";PS;",";SS;",";FT 5160 PRINT #1,TA$;",";TA;",";TB$;",";TB;",";TC$;",";TC 5170 PRINT #1,TD$;",";TD;",";TE$;",";TE 5180 PRINT #1,TF$;",";TF;",";TG$;",";TG 5190 PRINT #1,AA$;",";AA;",";AB$;","; aAB;",";AC$;",";AC;",";AD$;",";AD 5200 PRINT #1,AE$;",";AE;",";AF$;",";AF;",";AG$;",";AG 5210 PRINT #1,FB;",";FH$;",";RH;",";FH;",";FI$;",";RI;",";FI 5220 PRINT #1,FJ$;",";RJ;",";FJ;",";FK$;",";RK;",";FK;",";FO 5230 PRINT #1,KE;",";KF;",";KG 5240 PRINT b#1,IA 5250 PRINT #1,GA$;",";GA;",";GB$;",";GB;",";G4 5260 CLOSE 1:GOTO 260 5270 PRINT CL$ 5280 PRINT"** 5. Ta in data fr}n annan deklaration **" 5290 PRINT:PRINT 5300 GOSUB 6280:REM SKA EV DATA SPARAS 5310 IF JN$="J" THEN 5010 5320 PRINT"F|ljande dataf ciler finns p} arbetsdisken: (tryck RETURN) "; 5330 INPUTLINE JN$ 5340 PRINT:EXEC,"CAT .DAT" 5350 PRINT:PRINT"V{lj filnamn, t.ex. ']KE-82' --> .DAT" 5360 F=33:GOSUB 1310:INPUT#0,NN$ 5370 GOSUB 6350:GOSUB 220 5380 IN=1 5390 PRINT:PRINT:PRINT"Data fr}n d diskett...v{nta..." 5400 ON ERROR GOTO 6380 5410 OPEN OLD NN$ AS 1 5420 INPUT #1,BE,GR,SK,FA$,TV,BV,IE 5430 INPUT #1,PA,PR,NA$,PS,SS,FT 5440 INPUT #1,TA$,TA,TB$,TB,TC$,TC 5450 INPUT #1,TD$,TD,TE$,TE 5460 INPUT #1,TF$,TF,TG$,TG 5470 INPUT #1,AA$,AA,AB$,A eB,AC$,AC,AD$,AD 5480 INPUT #1,AE$,AE,AF$,AF,AG$,AG 5490 INPUT #1,FB,FH$,RH,FH,FI$,RI,FI 5500 INPUT #1,FJ$,RJ,FJ,FK$,RK,FK,FO 5510 INPUT #1,KE,KF,KG 5520 INPUT #1,IA 5530 INPUT #1,GA$,GA,GB$,GB,G4 5540 CLOSE 1:GOTO 1610 5545 REM *** UTR[KNINGSRUTINER ** f* 5546 REM INKOMST AV TJ[NST 5550 T0=TA+TB+TC+TD+TE:T1=TF+TG:T9=T0+T1:RETURN 5555 REM AVDRAG 5560 A0=AA+AB-1000 5570 IF A0 <0 THEN A0=0 5580 A1=A0+AC:A2=AD+AE+AF+AG:A3=A1+A2 5590 A4=INT(A3/100+1)*100 5600 IF A4=A3+100 THEN A4=A4-100 5610 A9=T9-A4:RETUR gN 5615 REM F\RM\GENHET 5620 KB=RH+RI+RJ+RK:F0=TV+FB+FH+FI+FJ+FK:F1=FO:F9=F0-F1:RETURN 5625 REM INKOMST AV KAPITAL 5630 K0=KB+KE:K1=KF+KG 5640 IF K1=K0 THEN K2=0:K3=0:K4=0:K9=0:RETURN 5650 IF K1K0 THEN 5700 5670 K2=K0-K1:IF K4>0 h THEN 5680 ELSE K4=1600 5680 IF K4>K2 THEN K4=K2 5690 K9=K2-K4:K3=0:RETURN 5700 K3=K1-K0:K2=0:K4=0:K9=0:RETURN 5705 REM INKOMST AV FASTIGHET 5710 I0=(2*TV)/100:I1=IA+IE 5720 I4=(PA*TV)/100 5730 IF I1=I0 THEN I2=0:I3=0:I9=0:RETURN 5740 IF I1>I0 THEN 576 i0 5750 IF I1I2 THEN I9=0:RETURN 5790 I9=I2-I4:RETURN 5795 REM ALLM[NNA AVDRAG 5800 G0=K3+I3:G2=G0 5810 G3=GA+GB 5820 IF G3>250 THEN G3=250 5830 G8=G3+G4:G9=G0+G3+G4:RETURN 5831 jREM SKATTEUTR[KNING 5832 REM G(I) [R INKOMSTGR[NS 5833 REM B(I) [R MOTSVARANDE BASSKATT 5834 REM P(I) [R PROCENTUELL SKATT SOM TAS UT AV ]TERSTODEN 5835 REM N [R ANTALET SKATTEKLASSER 5836 REM SI [R TAXERAD STATLIG INKOMST 5837 REM KI [R TAXER kAD KOMMUNAL INKOMST 5838 REM ST [R STATLIG INKOMSTSKATT 5839 REM SQ [R PR% AV SKATTESPAR BELOPP SS 5840 PRINT"Skatteutr{kning sker nu!" 5850 RESTORE 5860 S0=A9+K9:S1=S0-G2:S2=S1-G8:SI=S2 5870 L0=A9+K9:L1=L0-G9:KI=L1+I4 5880 SG=SI:KL=KI 5890 I=1 590!l0 READ G(I),B(I),P(I) 5910 IF G(I)<0 THEN 5940 5920 I=I+1 5930 GOTO 5900 5940 N=I-1 5945 REM FNA(Q) AVRUNDAR Q NED]T TILL N[RMASTE HUNDRATAL 5950 DEF FNA(Q)=100*INT(Q/100) 5960 SG=FNA(SG) 5970 FOR I=N TO 1 STEP -1 5980 IF SG<=G(I) THEN 6010 5990 ST=B(!mI)+P(I)*(SG-G(I))/100 6000 GOTO 6020 6010 NEXT I 6020 KL=FNA(KL):BI=KL-GR 6030 KO=INT(BI*SK/100) 6040 SQ=(PR*SS)/100 6050 S9=ST+KO-SQ 6060 IF PS>S9 THEN FL=1:BA=FNA(PS-S9):RETURN 6070 IF PS30 THEN ON ERROR GOTO 6260 PRINT CHR$(7):PRIN!qT"FEL INSLAGET!" 6270 RESUME 6275 REM SKA DATA SPARAS? 6280 IF IN=1 THEN 6290 ELSE RETURN 6290 PRINT CHR$(7):PRINT"OBS! Deklaration finns inskriven! "; 6300 PRINT"Ska data sparas (J/N) ";:INPUT JN$:PRINT 6310 RETURN 6320 IF JN$="P" THEN PRINT#0,CL$:PRI!rNT#0:RETURN 6330 PRINT:PRINT"Tryck RETURN!";:INPUT LINE#0,SK$ 6340 RETURN 6345 REM NOLLST[LLNING AV VISSA VARIABLER 6350 K2=0:K3=0:IA=0:I0=0:I2=0:I3=0:I4=0 6360 ST=0:KO=0:Q=0:SI=0:KI=0:SQ=0:TS=0:BA=0 6370 RETURN 6380 IF ERR<>4 THEN ON ERROR GOTO 6390 PsRINT CHR$(7):PRINT"Filnamnet finns ej (tryck RETURN)!";:INPUTLINE#0,JN$ 6400 CLOSE 1:IN=0:RESUME 260 6405 REM SLUT 6410 GOSUB 6280 6420 IF JN$="J" THEN 5010 6430 END ! 'HEN 2510 2550 H=1 2560 ON X GOTO 2570,2580,2590,2600,2610,2620 2570 INPUT"1. V{rdet p} bilen: ";FB:GOTO 2420 2580 INPUT"2. ";FH$:F=35:GOSUB 1310:INPUT RH:F=55:GOSUB 1310:INPUT FH:GOTO 2420 2590 INPUT"3. ";FI$:F=35:GOSUB 1310:INPUT RI:F=55:GOSUB 1310:I (NPUT FI:GOTO 2420 2600 INPUT"4. ";FJ$:F=35:GOSUB 1310:INPUT RJ:F=55:GOSUB 1310:INPUT FJ:GOTO 2420 2610 INPUT"5. ";FK$:F=35:GOSUB 1310:INPUT RK:F=55:GOSUB 1310:INPUT FK:GOTO 2420 2620 INPUT"6. Inteckningsskuld: ";FO:GOTO 2420 2630 PRINT CL$:PRINT"VIII." 1982 , 7500 , 30.2 ,J\NARP 9:3, 265000 , 195000 , 1500 1.5 , 20 ,J\NS J\NSON, 30047 , 4400 , 1 J\NARPS KOMMUN, 75000 ,J\NARPS IF, 600 ,-, 0 -, 0 ,-, 0 J\NARPS GR[SKLIPPN. AB, 450 ,-, 0 BUSS, 1050 ,-, 0 ,AEA, 100 ,AVSKRIVNING SKRIVMASKIN, 210 -, 0 ,-, 0 ,-, 0 10000 ,J\NARPSBANKEN, 461 , 2045 ,J\NARPSBANKEN SKATTESPAR, 0 , 4600 -, 0 , 0 ,-, 0 , 0 , 180300 55 , 1900 , 75 16231 LIV J\NSSAM, 280 ,-, 0 , 0 "Arbetsgivare (eller -)";TAB(J);"Inkomst kr (eller -)" 2030 PRINT"6. ";TF$;TAB(J);TF 2040 PRINT"7. ";TG$;TAB(J);TG:PRINT 2050 INPUT"[ndring? Skriv 1 - 7 ( 0 ingen {ndring)";X 2060 PRINT 2070 IF X=0 THEN RETURN 2080 IF X<1 OR X>7 THEN 2050 2090 H=1 2100 "ON X GOTO 2110,2120,2130,2140,2150,2160,2170 2110 INPUT"1. ";TA$:F=50:GOSUB 1310:INPUT TA:GOTO 1940 2120 INPUT"2. ";TB$:F=50:GOSUB 1310:INPUT TB:GOTO 1940 2130 INPUT"3. ";TC$:F=50:GOSUB 1310:INPUT TC:GOTO 1940 2140 INPUT"4. ";TD$:F=50:GOSUB 1310:INPUT " TD:GOTO 1940 2150 INPUT"5. ";TE$:F=50:GOSUB 1310:INPUT TE:GOTO 1940 2160 INPUT"6. ";TF$:F=50:GOSUB 1310:INPUT TF:GOTO 1940 2170 INPUT"7. ";TG$:F=50:GOSUB 1310:INPUT TG:GOTO 1940 2180 PRINT CL$:PRINT"VII.Inkomst av tj{nst, avdrag:":PRINT 2190 PRINT"Bil "!eller buss (eller -)";TAB(J);"Kr (eller -)" 2200 PRINT"1. ";AA$;TAB(J);AA 2210 PRINT"2. ";AB$;TAB(J);AB 2220 PRINT:PRINT"Avgift till A-kassa (eller -)";TAB(J);"Kr (eller -)" 2230 PRINT"3. ";AC$;TAB(J);AC 2240 PRINT:PRINT"\vriga kostnader (eller -)";TAB""(J);"Kr (eller -)" 2250 PRINT"4. ";AD$;TAB(J);AD 2260 PRINT"5. ";AE$;TAB(J);AE 2270 PRINT"6. ";AF$;TAB(J);AF 2280 PRINT"7. ";AG$;TAB(J);AG:PRINT 2290 INPUT"[ndring? Skriv 1 - 7 ( 0 ingen {ndring)";X 2300 PRINT 2310 IF X=0 THEN RETURN 2320 IF X<1 OR X>7"# THEN 2290 2330 H=1 2340 ON X GOTO 2350,2360,2370,2380,2390,2400,2410 2350 INPUT"1. ";AA$:F=50:GOSUB 1310:INPUT AA:GOTO 2180 2360 INPUT"2. ";AB$:F=50:GOSUB 1310:INPUT AB:GOTO 2180 2370 INPUT"3. ";AC$:F=50:GOSUB 1310:INPUT AC:GOTO 2180 2380 INPUT"4. ";A" $D$:F=50:GOSUB 1310:INPUT AD:GOTO 2180 2390 INPUT"5. ";AE$:F=50:GOSUB 1310:INPUT AE:GOTO 2180 2400 INPUT"6. ";AF$:F=50:GOSUB 1310:INPUT AF:GOTO 2180 2410 INPUT"7. ";AG$:F=50:GOSUB 1310:INPUT AG:GOTO 2180 2420 PRINT CL$:PRINT"IX.Uppgifter om f|rm|genhet"" %:PRINT 2430 PRINT"1. V{rdet p} bilen: ";TAB(C);FB;"kr":PRINT 2440 PRINT"Bankmedel (banknamn eller -)";TAB(C);"R{nta (eller -)";TAB(K); 2450 PRINT"F|rm|genhet,kr (eller -)" 2460 PRINT"2. ";FH$;TAB(C);RH;TAB(K);FH 2470 PRINT"3. ";FI$;TAB(C);RI;TAB(K);FI!& 2480 PRINT"4. ";FJ$;TAB(C);RJ;TAB(K);FJ 2490 PRINT"5. ";FK$;TAB(C);RK;TAB(K);FK:PRINT 2500 PRINT"6. Inteckningsskuld: ";TAB(C);FO;"kr":PRINT 2510 INPUT"[ndring? Skriv 1 - 6 ( 0 ingen {ndring)";X 2520 PRINT 2530 IF X=0 THEN RETURN 2540 IF X<1 OR X>6 T