1 |
|
/* |
2 |
|
* main_beos.cpp - Startup code for BeOS |
3 |
|
* |
4 |
< |
* Basilisk II (C) 1997-1999 Christian Bauer |
4 |
> |
* Basilisk II (C) 1997-2001 Christian Bauer |
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 |
176 |
|
delete_area(old_rom_area); |
177 |
|
|
178 |
|
// Read preferences |
179 |
< |
PrefsInit(); |
179 |
> |
int argc = 0; |
180 |
> |
char **argv = NULL; |
181 |
> |
PrefsInit(argc, argv); |
182 |
|
|
183 |
|
// Init system routines |
184 |
|
SysInit(); |
216 |
|
char str[256]; |
217 |
|
|
218 |
|
#if REAL_ADDRESSING |
219 |
< |
// Open memory mess driver and remap low memory |
219 |
> |
// Open sheep driver and remap low memory |
220 |
|
sheep_fd = open("/dev/sheep", 0); |
221 |
|
if (sheep_fd < 0) { |
222 |
|
sprintf(str, GetString(STR_NO_SHEEP_DRIVER_ERR), strerror(sheep_fd), sheep_fd); |
243 |
|
RAMBaseHost = (uint8 *)0x10000000; |
244 |
|
ram_area = create_area(RAM_AREA_NAME, (void **)&RAMBaseHost, B_BASE_ADDRESS, RAMSize, B_NO_LOCK, B_READ_AREA | B_WRITE_AREA); |
245 |
|
if (ram_area < 0) { |
246 |
< |
ErrorAlert(GetString(STR_NO_RAM_AREA_ERR)); |
246 |
> |
ErrorAlert(STR_NO_RAM_AREA_ERR); |
247 |
|
PostMessage(B_QUIT_REQUESTED); |
248 |
|
return; |
249 |
|
} |
253 |
|
try { |
254 |
|
init_rom(); |
255 |
|
} catch (area_error) { |
256 |
< |
ErrorAlert(GetString(STR_NO_ROM_AREA_ERR)); |
256 |
> |
ErrorAlert(STR_NO_ROM_AREA_ERR); |
257 |
|
PostMessage(B_QUIT_REQUESTED); |
258 |
|
return; |
259 |
|
} catch (file_open_error) { |
260 |
< |
ErrorAlert(GetString(STR_NO_ROM_FILE_ERR)); |
260 |
> |
ErrorAlert(STR_NO_ROM_FILE_ERR); |
261 |
|
PostMessage(B_QUIT_REQUESTED); |
262 |
|
return; |
263 |
|
} catch (file_read_error) { |
264 |
< |
ErrorAlert(GetString(STR_ROM_FILE_READ_ERR)); |
264 |
> |
ErrorAlert(STR_ROM_FILE_READ_ERR); |
265 |
|
PostMessage(B_QUIT_REQUESTED); |
266 |
|
return; |
267 |
|
} catch (rom_size_error) { |
268 |
< |
ErrorAlert(GetString(STR_ROM_SIZE_ERR)); |
268 |
> |
ErrorAlert(STR_ROM_SIZE_ERR); |
269 |
|
PostMessage(B_QUIT_REQUESTED); |
270 |
|
return; |
271 |
|
} |
505 |
|
if (++tick_counter > 60) { |
506 |
|
tick_counter = 0; |
507 |
|
WriteMacInt32(0x20c, TimerDateTime()); |
508 |
+ |
SetInterruptFlag(INTFLAG_1HZ); |
509 |
+ |
TriggerInterrupt(); |
510 |
|
} |
511 |
|
|
512 |
|
// Trigger 60Hz interrupt |