1/*
2 * Copyright 2010, Fran��ois Revol, revol@free.fr. All rights reserved.
3 * Distributed under the terms of the MIT License.
4 */
5
6
7#include <boot/platform.h>
8#include <boot/stage2.h>
9#include <boot/stdio.h>
10#include <stdarg.h>
11
12#include <Errors.h>
13
14#include "rom_calls.h"
15
16
17struct GfxBase *GRAPHICS_BASE_NAME = NULL;
18struct Library *KEYMAP_BASE_NAME = NULL;
19struct Library *LOWLEVEL_BASE_NAME = NULL;
20
21
22/*! Maps Amiga error codes to native errors
23 */
24extern "C" status_t
25exec_error(int32 err)
26{
27	switch (err) {
28		case 0:
29			return B_OK;
30		case IOERR_OPENFAIL:
31			return B_DEV_BAD_DRIVE_NUM;
32		case IOERR_ABORTED:
33			return B_INTERRUPTED;
34		case IOERR_NOCMD:
35			return B_BAD_VALUE;
36		case IOERR_BADLENGTH:
37			return B_BAD_VALUE;
38		case IOERR_BADADDRESS:
39			return B_BAD_ADDRESS;
40		case IOERR_UNITBUSY:
41			return B_DEV_NOT_READY;
42		case IOERR_SELFTEST:
43			return B_NOT_INITIALIZED;
44		default:
45			return B_ERROR;
46	}
47}
48
49
50