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

ASCHEX

FILE INFORMATION

FILENAME(S): ASCHEX

FILE TYPE(S): SEQ

FILE SIZE: 840b

FIRST SEEN: 2025-10-19 22:48:27

APPEARS ON: 4 disk(s)

FILE HASH

5c5ce7d1f6625332be17dc89d99d9075bccdd826443291ed7382e7098742ab95

FOUND ON DISKS (4 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
SNAPSHOT64 ASCHEX SEQ Radd Maxx 12 8 DOWNLOAD FILE
MERLIN ASCHEX SEQ High Voltage Complete C64 Collection 14 0 DOWNLOAD FILE
MERLIN ASCHEX SEQ High Voltage Complete C64 Collection 14 0 DOWNLOAD FILE
ICE DISK 28 ASCHEX SEQ Icebreaker 14 0 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 2A 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |*---------------|
00000010: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00000020: 2D 2D 2D 2D 2D 2D 2D 0D  2A A0 72 4F 55 54 49 4E  |-------.*.rOUTIN|
00000030: 45 A0 54 4F A0 43 4F 4E  56 45 52 54 A0 61 73 63  |E.TO.CONVERT.asc|
00000040: 69 69 A0 53 54 52 49 4E  47 A0 41 54 0D 2A A0 61  |ii.STRING.AT.*.a|
00000050: 73 63 73 74 72 A0 54 4F  A0 41 A0 54 57 4F A0 42  |scstr.TO.A.TWO.B|
00000060: 59 54 45 A0 48 45 58 A0  4E 55 4D 42 45 52 A0 41  |YTE.HEX.NUMBER.A|
00000070: 54 0D 2A A0 6E 75 6D 2C  A0 6E 75 6D 2B 31 2E A0  |T.*.num,.num+1..|
00000080: A0 75 53 45 A0 76 61 72  A0 53 54 41 54 45 4D 45  |.uSE.var.STATEME|
00000090: 4E 54 A0 54 4F A0 53 45  54 0D 2A A0 5D 31 A0 54  |NT.TO.SET.*.]1.T|
000000A0: 4F A0 27 46 27 A0 4F 52  A0 27 66 27 A0 41 43 43  |O.'F'.OR.'f'.ACC|
000000B0: 4F 52 44 49 4E 47 A0 54  4F A0 57 48 49 43 48 0D  |ORDING.TO.WHICH.|
000000C0: 2A A0 61 73 63 69 69 A0  53 45 54 A0 49 53 A0 44  |*.ascii.SET.IS.D|
000000D0: 45 53 49 52 45 44 2E A0  A0 74 48 45 A0 52 4F 55  |ESIRED...tHE.ROU|
000000E0: 54 49 4E 45 0D 2A A0 49  47 4E 4F 52 45 53 A0 45  |TINE.*.IGNORES.E|
000000F0: 58 54 52 41 A0 4C 45 41  44 49 4E 47 A0 44 49 47  |XTRA.LEADING.DIG|
00000100: 49 54 53 2C A0 53 4F A0  54 48 41 54 0D 2A A0 27  |ITS,.SO.THAT.*.'|
00000110: 61 62 63 64 65 27 A0 57  49 4C 4C A0 43 4F 4E 56  |abcde'.WILL.CONV|
00000120: 45 52 54 A0 54 4F A0 24  62 63 64 65 2C A0 45 54  |ERT.TO.$bcde,.ET|
00000130: 43 2E 0D 2A 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |C..*------------|
00000140: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00000150: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 0D 0D 61 73 63 68  |----------..asch|
00000160: 65 78 20 6C 64 61 20 23  30 0D 20 73 74 61 20 6E  |ex lda #0. sta n|
00000170: 75 6D 2B 31 20 3B 69 4E  49 54 A0 6E 75 6D 0D 20  |um+1 ;iNIT.num. |
00000180: 74 61 78 20 3B A0 41 4E  44 A0 53 54 52 49 4E 47  |tax ;.AND.STRING|
00000190: A0 50 4F 49 4E 54 45 52  0D 20 62 65 71 20 68 78  |.POINTER. beq hx|
000001A0: 32 20 3B 61 4C 57 41 59  53 A0 54 41 4B 45 4E 0D  |2 ;aLWAYS.TAKEN.|
000001B0: 5D 6C 6F 6F 70 20 6F 72  61 20 6E 75 6D 0D 68 78  |]loop ora num.hx|
000001C0: 32 20 73 74 61 20 6E 75  6D 0D 20 6C 64 61 20 61  |2 sta num. lda a|
000001D0: 73 63 73 74 72 2C 78 20  3B 67 45 54 A0 44 49 47  |scstr,x ;gET.DIG|
000001E0: 49 54 0D 20 63 6D 70 20  23 27 30 27 20 3B 76 41  |IT. cmp #'0' ;vA|
000001F0: 4C 49 44 A0 48 45 58 A0  44 49 47 49 54 3F 0D 20  |LID.HEX.DIGIT?. |
00000200: 62 6C 74 20 67 6F 74 68  65 78 20 3B 65 58 49 54  |blt gothex ;eXIT|
00000210: A0 49 46 A0 4E 4F 54 0D  20 65 6F 72 20 23 27 30  |.IF.NOT. eor #'0|
00000220: 27 0D 20 63 6D 70 20 23  31 30 20 3B 6E 55 4D 45  |'. cmp #10 ;nUME|
00000230: 52 49 43 A0 44 49 47 49  54 3F 0D 20 62 6C 74 20  |RIC.DIGIT?. blt |
00000240: 69 78 20 3B 67 4F A0 4F  4E A0 49 46 A0 53 4F 0D  |ix ;gO.ON.IF.SO.|
00000250: 20 61 64 63 20 23 2D 5D  31 21 27 30 27 2D 32 0D  | adc #-]1!'0'-2.|
00000260: 20 63 6D 70 20 23 24 66  61 20 3B 76 41 4C 49 44  | cmp #$fa ;vALID|
00000270: A0 48 45 58 A0 44 49 47  49 54 3F 0D 20 62 6C 74  |.HEX.DIGIT?. blt|
00000280: 20 67 6F 74 68 65 78 20  3B 65 58 49 54 A0 49 46  | gothex ;eXIT.IF|
00000290: A0 4E 4F 54 0D 20 65 6F  72 20 23 24 66 30 20 3B  |.NOT. eor #$f0 ;|
000002A0: 63 4F 4E 56 45 52 54 A0  54 4F A0 4E 49 42 42 4C  |cONVERT.TO.NIBBL|
000002B0: 45 0D 69 78 20 69 6E 78  0D 20 6C 64 79 20 23 34  |E.ix inx. ldy #4|
000002C0: 20 3B 69 4E 44 45 58 A0  46 4F 52 A0 4E 49 42 42  | ;iNDEX.FOR.NIBB|
000002D0: 4C 45 A0 53 48 49 46 54  0D 73 68 69 66 74 20 61  |LE.SHIFT.shift a|
000002E0: 73 6C 20 6E 75 6D 0D 20  72 6F 6C 20 6E 75 6D 2B  |sl num. rol num+|
000002F0: 31 0D 20 64 65 79 0D 20  62 6E 65 20 73 68 69 66  |1. dey. bne shif|
00000300: 74 0D 20 62 65 71 20 5D  6C 6F 6F 70 20 3B 61 4C  |t. beq ]loop ;aL|
00000310: 57 41 59 53 A0 54 41 4B  45 4E 0D 67 6F 74 68 65  |WAYS.TAKEN.gothe|
00000320: 78 20 72 74 73 20 3B 78  A0 50 4F 49 4E 54 53 A0  |x rts ;x.POINTS.|
00000330: 54 4F A0 43 48 52 A0 41  46 54 45 52 A0 48 45 58  |TO.CHR.AFTER.HEX|
00000340: A0 53 54 52 49 4E 47 0D                           |.STRING.        |
*--------------------------------------.
* ROUTINE TO CONVERT ASCII STRING AT.* A
SCSTR TO A TWO BYTE HEX NUMBER AT.* NUM,
 NUM+1.  USE VAR STATEMENT TO SET.* ]1 T
