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

ALLOCATION.C

FILE INFORMATION

FILENAME(S): ALLOCATION.C

FILE TYPE(S): USR

FILE SIZE: 663b

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

APPEARS ON: 1 disk(s)

FILE HASH

0cc243f54e1a69495ed1e8a0e2a5acdd64491ba3cab8a9a1a61f044a3c30791e

FOUND ON DISKS (1 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
C BACKUP ALLOCATION.C USR hedning, loot 17 11 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: 49 4E 54 20 4D 45 4D 4F  52 59 50 54 52 20 3D 20  |INT MEMORYPTR = |
000000D0: CC CF D7 CC C9 CD C9 D4  3B 0D 1C 0D 1C 0D 1C 43  |........;......C|
000000E0: 48 41 52 20 2A 4D 41 4C  4C 4F 43 28 53 45 49 5A  |HAR *MALLOC(SEIZ|
000000F0: 45 29 0D 1C 0D 1C 49 4E  54 20 53 45 49 5A 45 3B  |E)....INT SEIZE;|
00000100: 0D 1C 0D 1C DB 0D 1C 0D  1C 43 48 41 52 20 2A 4D  |.........CHAR *M|
00000110: 45 4D 4F 52 59 41 44 44  52 20 3D 20 30 3B 0D 1C  |EMORYADDR = 0;..|
00000120: 0D 1C 0D 1C 20 20 20 20  20 49 46 20 28 4D 45 4D  |....     IF (MEM|
00000130: 4F 52 59 50 54 52 2B 53  45 49 5A 45 20 3C 3D 20  |ORYPTR+SEIZE <= |
00000140: C8 C9 C7 C8 CC C9 CD C9  D4 29 0D 1C 20 20 20 20  |.........)..    |
00000150: 20 20 20 DB 0D 1C 20 20  20 20 20 20 20 20 4D 45  |   ...        ME|
00000160: 4D 4F 52 59 41 44 44 52  20 3D 20 4D 45 4D 4F 52  |MORYADDR = MEMOR|
00000170: 59 50 54 52 3B 0D 1C 20  20 20 20 20 20 20 20 4D  |YPTR;..        M|
00000180: 45 4D 4F 52 59 50 54 52  20 2B 3D 20 53 45 49 5A  |EMORYPTR += SEIZ|
00000190: 45 3B 0D 1C 20 20 20 20  20 20 20 DD 0D 1C 0D 1C  |E;..       .....|
000001A0: 20 20 20 20 20 52 45 54  55 52 4E 20 28 4D 45 4D  |     RETURN (MEM|
000001B0: 4F 52 59 41 44 44 52 29  3B 0D 1C 0D 1C DD 0D 1C  |ORYADDR);.......|
000001C0: 0D 1C 0D 1C 49 4E 54 20  4D 46 52 45 45 28 53 45  |....INT MFREE(SE|
000001D0: 49 5A 45 29 0D 1C 0D 1C  49 4E 54 20 53 45 49 5A  |IZE)....INT SEIZ|
000001E0: 45 3B 0D 1C 0D 1C DB 0D  1C 0D 1C 20 20 20 20 49  |E;.........    I|
000001F0: 46 20 28 4D 45 4D 4F 52  59 50 54 52 2D 53 45 49  |F (MEMORYPTR-SEI|
00000200: 5A 45 20 3E 3D 20 CC CF  D7 CC C9 CD C9 D4 29 0D  |ZE >= ........).|
00000210: 1C 20 20 20 20 20 20 20  4D 45 4D 4F 52 59 50 54  |.       MEMORYPT|
00000220: 52 20 2D 3D 20 53 45 49  5A 45 3B 0D 1C 0D 1C 2F  |R -= SEIZE;..../|
00000230: 2A 20 52 45 54 55 52 4E  20 4E 55 4D 42 45 52 20  |* RETURN NUMBER |
00000240: 4F 46 20 42 59 54 45 53  20 52 45 4D 41 4E 49 4E  |OF BYTES REMANIN|
00000250: 47 20 49 4E 20 41 4C 4C  4F 43 41 54 49 4F 4E 20  |G IN ALLOCATION |
00000260: 41 52 45 41 20 2A 2F 0D  1C 0D 1C 20 20 20 20 52  |AREA */....    R|
00000270: 45 54 55 52 4E 20 28 C8  C9 C7 C8 CC C9 CD C9 D4  |ETURN (.........|
00000280: 2D 4D 45 4D 4F 52 59 50  54 52 2B 31 29 3B 0D 1C  |-MEMORYPTR+1);..|
00000290: 0D 1C DD 0D 1C 0D 00                              |.......         |
.../* ROUTINS FOR STORAGE ALLOCATION */.
.....#DEFINE LOWLIMIT   0XC001  /* LOW  
 LIMIT FOR MEMORY ALLOCATION */..#DEFINE
 HIGHLIMIT  0XD000  /* UPPER ....       
                 */......STATIC INT MEMO
RYPTR = LOWLIMIT;......CHAR *MALLOC(SEIZ
E)....INT SEIZE;.........CHAR *MEMORYADD
R = 0;......     IF (MEMORYPTR+SEIZE <= 
HIGHLIMIT)..       ...        MEMORYADDR
 = MEMORYPTR;..        MEMORYPTR += SEIZ
E;..       .....     RETURN (MEMORYADDR)
;...........INT MFREE(SEIZE)....INT SEIZ
E;.........    IF (MEMORYPTR-SEIZE >= LO
WLIMIT)..       MEMORYPTR -= SEIZE;..../
* RETURN NUMBER OF BYTES REMANING IN ALL
OCATION AREA */....    RETURN (HIGHLIMIT
-MEMORYPTR+1);.........
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL