1 |
|
/* |
2 |
|
* main_beos.cpp - Emulation core, BeOS implementation |
3 |
|
* |
4 |
< |
* SheepShaver (C) 1997-2002 Christian Bauer and Marc Hellwig |
4 |
> |
* SheepShaver (C) 1997-2004 Christian Bauer and Marc Hellwig |
5 |
|
* |
6 |
|
* This program is free software; you can redistribute it and/or modify |
7 |
|
* it under the terms of the GNU General Public License as published by |
220 |
|
|
221 |
|
static void *sig_stack = NULL; // Stack for signal handlers |
222 |
|
static void *extra_stack = NULL; // Stack for SIGSEGV inside interrupt handler |
223 |
+ |
uint32 SheepMem::page_size; // Size of a native page |
224 |
|
uintptr SheepMem::zero_page = 0; // Address of ro page filled in with zeros |
225 |
|
uintptr SheepMem::base; // Address of SheepShaver data |
226 |
|
uintptr SheepMem::top; // Top of SheepShaver data (stack like storage) |
677 |
|
DiskExit(); |
678 |
|
SonyExit(); |
679 |
|
|
680 |
+ |
// Delete thunks |
681 |
+ |
ThunksExit(); |
682 |
+ |
|
683 |
|
// Delete SheepShaver globals |
684 |
|
SheepMem::Exit(); |
685 |
|
|
727 |
|
|
728 |
|
void SheepShaver::init_rom(void) |
729 |
|
{ |
730 |
+ |
// Size of a native page |
731 |
+ |
page_size = B_PAGE_SIZE; |
732 |
+ |
|
733 |
|
// Create area for ROM |
734 |
|
void *rom_addr = (void *)ROM_BASE; |
735 |
|
rom_area = create_area(ROM_AREA_NAME, &rom_addr, B_EXACT_ADDRESS, ROM_AREA_SIZE, B_NO_LOCK, B_READ_AREA | B_WRITE_AREA); |