O 'F' OR 'F' ACCORDING TO WHICH.* ASCII 
SET IS DESIRED.  THE ROUTINE.* IGNORES E
XTRA LEADING DIGITS, SO THAT.* 'ABCDE' W
ILL CONVERT TO $BCDE, ETC..*------------
--------------------------..ASCHEX LDA #
0. STA NUM+1 ;INIT NUM. TAX ; AND STRING
 POINTER. BEQ HX2 ;ALWAYS TAKEN.]LOOP OR
A NUM.HX2 STA NUM. LDA ASCSTR,X ;GET DIG
IT. CMP #'0' ;VALID HEX DIGIT?. BLT GOTH
EX ;EXIT IF NOT. EOR #'0'. CMP #10 ;NUME
RIC DIGIT?. BLT IX ;GO ON IF SO. ADC #-]
1!'0'-2. CMP #$FA ;VALID HEX DIGIT?. BLT
 GOTHEX ;EXIT IF NOT. EOR #$F0 ;CONVERT 
TO NIBBLE.IX INX. LDY #4 ;INDEX FOR NIBB
LE SHIFT.SHIFT ASL NUM. ROL NUM+1. DEY. 
BNE SHIFT. BEQ ]LOOP ;ALWAYS TAKEN.GOTHE
X RTS ;X POINTS TO CHR AFTER HEX STRING.
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL