I installed DDEr4 and navigated to the hello example in KOS:
Code: Select all
C:\cygwin\usr\local\dc\kos\kos\examples\dreamcast\hello
Code: Select all
make
Then typed:
Code: Select all
sh-elf-objcopy -O binary -R .stack hello.elf 1st_read.bin
I opened BootDreams and navigated to the same directory (hello). A window popped up asking if I wish to scramble "1st_read.bin", I clicked "yes", and then another one appeared asking if I would like to make an "ip.bin" and I chose "yes" again.
BootDreams created a DiscJuggler (.cdi) image successfully. I attempted to open this file both in Makaron and nullDC. Makaron just disappears somewhere and crashes after a while, NullDC stops and displays:
Code: Select all
TI , invalidating *TLB
Block 0C00E09C : disabling read-const @ 19/29
not implemented opcode : 8C00 : unknown opcode @ 8C00E0A2
Press Any key to continue
I tried to open the .elf, unscrambled and scrambled .bin through "File -> Open bin/elf". The screen in NullDC just goes black with no errors.
I understand that running an emulator is not a good way of testing homebrew and people normally do it through the serial port. But shouldn’t a simple “hello world†work?
hello.c -> hello.elf -> 1st_read.bin (unscrambled) -> 1st_read.bin (scrambled) -> ip.bin boot file -> 1 second audio track -> hello.cdi (last 4 steps done through BootDreams)
Am I overlooking something important? Maybe the elf is compiled incorrectly, but there are no errors... Thanks.