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

ALLOCATION.C

FILE INFORMATION

FILENAME(S): ALLOCATION.C

FILE TYPE(S): USR

FILE SIZE: 680b

FIRST SEEN: 2025-12-01 01:08:52

APPEARS ON: 1 disk(s)

FILE HASH

14296bf026fe198e4818315f6dd3cfcaa6155c439a10cba1b97d8a696bc555cf

FOUND ON DISKS (1 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
SUPER C V 2 0 ALLOCATION.C USR hedning, loot 17 3 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 85 81 9F 2F 2A 20 D2 4F  55 54 49 4E 53 20 46 4F  |.../* .OUTINS FO|
00000010: 52 20 53 54 4F 52 41 47  45 20 41 4C 4C 4F 43 41  |R STORAGE ALLOCA|
00000020: 54 49 4F 4E 20 2A 2F 0D  1C 0D 1C 0D 1F 23 44 45  |TION */......#DE|
00000030: 46 49 4E 45 20 CC CF D7  CC C9 CD C9 D4 20 20 20  |FINE ........   |
00000040: 30 58 43 30 30 31 20 20  2F 2A 20 4C 4F 57 20 20  |0XC001  /* LOW  |
00000050: 20 4C 49 4D 49 54 20 46  4F 52 20 4D 45 4D 4F 52  | LIMIT FOR MEMOR|
00000060: 59 20 41 4C 4C 4F 43 41  54 49 4F 4E 20 2A 2F 0D  |Y ALLOCATION */.|
00000070: 1F 23 44 45 46 49 4E 45  20 C8 C9 C7 C8 CC C9 CD  |.#DEFINE .......|
00000080: C9 D4 20 20 30 58 44 30  30 30 20 20 2F 2A 20 55  |..  0XD000  /* U|
00000090: 50 50 45 52 20 2E 2E 2E  2E 20 20 20 20 20 20 20  |PPER ....       |
000000A0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000000B0: 20 2A 2F 0D 1F 0D 1C 0D  1C 53 54 41 54 49 43 20  | */......STATIC |
000000C0: 55 4E 53 49 47 4E 45 44  20 49 4E 54 20 4D 45 4D  |UNSIGNED INT MEM|
000000D0: 4F 52 59 50 54 52 20 3D  20 CC CF D7 CC C9 CD C9  |ORYPTR = .......|
000000E0: D4 3B 0D 1C 0D 1C 0D 1C  43 48 41 52 20 2A 4D 41  |.;......CHAR *MA|
000000F0: 4C 4C 4F 43 28 53 45 49  5A 45 29 0D 1C 0D 1C 49  |LLOC(SEIZE)....I|
00000100: 4E 54 20 53 45 49 5A 45  3B 0D 1C 0D 1C DB 0D 1C  |NT SEIZE;.......|
00000110: 0D 1C 43 48 41 52 20 2A  4D 45 4D 4F 52 59 41 44  |..CHAR *MEMORYAD|
00000120: 44 52 20 3D 20 30 3B 0D  1C 0D 1C 0D 1C 20 20 20  |DR = 0;......   |
00000130: 20 20 49 46 20 28 4D 45  4D 4F 52 59 50 54 52 2B  |  IF (MEMORYPTR+|
00000140: 53 45 49 5A 45 20 3C 3D  20 C8 C9 C7 C8 CC C9 CD  |SEIZE <= .......|
00000150: C9 D4 29 0D 1C 20 20 20  20 20 20 DB 0D 1C 20 20  |..)..      ...  |
00000160: 20 20 20 20 20 20 4D 45  4D 4F 52 59 41 44 44 52  |      MEMORYADDR|
00000170: 20 3D 20 4D 45 4D 4F 52  59 50 54 52 3B 0D 1C 20  | = MEMORYPTR;.. |
00000180: 20 20 20 20 20 20 20 4D  45 4D 4F 52 59 50 54 52  |       MEMORYPTR|
00000190: 20 2B 3D 20 53 45 49 5A  45 3B 0D 1C 20 20 20 20  | += SEIZE;..    |
000001A0: 20 20 DD 0D 1C 0D 1C 20  20 20 20 20 52 45 54 55  |  .....     RETU|
000001B0: 52 4E 20 28 4D 45 4D 4F  52 59 41 44 44 52 29 3B  |RN (MEMORYADDR);|
000001C0: 0D 1C 0D 1C DD 0D 1C 0D  1C 0D 1C 49 4E 54 20 4D  |...........INT M|
000001D0: 46 52 45 45 28 53 45 49  5A 45 29 0D 1C 0D 1C 55  |FREE(SEIZE)....U|
000001E0: 4E 53 49 47 4E 45 44 20  49 4E 54 20 53 45 49 5A  |NSIGNED INT SEIZ|
000001F0: 45 3B 0D 1C 0D 1C DB 0D  1C 0D 1C 20 20 20 20 49  |E;.........    I|
00000200: 46 20 28 4D 45 4D 4F 52  59 50 54 52 2D 53 45 49  |F (MEMORYPTR-SEI|
00000210: 5A 45 20 3E 20 CC CF D7  CC C9 CD C9 D4 2D 31 29  |ZE > ........-1)|
00000220: 0D 1C 20 20 20 20 20 20  20 4D 45 4D 4F 52 59 50  |..       MEMORYP|
00000230: 54 52 20 2D 3D 20 53 45  49 5A 45 3B 0D 1C 0D 1C  |TR -= SEIZE;....|
00000240: 2F 2A 20 52 45 54 55 52  4E 20 4E 55 4D 42 45 52  |/* RETURN NUMBER|
00000250: 20 4F 46 20 42 59 54 45  53 20 52 45 4D 41 4E 49  | OF BYTES REMANI|
00000260: 4E 47 20 49 4E 20 41 4C  4C 4F 43 41 54 49 4F 4E  |NG IN ALLOCATION|
00000270: 20 41 52 45 41 20 2A 2F  0D 1C 0D 1C 20 20 20 20  | AREA */....    |
00000280: 52 45 54 55 52 4E 20 28  C8 C9 C7 C8 CC C9 CD C9  |RETURN (........|
00000290: D4 2D 4D 45 4D 4F 52 59  50 54 52 2B 31 29 3B 0D  |.-MEMORYPTR+1);.|
000002A0: 1C 0D 1C DD 0D 1C 0D 00                           |........        |
.../* ROUTINS FOR STORAGE ALLOCATION */.
.....#DEFINE LOWLIMIT   0XC001  /* LOW  
 LIMIT FOR MEMORY ALLOCATION */..#DEFINE
 HIGHLIMIT  0XD000  /* UPPER ....       
                 */......STATIC UNSIGNED
 INT MEMORYPTR = LOWLIMIT;......CHAR *MA
LLOC(SEIZE)....INT SEIZE;.........CHAR *
MEMORYADDR = 0;......     IF (MEMORYPTR+
SEIZE <= HIGHLIMIT)..      ...        ME
MORYADDR = MEMORYPTR;..        MEMORYPTR
 += SEIZE;..      .....     RETURN (MEMO
RYADDR);...........INT MFREE(SEIZE)....U
NSIGNED INT SEIZE;.........    IF (MEMOR
YPTR-SEIZE > LOWLIMIT-1)..       MEMORYP
TR -= SEIZE;..../* RETURN NUMBER OF BYTE
S REMANING IN ALLOCATION AREA */....    
RETURN (HIGHLIMIT-MEMORYPTR+1);.........
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL