|
2 | 2 |
|
3 | 3 | Booted from a floppy, it will load an Option ROM image into the end of conventional memory.
|
4 | 4 |
|
5 |
| - |
| 5 | + |
6 | 6 |
|
7 |
| -Usage |
8 |
| -* Ensure fasm (flat assembler) is installed |
9 |
| -* Copy your ROM image as the `optrom.bin` file. |
10 |
| -* Run `make`. |
11 |
| -* Optionally test with qemu: `make emulate`. |
12 |
| -* Floppy images will be created (fd*.img). |
13 |
| -* Alternatively, use a binary release. Concatenate: |
14 |
| - * optromloader9/15/18 (according to sectors per track in your floppy format) |
15 |
| - * 9 for 5.25" 360K and 3.5" 720K |
16 |
| - * 15 for 5.25" 1.2M |
17 |
| - * 18 for 3.5" 1.44M |
18 |
| - * the ROM image. |
19 |
| - * pad to floppy size. |
20 |
| - |
21 |
| -Use cases (non-exhaustive) |
| 7 | +## Use cases (non-exhaustive) |
22 | 8 | * Test boot ROMs before burning them.
|
23 | 9 | * Netboot with etherboot/gpxe/ipxe.
|
24 | 10 | * IDE support (including LBA!) with XTIDE Universal BIOS.
|
25 | 11 |
|
26 |
| -Highlights |
| 12 | +## Highlights |
27 | 13 | * flat assembler syntax.
|
28 | 14 | * Pure 8086 code.
|
29 | 15 | * Works on newer hardware, such as the 486 I wrote it for.
|
30 | 16 | * Fits in a floppy bootblock.
|
31 | 17 | * Trivial to use. Concatenate loader and the ROM image, write into floppy.
|
32 | 18 | * Makefile will prepare 5.25" 360K/1.2M and 3.5" 720K/1.44M floppy images.
|
| 19 | +* MIT License. See LICENSE file. |
33 | 20 |
|
34 |
| -Caveats |
| 21 | +## Usage |
| 22 | +* Ensure fasm (flat assembler) is installed. |
| 23 | +* Copy your ROM image as the `optrom.bin` file. |
| 24 | +* Optionally test ROM image with qemu: `make emulaterom`. |
| 25 | +* Run `make`. |
| 26 | +* Floppy images will be created (fd*.img). |
| 27 | +* Optionally test 1.44M image with qemu: `make emulate`. |
| 28 | +* Alternatively, use a binary release. Concatenate: |
| 29 | + * optromloader9/15/18 (according to sectors per track in your floppy format). |
| 30 | + * 9 for 5.25" 360K and 3.5" 720K. |
| 31 | + * 15 for 5.25" 1.2M. |
| 32 | + * 18 for 3.5" 1.44M. |
| 33 | + * the ROM image. |
| 34 | + * pad to floppy size. |
| 35 | + |
| 36 | +## Caveats |
35 | 37 | * Hardcoded to use the first floppy drive.
|
36 | 38 | * ROM checksum isn't checked (yet).
|
37 | 39 | * Always ensure a boot ROM is signed before burning.
|
| 40 | + * Test with `make emulaterom`. Qemu's BIOS won't see the ROM if it's not signed. |
38 | 41 | * Qemu provides a python tool to sign ROMs:
|
39 | 42 | * https://github.com/qemu/qemu/blob/master/scripts/signrom.py
|
40 | 43 | * For XTIDE Universal BIOS roms, use its XTIDECFG tool to configure and sign ROM images.
|
| 44 | + |
| 45 | +## Author |
| 46 | +Roc Vallès Domènech |
0 commit comments