| : target>bitmask-size ( u1 -- u2 ) |
: target>bitmask-size ( u1 -- u2 ) |
| 1- tcell>bit rshift 1+ ; |
1- tcell>bit rshift 1+ ; |
| |
|
| : allocatetarget ( size --- adr ) |
: allocatetarget ( size -- adr ) |
| dup allocate ABORT" CROSS: No memory for target" |
dup allocate ABORT" CROSS: No memory for target" |
| swap over swap erase ; |
swap over swap erase ; |
| |
|
| ' dictionary ALIAS rom-dictionary |
' dictionary ALIAS rom-dictionary |
| |
|
| |
|
| : setup-target ( -- ) \G initialize targets memory space |
: setup-target ( -- ) \G initialize target's memory space |
| s" rom" T $has? H |
s" rom" T $has? H |
| IF \ check for ram and rom... |
IF \ check for ram and rom... |
| \ address-space area nip 0<> |
\ address-space area nip 0<> |
| ELSE r> drop THEN |
ELSE r> drop THEN |
| REPEAT drop ; |
REPEAT drop ; |
| |
|
| \ MakeKernal 22feb99jaw |
\ MakeKernel 22feb99jaw |
| |
|
| : makekernel ( targetsize -- targetsize ) |
: makekernel ( targetsize -- targetsize ) |
| dup dictionary >rlen ! setup-target ; |
dup dictionary >rlen ! setup-target ; |