gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

Help Wanted > Looking for Linux/Uni* users to test xboo clone

#45667 - arundel - Mon Jun 13, 2005 4:41 pm

Hi there.

I coded a little app in x86 asm that ports the xboo functionality of Martin Korth's program (16 bit DOS flat binary) to Unix. Atm the software natively assembles under FreeBSD, but it supports Linux.

Unlike the great xboo communicator program (jep. I used it a few times and it's fantastic) for Windows/Linux it's a console based app. Also it is open source.

I have only been able to test the software natively under FreeBSD. The Linux version also builds fine and should work all right, but I could only test it using the linux emulation layer that ships with FreeBSD. So I haven't been able to test the software under native Linux envirements.

If you are using Linux or any kind of BSD and would like to test a new app that uploads a ROM to the AGB's EWRAM using it's multiboot routine your're welcome to use it. I don't think the software will work under other Unix flavours (Solaris, True Unix, etc.), because it makes use of a few syscalls. Unfortunately not all the systemcalls have the same ID under every unix system. Not even if that OS sticks to the Posix convention(s).

The software does not yet support Single/Double-BurstBoot. However I've written parts of the arm-bootloader and some lines of x86 code that will communicate with the bootloader through GENERAL_PURPOSE_MODE (that's also the way xboo does it). So this feature should be implemented in the next version.

I did not intended to actually release this app. That's why the code and especially the comments are not very readable atm. Also - as I saif before - the code is written in 32bit x86 assembly language using the Intel Syntax (or better yet nasm syntax). So you need to know assembly if you want to understand the code.

The current release is RELEASE 0.5. The source code can be found here:
http://arundel.blog.de/main/index.php/arundel?tag=gbadev

To build the software follow the instructions:
1. extract the archive
2. cd into the gbacopy_0.5 dir
3. create a file called bootloader `touch bootloader`. Later releases will come with an actual bootloader, but for now a dummy file will do the trick.
4. Assemble the code: `nasm -f elf gbacopy.asm && ld -o gbacopy gbacopy.o` (if you want to you can strip away the symbols making it impossible to debug the program: `strip -s gbacopy`)
If you want to assemble the code so you can easily debug it using gdb or ddd you can do so like this: `nasm -w+number-overflow -w+orphan-labels -w+macro-params -f elf -F stabs -g gbacopy.asm && ld -o gbacopy gbacopy.o`

IMPORTANT:
If you want to build the program in order to work under Linux you'll have to define a variable LINUX. Do so by adding the following to the command line (only `nasm`. `ld` doesn't need it.): -DLINUX


(Unfortunately I had no luck compiling the app with YASM. The project is quite new and forked from a nasm code snapshot. The idea of having modules instead of a monolithic executable sounds interesting. But yasm seems to have problems including binaries directly into the code using the %incbin statement. But maybe somebody actually manages to use YASM. It defenately looks promising.)

OK. Thx a lot for your help. Please report any bugs or change request you want me to know about. (e-mail addrss should be somewhere on my site)

Cheers.
_________________
http://www.nausicaa.net

#45972 - arundel - Fri Jun 17, 2005 11:56 am

Hmmm....very odd. I was under the impression that a lot of people wanted to get their hands on the source code of an xboo clone for Linux/Uni*. At least that's the impression I got after reading through this thread: http://forum.gbadev.org/viewtopic.php?t=5205

A lot of people were flaming wintermute to release the sourcecode of his Xboo Communicator. It appears to me that those people were only trying to look smart, but had no real interest in any sources.

Or maybe everybody is now occupied with NDS development?
_________________
http://www.nausicaa.net

#45976 - Vince - Fri Jun 17, 2005 1:23 pm

Hello arundel,

Thanks for your program, I will give a look at it. I have no Xboo cable but I will build one to test your program. You are going the hard way via ASM, I see (maybe it was a tutorial project?).

Thank you as well for releasing it under the GPL. I will build a cable and give you some feedback testing.

PS: I don't think people are that busy with DS dev, just that no everybody has an XBoo cable (linker instead?)

Vince
_________________
Reclaim control of your F2A/F2AU with if2a !!

#50325 - Lunchb0x - Mon Aug 08, 2005 5:36 am

I was able to compile fine using nasm, using Ubuntu as my OS. However when I went to transfer my game to my gba I recieved and error.

Quote:

lunchbox@ubuntu:~ $ sudo gbacopy keen.bin
Re-Aligned ROM on 16-byte boundary.

Error opening /dev/io device node


It could be something unrelated to GbaCopy, since I am still new to linux but I thought also it could be a problem with your program. If I am doing something wrong please tell me so I can try out your program. BTW its not the cable because I have sucessfully used the cable using the original xboo software with windows.

#50788 - arundel - Fri Aug 12, 2005 11:49 pm

I fixed the problem in the newest version of gbacopy. Just PM me if you want me to send it to you.
_________________
http://www.nausicaa.net

#52056 - arundel - Thu Aug 25, 2005 11:56 pm

OK. The fixed version is available here: http://www.blog.de/main/index.php/arundel/2005/08/25/release_0~142775

This one should work under Linux as well as under FreeBSD. To compile it under Linux type `make linux` or `make linux-debug` if you want the binary to contain extra debugging symbols in order to debug it with gdb, ddd or whatever.

Cheers.

EDIT:
I just booted Knoppix in order to test the app under Linux. Works great.

_________________
http://www.nausicaa.net

#54718 - arundel - Wed Sep 21, 2005 10:14 pm

Here's a new version:

http://gbacopy.blogspot.com/

This release comes with support for Single Speed Burst Boot. I'd really like to get some feedback whether it works or not.

Cheers.
_________________
http://www.nausicaa.net

#105122 - yuriks - Fri Oct 06, 2006 7:25 am

Yeah, only one thing: Where do you get the (required) goldroad.exe?
_________________
---yuriks---