2016-08-27 2 views
0

Ich konnte dieses Problem nicht beheben.Aufruf einer anderen Assembly-Datei vom Bootloader

ich einen Bootloader mit NASM für X86 mit diesem Tutorial als Referenz entwickelt: http://fisnikhasani.com/building-your-own-bootloader/

Mit dem Befehl:

nasm -f bin boot.asm -o boot.bin 

Ich konnte meinen Bootloader laufen genannt boot.bin auf einem USB-Stick .

Allerdings habe ich auch ein Pacman-Spiel mit der x86-Baugruppe namens pacman.asm entwickelt. Ich möchte in den Bootloader booten und das Pacman-Spiel spielen können.

Allerdings habe ich keine Ahnung, wie Sie die pacman.asm-Datei ausführen, sobald mein USB-Schlüssel mit der Datei boot.bin verbunden und gestartet ist.

Jede Hilfe wird geschätzt.

+1

Ist dieses Pacman-Spiel auf DOS-Interrupts angewiesen oder wurde es entwickelt, um in einer Bootloader-Umgebung mit BIOS-Aufrufen und direktem Hardwarezugriff zu arbeiten? –

+2

Im Allgemeinen würden Sie pacman.asm zusammenstellen und in einem Sektor der Festplatte (oder des Disk-Images) als Binärdatei speichern. Ihr Bootloader liest den sctor von der Festplatte, auf der das Spiel platziert wurde, und lädt sie in einen Speicher. Der Bootloader würde dann zu diesem Pacman-Code springen. –

+0

Sicherlich müssen einige SO Fragen zum Booten von Multi-Sektor-Binärdateien vorhanden sein. Ich habe mich kurz umgeschaut, aber ich habe kein gutes Duplikat gefunden, daher ist das Abstimmen zu weit (weil es ein bekanntes Problem ist, das viele Male gelöst wurde, zB mit Bootloadern wie syslinux) –

Antwort

0

Wenn Sie Windows dann das für mich gearbeitet:

Typ in Sie Befehlszeile:

copy /b bootldr.bin + pacman.bin myGame.img 

diese bootloader.bin kopiert und dann legt sie pacman.bin am Ende des Bootloaders und speichert das Ergebnis in MyGame.img

Sie müssen nicht verwenden .img oder .bin

dann laden Sie das pacman-Spiel in den Speicher und tun ein weit springen
und jetzt können Sie Ihr Spiel spielen :)

Verwandte Themen