; ============================================================================= ; kdata.asm - kernel globals in fixed WRAM0 (always mapped, never swapped) ; ============================================================================= INCLUDE "include/gbos.inc" SECTION "kernel_bss", WRAM0[$C000] wProcTable:: DS MAX_PROCS * PROC_SIZE ; the process table wCurProc:: DS 2 ; pointer to running PCB wCurPid:: DS 1 ; running pid (reserved) wNextPid:: DS 1 ; pid allocator wSchedNext:: DS 1 ; round-robin cursor (slot index) wKernelPCB:: DS PROC_SIZE ; outgoing-context holder for 1st switch ; (kernel/idle context; never resumed) ; scratch used by ProcCreate wTmpEntry:: DS 2 wTmpRamB:: DS 1 wTmpWramB:: DS 1 wTmpSlot:: DS 1 wTmpPid:: DS 1 wTmpSP:: DS 2 ; cart-RAM bank allocator (bump; bank 0 taken by the init task) wNextRamBank:: DS 1 ; scratch used by sys_fork wForkUserSP:: DS 2 ; parent user SP at fork entry (= Uafter) wForkChildSlot:: DS 1 wForkChildPid:: DS 1 wForkParentBank::DS 1 wForkChildBank:: DS 1 wCopyBuf:: DS 256 ; bank-copy bounce buffer (WRAM0, always mapped)