_  __   _  _         _ _     _      _           _           
  __| |/ /_ | || |     __| (_)___| | __ (_)_ __   __| | _____  __
 / _` | '_ \| || |_   / _` | / __| |/ / | | '_ \ / _` |/ _ \ \/ /
| (_| | (_) |__   _| | (_| | \__ \   <  | | | | | (_| |  __/>  < 
 \__,_|\___/   |_|    \__,_|_|___/_|\_\ |_|_| |_|\__,_|\___/_/\_\
                                                                 
            

TB/WITHIN

FILE INFORMATION

FILENAME(S): TB/WITHIN

FILE TYPE(S): PRG

FILE SIZE: 1.9K

FIRST SEEN: 2025-11-30 16:59:31

APPEARS ON: 1 disk(s)

FILE HASH

ac951124760f46fa4f7f622981d177f98f2ddb6e37c41cf9557010f2dec14bea

FOUND ON DISKS (1 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
BASIC UTILITIES TB/WITHIN PRG High Voltage Complete C64 Collection 9 13 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

> DETECTED: COMMODORE BASIC PROGRAM (LOAD ADDRESS $0801)

00000000: 01 08 1B 08 00 00 8F 20  57 49 54 48 49 4E 20 28  |....... WITHIN (|
00000010: 41 55 47 20 32 35 2F 38  34 29 3A 00 21 08 01 00  |AUG 25/84):.!...|
00000020: 3A 00 40 08 02 00 8F 20  30 20 53 54 41 54 45 4D  |:.@.... 0 STATEM|
00000030: 45 4E 54 53 2C 20 31 20  46 55 4E 43 54 49 4F 4E  |ENTS, 1 FUNCTION|
00000040: 00 46 08 03 00 3A 00 62  08 04 00 8F 20 4B 45 59  |.F...:.b.... KEY|
00000050: 57 4F 52 44 20 43 48 41  52 41 43 54 45 52 53 3A  |WORD CHARACTERS:|
00000060: 20 37 00 68 08 05 00 3A  00 8E 08 06 00 8F 20 4B  | 7.h...:...... K|
00000070: 45 59 57 4F 52 44 20 20  20 52 4F 55 54 49 4E 45  |EYWORD   ROUTINE|
00000080: 20 20 20 4C 49 4E 45 20  20 20 53 45 52 23 00 B3  |   LINE   SER#..|
00000090: 08 07 00 8F 20 46 2F 57  49 54 48 49 4E 28 20 57  |.... F/WITHIN( W|
000000A0: 49 54 48 49 4E 20 20 20  20 33 36 39 38 20 20 20  |ITHIN    3698   |
000000B0: 30 32 38 00 B9 08 08 00  3A 00 D3 08 09 00 8F 20  |028.....:...... |
000000C0: 55 2F 50 53 48 46 50 31  20 28 33 32 37 30 2F 30  |U/PSHFP1 (3270/0|
000000D0: 36 33 29 00 EC 08 0A 00  8F 20 55 2F 50 55 4C 35  |63)...... U/PUL5|
000000E0: 37 20 28 33 33 30 38 2F  30 36 34 29 00 F2 08 0B  |7 (3308/064)....|
000000F0: 00 3A 00 19 09 0C 00 8F  20 3D 3D 3D 3D 3D 3D 3D  |.:...... =======|
00000100: 3D 3D 3D 3D 3D 3D 3D 3D  3D 3D 3D 3D 3D 3D 3D 3D  |================|
00000110: 3D 3D 3D 3D 3D 3D 3D 3D  3D 00 1F 09 0D 00 3A 00  |=========.....:.|
00000120: 39 09 5F 02 2E C6 20 22  57 49 54 48 49 4E 22 3A  |9._... "WITHIN":|
00000130: 2E 42 59 54 45 20 24 41  38 00 4B 09 47 06 2E 57  |.BYTE $A8.K.G..W|
00000140: B0 44 20 57 49 54 48 49  4E AB 31 00 6C 09 C6 0C  |.D WITHIN.1.l...|
00000150: 50 53 48 46 50 31 20 4C  44 41 20 23 33 20 3B 46  |PSHFP1 LDA #3 ;F|
00000160: 41 43 23 31 20 A4 20 53  54 41 43 4B 00 8C 09 C8  |AC#1 . STACK....|
00000170: 0C 4A 53 52 20 24 41 33  46 42 20 3B 43 48 45 43  |.JSR $A3FB ;CHEC|
00000180: 4B 20 53 54 41 43 4B 20  52 4F 4F 4D 00 9E 09 CA  |K STACK ROOM....|
00000190: 0C 50 4C 41 20 3B 94 20  8E 20 41 44 44 52 00 AA  |.PLA ;. . ADDR..|
000001A0: 09 CC 0C 53 54 41 20 24  37 31 00 B2 09 CE 0C 50  |...STA $71.....P|
000001B0: 4C 41 00 BE 09 D0 0C 53  54 41 20 24 37 32 00 DD  |LA.....STA $72..|
000001C0: 09 D2 0C 4A 53 52 20 24  42 42 43 41 20 3B 46 41  |...JSR $BBCA ;FA|
000001D0: 43 23 31 20 A4 20 24 35  37 AB 24 35 42 00 F5 09  |C#1 . $57.$5B...|
000001E0: D4 0C 4C 44 58 20 23 30  20 3B 43 4C 45 41 52 20  |..LDX #0 ;CLEAR |
000001F0: 49 4E 44 45 58 00 13 0A  D6 0C 50 48 46 31 20 4C  |INDEX.....PHF1 L|
00000200: 44 41 20 24 35 37 2C 58  20 3B 43 4F 50 59 20 41  |DA $57,X ;COPY A|
00000210: 52 45 41 00 24 0A D8 0C  50 48 41 20 3B A4 20 53  |REA.$...PHA ;. S|
00000220: 54 41 43 4B 00 2C 0A DA  0C 49 4E 58 00 37 0A DC  |TACK.,...INX.7..|
00000230: 0C 43 50 58 20 23 35 00  44 0A DE 0C 42 4E 45 20  |.CPX #5.D...BNE |
00000240: 50 48 46 31 00 5A 0A E0  0C 50 48 46 32 20 4C 44  |PHF1.Z...PHF2 LD|
00000250: 41 20 24 37 32 20 3B 8C  20 8E 00 6B 0A E2 0C 50  |A $72 ;. ..k...P|
00000260: 48 41 20 3B 41 44 44 52  45 53 53 00 77 0A E4 0C  |HA ;ADDRESS.w...|
00000270: 4C 44 41 20 24 37 31 00  7F 0A E6 0C 50 48 41 00  |LDA $71.....PHA.|
00000280: 87 0A E8 0C 52 54 53 00  8D 0A EA 0C 3B 00 AD 0A  |....RTS.....;...|
00000290: EC 0C 50 55 4C 35 37 20  50 4C 41 20 3B 24 35 37  |..PUL57 PLA ;$57|
000002A0: 2E 2E 2E 46 52 4F 4D 20  53 54 41 43 4B 00 C6 0A  |...FROM STACK...|
000002B0: EE 0C 53 54 41 20 24 37  31 20 3B 94 20 8E 20 41  |..STA $71 ;. . A|
000002C0: 44 44 52 45 53 53 00 CE  0A F0 0C 50 4C 41 00 DA  |DDRESS.....PLA..|
000002D0: 0A F2 0C 53 54 41 20 24  37 32 00 F7 0A F4 0C 4C  |...STA $72.....L|
000002E0: 44 58 20 23 34 20 3B 49  4E 49 54 49 41 4C 49 5A  |DX #4 ;INITIALIZ|
000002F0: 45 20 49 4E 44 45 58 00  11 0B F6 0C 50 4C 35 37  |E INDEX.....PL57|
00000300: 20 50 4C 41 20 3B 43 4F  50 59 20 A4 20 41 52 45  | PLA ;COPY . ARE|
00000310: 41 00 30 0B F8 0C 53 54  41 20 24 35 37 2C 58 20  |A.0...STA $57,X |
00000320: 3B 53 54 41 52 54 49 4E  47 20 41 54 20 24 35 37  |;STARTING AT $57|
00000330: 00 38 0B FA 0C 44 45 58  00 45 0B FC 0C 42 50 4C  |.8...DEX.E...BPL|
00000340: 20 50 4C 35 37 00 5F 0B  FE 0C 42 4D 49 20 50 48  | PL57._...BMI PH|
00000350: 46 32 20 3B 8C 20 8E 20  41 44 44 52 45 53 53 00  |F2 ;. . ADDRESS.|
00000360: 65 0B 00 0D 3B 00 84 0B  72 0E 57 49 54 48 49 4E  |e...;...r.WITHIN|
00000370: 20 4A 53 52 20 24 41 44  38 41 20 3B 87 20 4E 55  | JSR $AD8A ;. NU|
00000380: 4D 20 BD 52 00 A4 0B 74  0E 4A 53 52 20 43 4F 4D  |M .R...t.JSR COM|
00000390: 54 53 54 20 3B 53 45 43  20 8B 20 C5 32 20 57 49  |TST ;SEC . .2 WI|
000003A0: 54 48 49 4E 00 B9 0B 76  0E 50 48 50 20 3B 42 4F  |THIN...v.PHP ;BO|
000003B0: 55 4E 44 53 2C 20 AF 20  94 00 CE 0B 78 0E 4A 53  |UNDS, . ....x.JS|
000003C0: 52 20 43 4F 4D 54 53 54  20 3B 44 49 54 A4 00 EC  |R COMTST ;DIT...|
000003D0: 0B 7A 0E 42 43 43 20 57  54 48 31 20 3B 27 46 41  |.z.BCC WTH1 ;'FA|
000003E0: 4C 53 45 27 20 91 20 43  4C 45 41 52 00 02 0C 7C  |LSE' . CLEAR...||
000003F0: 0E 50 4C 50 20 3B 52 45  43 4F 56 45 52 20 46 4C  |.PLP ;RECOVER FL|
00000400: 41 47 00 19 0C 7E 0E 50  48 41 20 3B 44 45 43 20  |AG...~.PHA ;DEC |
00000410: 53 54 41 43 4B 20 50 54  52 00 37 0C 80 0E 42 43  |STACK PTR.7...BC|
00000420: 43 20 57 54 48 31 20 3B  27 46 41 4C 53 45 27 20  |C WTH1 ;'FALSE' |
00000430: 91 20 43 4C 45 41 52 00  4F 0C 82 0E 4C 44 41 20  |. CLEAR.O...LDA |
00000440: 23 24 46 46 20 3B AB 31  B2 27 54 52 55 45 27 00  |#$FF ;.1.'TRUE'.|
00000450: 6F 0C 84 0E 2E 42 59 54  45 20 24 32 43 20 3B 27  |o....BYTE $2C ;'|
00000460: 42 49 54 27 20 A4 20 48  49 44 45 20 4C 44 41 00  |BIT' . HIDE LDA.|
00000470: 8A 0C 86 0E 57 54 48 31  20 4C 44 41 20 23 30 20  |....WTH1 LDA #0 |
00000480: 3B 30 B2 27 46 41 4C 53  45 27 00 AA 0C 88 0E 4A  |;0.'FALSE'.....J|
00000490: 53 52 20 24 42 43 33 43  20 3B 43 91 56 45 52 54  |SR $BC3C ;C.VERT|
000004A0: 20 53 49 47 48 20 A4 20  46 50 00 C1 0C 8A 0E 50  | SIGH . FP.....P|
000004B0: 4C 41 20 3B 49 4E 43 20  53 54 41 43 4B 20 50 54  |LA ;INC STACK PT|
000004C0: 52 00 DF 0C 8C 0E 4A 4D  50 20 24 41 45 46 37 20  |R.....JMP $AEF7 |
000004D0: 3B 53 4B 49 50 20 A0 20  42 52 41 43 4B 45 54 00  |;SKIP . BRACKET.|
000004E0: E5 0C 8E 0E 3B 00 0A 0D  90 0E 43 4F 4D 54 53 54  |....;.....COMTST|
000004F0: 20 4A 53 52 20 50 53 48  46 50 31 20 3B 46 41 43  | JSR PSHFP1 ;FAC|
00000500: 23 31 20 A4 20 53 54 41  43 4B 00 24 0D 92 0E 4A  |#1 . STACK.$...J|
00000510: 53 52 20 24 37 39 20 3B  52 45 87 20 53 45 50 41  |SR $79 ;RE. SEPA|
00000520: 52 41 A4 52 00 34 0D 94  0E 50 48 41 20 3B AF 20  |RA.R.4...PHA ;. |
00000530: 94 20 49 54 00 51 0D 96  0E 4A 53 52 20 24 37 33  |. IT.Q...JSR $73|
00000540: 20 3B 42 55 4D 50 20 43  48 52 A1 20 50 4F B5 45  | ;BUMP CHR. PO.E|
00000550: 52 00 69 0D 98 0E 4A 53  52 20 24 41 44 38 41 20  |R.i...JSR $AD8A |
00000560: 3B 87 20 4E 55 4D 20 BD  52 00 81 0D 9A 0E 50 4C  |;. NUM .R.....PL|
00000570: 41 20 3B 43 48 45 43 4B  20 53 45 50 41 52 41 A4  |A ;CHECK SEPARA.|
00000580: 52 00 9F 0D 9C 0E 43 4D  50 20 23 22 2C 22 20 3B  |R.....CMP #"," ;|
00000590: 43 4F 4D 4D 41 20 28 B3  29 20 49 53 20 4F 4B 00  |COMMA (.) IS OK.|
000005A0: AB 0D 9E 0E 42 45 51 20  43 54 31 00 CD 0D A0 0E  |....BEQ CT1.....|
000005B0: 43 4D 50 20 23 22 3B 22  20 3B 53 45 4D 49 43 4F  |CMP #";" ;SEMICO|
000005C0: 4C 91 20 28 B3 B2 29 20  49 53 20 4F 4B 00 F0 0D  |L. (..) IS OK...|
000005D0: A2 0E 42 4E 45 20 43 54  34 20 3B 41 4E 59 54 48  |..BNE CT4 ;ANYTH|
000005E0: 49 4E 47 20 45 4C 53 45  20 49 53 20 57 52 91 47  |ING ELSE IS WR.G|
000005F0: 00 0A 0E A4 0E 43 4C 43  20 3B 43 4C 45 41 52 20  |.....CLC ;CLEAR |
00000600: 81 20 53 45 4D 49 43 4F  4C 91 00 2A 0E A6 0E 2E  |. SEMICOL..*....|
00000610: 42 59 54 45 20 24 32 34  20 3B 27 42 49 54 27 20  |BYTE $24 ;'BIT' |
00000620: A4 20 48 49 44 45 20 53  45 43 00 43 0E A8 0E 43  |. HIDE SEC.C...C|
00000630: 54 31 20 53 45 43 20 3B  53 45 54 20 81 20 43 4F  |T1 SEC ;SET . CO|
00000640: 4D 4D 41 00 61 0E AA 0E  52 B0 20 54 33 20 3B 94  |MMA.a...R. T3 ;.|
00000650: 20 46 4C 41 47 20 41 53  20 48 49 47 48 20 42 49  | FLAG AS HIGH BI|
00000660: 54 00 81 0E AC 0E 4A 53  52 20 50 55 4C 35 37 20  |T.....JSR PUL57 |
00000670: 3B 53 54 41 43 4B 20 A4  20 24 35 37 20 41 52 45  |;STACK . $57 ARE|
00000680: 41 00 A5 0E AE 0E 4C 44  41 20 23 24 35 37 20 3B  |A.....LDA #$57 ;|
00000690: 43 4F 4D 50 41 52 45 20  41 52 45 41 20 57 49 54  |COMPARE AREA WIT|
000006A0: 48 20 46 41 43 00 B0 0E  B0 0E 4C 44 59 20 23 30  |H FAC.....LDY #0|
000006B0: 00 BE 0E B2 0E 4A 53 52  20 24 42 43 35 42 00 D8  |.....JSR $BC5B..|
000006C0: 0E B4 0E 42 4D 49 20 43  54 33 20 3B C5 31 B1 C5  |...BMI CT3 ;.1..|
000006D0: 32 2C 20 46 41 4C 53 45  00 F7 0E B6 0E 42 49 54  |2, FALSE.....BIT|
000006E0: 20 54 33 20 3B 43 4F 4D  4D 41 20 8B 20 4E 20 46  | T3 ;COMMA . N F|
000006F0: 4C 41 47 20 53 45 54 00  11 0F B8 0E 42 50 4C 20  |LAG SET.....BPL |
00000700: 43 54 32 20 3B C5 31 B3  B2 C5 32 2C 20 54 52 55  |CT2 ;.1...2, TRU|
00000710: 45 00 19 0F BA 0E 54 41  58 00 33 0F BC 0E 42 45  |E.....TAX.3...BE|
00000720: 51 20 43 54 33 20 3B C5  31 B2 C5 32 2C 20 46 41  |Q CT3 ;.1..2, FA|
00000730: 4C 53 45 00 47 0F BE 0E  43 54 32 20 53 45 43 20  |LSE.G...CT2 SEC |
00000740: 3B 8E 20 54 52 55 45 00  4F 0F C0 0E 52 54 53 00  |;. TRUE.O...RTS.|
00000750: 64 0F C2 0E 43 54 33 20  43 4C 43 20 3B 8E 20 46  |d...CT3 CLC ;. F|
00000760: 41 4C 53 45 00 6C 0F C4  0E 52 54 53 00 8B 0F C6  |ALSE.l...RTS....|
00000770: 0E 43 54 34 20 4A 4D 50  20 24 41 46 30 38 20 3B  |.CT4 JMP $AF08 ;|
00000780: 53 59 4E 54 41 58 20 45  52 52 B0 00 91 0F C8 0E  |SYNTAX ERR......|
00000790: 3B 00 00 00                                       |;...            |
....... WITHIN (AUG 25/84):.!...:.@.... 
0 STATEMENTS, 1 FUNCTION.F...:.B.... KEY
WORD CHARACTERS: 7.H...:...... KEYWORD  
 ROUTINE   LINE   SER#...... F/WITHIN( W
ITHIN    3698   028.....:.S.... U/PSHFP1
 (3270/063)...... U/PUL57 (3308/064)....
.:...... ===============================
=.....:.9._..F "WITHIN":.BYTE $A8.K.G..W
.D WITHIN.1.L.F.PSHFP1 LDA #3 ;FAC#1 . S
TACK...H.JSR $A3FB ;CHECK STACK ROOM...J
.PLA ;. . ADDR...L.STA $71...N.PLA...P.S
TA $72...R.JSR $BBCA ;FAC#1 . $57.$5B...
T.LDX #0 ;CLEAR INDEX...V.PHF1 LDA $57,X
 ;COPY AREA.$.X.PHA ;. STACK.,.Z.INX.7..
.CPX #5.D...BNE PHF1.Z...PHF2 LDA $72 ;.
 ..K...PHA ;ADDRESS.W...LDA $71....PHA.
....RTS.....;.....PUL57 PLA ;$57...FROM 
STACK.F...STA $71 ;. . ADDRESS.N...PLA.Z
...STA $72.....LDX #4 ;INITIALIZE INDEX.
....PL57 PLA ;COPY . AREA.0...STA $57,X 
;STARTING AT $57.8...DEX.E...BPL PL57._.
..BMI PHF2 ;. . ADDRESS.E...;...R.WITHIN
 JSR $AD8A ;. NUM .R...T.JSR COMTST ;SEC
 . E2 WITHIN...V.PHP ;BOUNDS, . ..N.X.JS
R COMTST ;DIT....Z.BCC WTH1 ;'FALSE' . C
LEAR...|.PLP ;RECOVER FLAG...~.PHA ;DEC 
STACK PTR.7...BCC WTH1 ;'FALSE' . CLEAR.
O...LDA #$FF ;.1.'TRUE'.O....BYTE $2C ;'
BIT' . HIDE LDA.....WTH1 LDA #0 ;0.'FALS
E'.....JSR $BC3C ;C.VERT SIGH . FP.A...P
LA ;INC STACK PTR.....JMP $AEF7 ;SKIP   
BRACKET.....;.....COMTST JSR PSHFP1 ;FAC
#1 . STACK.$...JSR $79 ;RE. SEPARA.R.4..
.PHA ;. . IT.Q...JSR $73 ;BUMP CHR. PO.E
R.I...JSR $AD8A ;. NUM .R.....PLA ;CHECK
 SEPARA.R.....CMP #"," ;COMMA (.) IS OK.
....BEQ CT1.M. .CMP #";" ;SEMICOL. (..) 
IS OK.....BNE CT4 ;ANYTHING ELSE IS WR.G
.....CLC ;CLEAR . SEMICOL..*....BYTE $24
 ;'BIT' . HIDE SEC.C...CT1 SEC ;SET . CO
MMA.A...R. T3 ;. FLAG AS HIGH BIT.....JS
R PUL57 ;STACK . $57 AREA.....LDA #$57 ;
COMPARE AREA WITH FAC.....LDY #0.....JSR
 $BC5B.X...BMI CT3 ;E1.E2, FALSE.....BIT
 T3 ;COMMA . N FLAG SET.....BPL CT2 ;E1.
.E2, TRUE.....TAX.3...BEQ CT3 ;E1.E2, FA
LSE.G...CT2 SEC ;. TRUE.O...RTS.D.B.CT3 
CLC ;. FALSE.L.D.RTS...F.CT4 JMP $AF08 ;
SYNTAX ERR....H.;...
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL