commit f804789
Devine Lu Linvega
·
2024-11-13 17:24:39 +0000 UTC
parent 62bd408
The bios is now bundled
5 files changed,
+18,
-11
M
makefile
+1,
-1
1@@ -59,7 +59,7 @@ bin/uxncli: ${CLI_src} src/uxncli.c
2 @ cc ${RELEASE_flags} ${CFLAGS} ${CLI_src} src/uxncli.c -lutil -o bin/uxncli
3 bin/uxn11: ${EMU_src} src/uxn11.c src/bios.c
4 @ mkdir -p bin
5- @ cc ${RELEASE_flags} ${CFLAGS} ${EMU_src} src/bios.c src/uxn11.c -lX11 -lutil -o bin/uxn11
6+ @ cc ${RELEASE_flags} ${CFLAGS} ${EMU_src} src/uxn11.c -lX11 -lutil -o bin/uxn11
7
8 bin/uxnasm-debug: src/uxnasm.c
9 @ mkdir -p bin
+1,
-1
1@@ -1,4 +1,4 @@
2-unsigned charbios_rom[] = {
3+unsigned char bios_rom[] = {
4 0xa0, 0x01, 0x11, 0x80, 0x20, 0x37, 0x80, 0x24, 0x36, 0xa0, 0x00, 0x30, 0x39, 0x80, 0x14, 0x33,
5 0x00, 0x80, 0x00, 0x81, 0x80, 0xfb, 0x13, 0x80, 0x07, 0x1c, 0x20, 0x00, 0x33, 0xa0, 0x00, 0x08,
6 0x80, 0x28, 0x37, 0xa0, 0x00, 0x00, 0x80, 0x2a, 0x37, 0xa0, 0x80, 0x00, 0x80, 0x04, 0x16, 0xa0,
+13,
-7
1@@ -2,6 +2,8 @@
2 #include <stdlib.h>
3
4 #include "../uxn.h"
5+#include "../bios.c"
6+
7 #include "system.h"
8
9 /*
10@@ -79,14 +81,18 @@ system_reboot(char *rom, int soft)
11 int
12 system_boot(Uint8 *ram, char *boot)
13 {
14- /* Load rom(bios) */
15- if(system_load(&bios_ram[PAGE_PROGRAM], "bios.rom")) {
16- bios.ram = bios_ram;
17- bios.dev = bios_ram + 0x8300;
18- bios.wst.dat = bios_ram + 0x8400;
19- bios.rst.dat = bios_ram + 0x8500;
20- bios.dev[0xe] = 0xff;
21+ if(!system_load(&bios_ram[PAGE_PROGRAM], "bios.rom")) {
22+ int i;
23+ size_t bios_len = sizeof(bios_rom) / sizeof(bios_rom[0]);
24+ for(i = 0; i < bios_len; i++)
25+ bios_ram[PAGE_PROGRAM + i] = bios_rom[i];
26 }
27+ /* Load rom(bios) */
28+ bios.ram = bios_ram;
29+ bios.dev = bios_ram + 0x8300;
30+ bios.wst.dat = bios_ram + 0x8400;
31+ bios.rst.dat = bios_ram + 0x8500;
32+ bios.dev[0xe] = 0xff;
33 /* Load rom(main) */
34 if(system_load(&ram[PAGE_PROGRAM], boot)) {
35 uxn.ram = ram;
+1,
-1
1@@ -96,7 +96,7 @@
2 INC2 & LDAk ?&w
3 POP2 JMP2r
4
5-@dict &a "unsigned 20 "char $1
6+@dict &a "unsigned 20 "char 20 $1
7 &b "_rom[] 20 "= 20 "{ 0a 09 $1
8 &c "}; 0a 00
9
+2,
-1
1@@ -8,6 +8,7 @@
2 #include <poll.h>
3
4 #include "uxn.h"
5+
6 #include "devices/system.h"
7 #include "devices/console.h"
8 #include "devices/screen.h"
9@@ -271,7 +272,7 @@ main(int argc, char **argv)
10 else if(!system_boot(ram, argv[i++]))
11 return !fprintf(stdout, "Could not load %s.\n", argv[i - 1]);
12 uxn.dev[0x17] = argc - i;
13- if(uxn_eval(&uxn, PAGE_PROGRAM)){
14+ if(uxn_eval(&uxn, PAGE_PROGRAM)) {
15 uxn_eval(&bios, PAGE_PROGRAM);
16 console_listen(i, argc, argv);
17 emu_run();