#65710 - jake2431 - Thu Jan 05, 2006 3:20 am
Since I already started the Rotation.h topic and ended up not needing help on it I thought I would just edit it for my new question.
Will the dos based software for the XBoo cable(I'm building one) work on win XP?
#65895 - jake2431 - Fri Jan 06, 2006 5:33 pm
Okay, searching through the forums I found a program called XBOO XP. I don't have enough experience with command line stuff and am still not sure how to get it to work. I have already built the XBOO cable and just want to test it out now. If anyone could help me out on what to do with the new program I would be very greatful. I see that it needs a .mb format. How do I create a .mb file?
P.S. Since this is a recycled post can one of the Mods move it to the hardware forum please? I just didn't want to waste the original post.
Edit: Thanks! :)
#65935 - jake2431 - Fri Jan 06, 2006 10:22 pm
Ok, to be more specific. I have been playing with XBOO XP some more and I am using this batch file to try it out
Code: |
@ECHO OFF
XBOOXP c:\a.mb -p378 -h -d2
|
I don't know how to create a .mb file so I just renamed a.gba to a.mb to test the program(though as I suspected... it's not that easy). This pops up a window that says
Code: |
Requesting Normal Mode...
|
I am not quite sure what this means, but I think that maybe if I learn how to create an .mb file it may possibly work..... I hope. So does anyone know how to make a .mb file?
#65941 - wintermute - Fri Jan 06, 2006 11:27 pm
1. Use devkitARM
2. see the gba examples provided
3. link with -specs=gba_mb
The template provided in the examples allows for multiboot code with a simple change of name.
You might also be interested in Xboo Communicator.
http://www.devkitpro.org/downloads.shtml
#65977 - jake2431 - Sat Jan 07, 2006 6:11 am
Hey thanks! I am trying XBOO communicator now, but am having trouble with it. Do you use it? I put the UserPort system file in %WINDIR%\SYSTEM32\DRIVERS and my settings for user port are here http://i24.photobucket.com/albums/c42/jake2431/up.png. Does this look correct to you. I read all the info for the communicator and userport, but I must be doing something wrong because I keep getting an error saying that the communicator must close.
-Jake
P.S. What is the difference in devkitPro and devkitARM? Do you get devkitARM through the devkitPro installer?
#65981 - tepples - Sat Jan 07, 2006 8:24 am
jake2431 wrote: |
P.S. What is the difference in devkitPro and devkitARM? |
The term "devkitPro" refers to a set of GCC-based cross-compilers maintained by Wintermute.
Quote: |
Do you get devkitARM through the devkitPro installer? |
Yes.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#66020 - jake2431 - Sat Jan 07, 2006 5:29 pm
Oh thanks! I downloaded devkitPro and am reading through everything know. It looks great(thanks wintermute). Is it okay to use devkitPro with Visual HAM? or is Programmers notepad better?
#66099 - jake2431 - Sun Jan 08, 2006 5:40 am
And back on topic. I have been playing with XBOO comm some more and this [Images not permitted - Click here to view it] is what I am seeing now. I thought I might have built the cable wrong, but the multi-meter proves otherwise. Any ideas?
#66207 - ScottLininger - Mon Jan 09, 2006 12:43 am
Are you sure you're sending a multiboot program? I've never used an XBOO, but that's the first question I'd double check.
-Scott
#66210 - jake2431 - Mon Jan 09, 2006 1:18 am
Well, I am adding Code: |
#define MULTIBOOY __gba_multiboot;
MULTIBOOT |
to the begining of all of my code, so I believe my programs are multiboot. Though I could be wrong because I don't get a .mb file when I do a build with HAM.
#66215 - wintermute - Mon Jan 09, 2006 2:06 am
jake2431 wrote: |
And back on topic. I have been playing with XBOO comm some more and this [Images not permitted - Click here to view it] is what I am seeing now. I thought I might have built the cable wrong, but the multi-meter proves otherwise. Any ideas? |
Check you have the right port address set in the options, you can also try increasing the delay there.
Did you get UserPort to work or have you attempted to use another port access system? Do you have any other device drivers in your system which use the parallel port?
ScottLininger wrote: |
Are you sure you're sending a multiboot program? I've never used an XBOO, but that's the first question I'd double check.
-Scott |
That's not the problem here at this point. In any case a binary not built for multiboot will still transfer, it just won't run.
jake2431 wrote: |
Well, I am adding Code: | #define MULTIBOOY __gba_multiboot;
MULTIBOOT | to the begining of all of my code, so I believe my programs are multiboot. Though I could be wrong because I don't get a .mb file when I do a build with HAM. |
That method doesn't work with devkitARM, you need to use the appropriate specs files.
The examples provided with devkitPro contain makefiles which do most of the work automatically.
An excerpt from the template Makefile
Code: |
#---------------------------------------------------------------------------------
# TARGET is the name of the output, if this ends with _mb a multiboot image is generated
# BUILD is the directory where object files & intermediate files will be placed
# SOURCES is a list of directories containing source code
# DATA is a list of directories containing data files
# INCLUDES is a list of directories containing header files
#---------------------------------------------------------------------------------
TARGET := $(shell basename $(CURDIR))
BUILD := build
SOURCES := source
DATA :=
INCLUDES :=
|
TARGET is set from the name of the directory for people too lazy to bother editing :P Just set this to myproject_mb, you'll get myproject_mb.gba which will be a multiboot binary.
#66217 - jake2431 - Mon Jan 09, 2006 2:47 am
I think I have the right address selected the method I used was to right-click my computer then click properties. Then select hardware and click device manager. Then expand ports and right-click printer-port and click properties. Then select resources and there it shows me the I/O range(0378-037F). Is this wrong? Is there a chance it could be different?
I don't believe anything else is using my parallel port, as I have never before used it on this computer(only usb).
I am now assuming that you have to use devkitPro to use the XBOO Comunicator? I am currently using HAM because I am formillar with it and the book I am working through uses it also, but as I become a more proficient developer and finish the book I plan to move to devkitPro becuase of its frequent updates and smaller/faster code :). I have already downloaded devkitPro, but it is a little intemidating top try to adapt to it while I am in the middle of this book. I will start using it when I move on to the Pern and TONC tutorials. May even use it with VisualHam as I am used to the IDE.
But as us stated before, even though it will not run it should still transfer to the hardware. With it is not.
I don't see where I can increase the delay inside userport only in XC, but I have increased it up to 7 with no luck. I can't understand why it won't work. Any more ideas?
Thanks very much for the reply,
-Jake
#66220 - wintermute - Mon Jan 09, 2006 3:09 am
Do any of the other Xboo applications work with your cable? Martin's dos based app should work fine now you have UserPort installed. Since Xcomms no longer crashes ( although it should actually report that UserPort is required :/) I think we're safe in assuming that UserPort is installed and working. There's also another app around the forums somewhere, Xboo XP or similar.
If you're running XP you might try the procedure outlined in the third question here -> http://www.lvr.com/jansfaq.htm
jansfaq wrote: |
Q: If a logic 1 is written to the Control Port, bit 0, (Strobe), the PC clears all of the port bits once every five seconds for about a minute.
A: Some versions of Windows XP look for devices by periodically writing to the port. A registry key can disable this behavior.
The following registry setting disables the port writes:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Parport\Parameters]
"DisableWarmPoll"=dword:00000001
The following registry setting enables the port writes:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Parport\Parameters]
"DisableWarmPoll"=dword:00000000
You can make these changes in Windows' regedit utility. Or to make the changes automatically, create and save the following text files:
DisableWarmBoot.reg contains the following text:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Parport\Parameters]
"DisableWarmPoll"=dword:00000001
EnableWarmBoot.reg contains the following text:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Parport\Parameters]
"DisableWarmPoll"=dword:00000000
To change a registry key, run the program.
As always, use caution when working with the registry, which contains critical values for configuring and running the PC.
After making a change, reboot the PC.
Disabling the port writes can also eliminate port timeout errors received in some applications.
Thanks to Richard Shotbolt for informing me of this fix.
|
#66226 - jake2431 - Mon Jan 09, 2006 3:49 am
Okay, I have both of those programs so I will try them.
XBOO XP: Tried to run and it says Requesting Nomal Mode...
I just named a program a.gba to test it out and used this batch
Code: |
@ECHO OFF
XBOOXP c:\a.gba -p378 -h -d2 |
And I'm actually not sure how to use Martin's dos based app :-S. I don't seem to have a readme for it.
It doesn't seem that any will work. I'm not sure whatelse to try. I am going to look into the other part of you post in a few minutes, but I have something I have to do first. So I will post my results in about 40 minutes.
#66230 - jake2431 - Mon Jan 09, 2006 5:19 am
Okay, I have tried changing the registry. Now the communicator just acts really funny. Randomly opening up other windows when I try an action and randomly exiting all together. Now that I have these programs would it be best to enable or disable it?
#66231 - wintermute - Mon Jan 09, 2006 5:30 am
hard to tell really :/
did DisableWarmPoll exist in your registry before? If so what was it's setting?
What windows does it randomly open?
I don't think the registry setting should have that kind of effect, are you sure you changed the right setting?
#66234 - jake2431 - Mon Jan 09, 2006 5:51 am
Actually I don't know much at all about the registry and I just did what the faq said and used as a .reg Code: |
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Parport\Parameters]
"DisableWarmPoll"=dword:00000001
|
I didn't think to check it before hand because I have never wrote a reg program before.
It was doing this stuff before just not as much. The window that pops up is just XC reopening itself(wierd). Other times it says that there was an error and XC must shut down(3 different things happen with reopening the same file)these two plus the regular can't communicate with the GBA thing)). I just set it disabled because that seems to work best.
#66236 - jake2431 - Mon Jan 09, 2006 5:57 am
I am starting to think I may just have to buy the MBV2 cable. I just hate to give up on this after I built it and everything. But it looks like I am running out of options. I wish I was in an area where other people did this kind of stuff and I could use someone elses cable to see if it would work with it.
#66243 - tepples - Mon Jan 09, 2006 6:34 am
Here's another method: Rename the file to something.mb and then drag it on top of VisualBoyAdvance. If it white-screens, then it's not a valid multiboot program.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#66298 - jake2431 - Mon Jan 09, 2006 5:22 pm
I think it is a valid mb program. I open up my command line and typed Code: |
ren tilemode1.gba tilemode1.mb |
I used the drag and drop method to put it into GBA and it still ran fine.
#66377 - wintermute - Tue Jan 10, 2006 5:57 am
jake2431 wrote: |
I think it is a valid mb program. I open up my command line and typed Code: | ren tilemode1.gba tilemode1.mb | I used the drag and drop method to put it into GBA and it still ran fine. |
Pretty much irrelevant, your problem here isn't the binary, it's either the cable you've built, your parallel port or some other piece of software interfering with the process.
You could try setting your parallel port to SPP mode and maybe adding the pullup resistors as specified in Martin's orginal docs -> http://www.work.de/nocash/gba-xboo.htm
The random window stuff worries me a little, there's something a bit odd going on there.
#66474 - jake2431 - Wed Jan 11, 2006 2:01 am
I don't think it is the cable; i have tested it recently(again) and the female GBA end matches the pins it should on the parallel end(I could be wrong, but it looks right). Okay so I will try setting my port to SPP mode. How do I do that?
#66587 - wintermute - Thu Jan 12, 2006 5:58 am
jake2431 wrote: |
I don't think it is the cable; i have tested it recently(again) and the female GBA end matches the pins it should on the parallel end(I could be wrong, but it looks right). Okay so I will try setting my port to SPP mode. How do I do that? |
The parallel port mode is set in the BIOS settings, usually under "integrated periperals"
The pinout of the GBA linkport in the diagram with xcomms is shown looking into the GBA socket. If you look at the cable plug head on with the flat side to the bottom then pin 1 is the top left.
It's not inconceivable that your parallel port won't work with Xboo, my most recent PC has problems which I've yet to solve ( it's a foxcon motherboard). I've yet to try my mbv2 cable on it - although I'm looking at the protocol in an attempt to add support for it to Xcomms.
#66595 - jake2431 - Thu Jan 12, 2006 8:23 am
The schematic is a picture of the socket in the actual gba? I actually thought this may be the proplem in the begining so I looked at it again and it said "looking into a gba link socket" and I saw gba link as the cable and dismissed it. I bet this was the problem, but let me make sure I have you right before I tear my able apart. Looking at the actual cable the pattern is
1,3,5
2,4,6
Is that right? And
5,3,1
6,4,2
is the way it looks on the gba socket?
#66612 - wintermute - Thu Jan 12, 2006 1:43 pm
yep, that's the way
#66638 - ZeroX - Thu Jan 12, 2006 4:23 pm
hi there. im the authour of XBOO XP. i' ve been reading through, and i think the problem is your cable. you are using my program correctly. there is nothing wrong with your settings. You dont need to use userport to get it to work.
the parrelel port mode setting doesnt really matter, spp or normal will do.
so, a logical deduction would place the blame on your cable. u seem to know how to compile a multiboot image. i guess thats that.
#66639 - wintermute - Thu Jan 12, 2006 4:40 pm
ZeroX wrote: |
hi there. im the authour of XBOO XP. i' ve been reading through, and i think the problem is your cable. you are using my program correctly. there is nothing wrong with your settings. You dont need to use userport to get it to work.
|
Well hopefully it's his cable - I've found two machines so far that I can't get bit banging to work on.
Quote: |
the parrelel port mode setting doesnt really matter, spp or normal will do.
|
Actually it does matter. SPP mode stops the GBA shorting ( power light flickers with GBA off & cable plugged in, GBA refuses to boot) on one of my machines. Another machine won't recognise the GBA with the port in anything but SPP mode.
#66647 - jake2431 - Thu Jan 12, 2006 6:02 pm
Ah, yeah it's my cable. I feel pretty stupid right not. Well, it's good at least I know what to do know. I guess I was bound to make mistakes see as it was my first attempt at soldering and reading schematics(I just could have swore I had it right). I'm just glad we are making progression. Thanks guys. I will let you know how it goes.
#66713 - jake2431 - Fri Jan 13, 2006 3:32 am
It works, it works, it freaking works! YES!!!!
The xboo communicator works pretty good with it, but It is sometimes still randomly exiting. XBOO XP works great on it and seems to be smooth. ZeroX do you think you will ever do a GUI version. That way I don't have to change the batch file everytime(I know it doesn't take that long, but every second counts :) ). Thanks everyone for all of your help. I'm sorry that it turned out to be something so simple that I should have figured out on my own. But hey.... IT WORKS!!!
Now that I am over that it is time to get back to coding.
#66718 - jake2431 - Fri Jan 13, 2006 5:05 am
#66732 - wintermute - Fri Jan 13, 2006 6:34 am
jake2431 wrote: |
Ah, yeah it's my cable. I feel pretty stupid right not. Well, it's good at least I know what to do know. I guess I was bound to make mistakes see as it was my first attempt at soldering and reading schematics(I just could have swore I had it right). I'm just glad we are making progression. Thanks guys. I will let you know how it goes. |
Wouldn't worry about it, I think *everybody* does that the first time, I know I did and so did a couple of people who helped me test Xboo Communicator. You're certainly not alone.
jake2431 wrote: |
It works, it works, it freaking works! YES!!!!
The xboo communicator works pretty good with it, but It is sometimes still randomly exiting. XBOO XP works great on it and seems to be smooth. ZeroX do you think you will ever do a GUI version. That way I don't have to change the batch file everytime(I know it doesn't take that long, but every second counts :) ). Thanks everyone for all of your help. I'm sorry that it turned out to be something so simple that I should have figured out on my own. But hey.... IT WORKS!!!
Now that I am over that it is time to get back to coding. |
GUI version doesn't necessarily make things any easier, just less intimidating for people who aren't used to command line tools.
If you've used the devkitPro installer then you should have Programmer's Notepad already set up to run Makefiles. You can add a target to send the binary with your preferred app. There's a brief document on adding tools to PN2 at http://www.devkitpro.org/pn2.shtml
If you take the template in the gba examples and modify this section of the Makefile
Code: |
.PHONY: $(BUILD) clean
#---------------------------------------------------------------------------------
$(BUILD):
@[ -d $@ ] || mkdir -p $@
@make --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile
all : $(BUILD)
#---------------------------------------------------------------------------------
clean:
@echo clean ...
@rm -fr $(BUILD) $(TARGET).elf $(TARGET).gba
#---------------------------------------------------------------------------------
|
to read
Code: |
.PHONY: $(BUILD) clean sendmb
#---------------------------------------------------------------------------------
$(BUILD):
@[ -d $@ ] || mkdir -p $@
@make --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile
all : $(BUILD)
#---------------------------------------------------------------------------------
clean:
@echo clean ...
@rm -fr $(BUILD) $(TARGET).elf $(TARGET).gba
sendmb:
xcomms $(OUTPUT).gba
#---------------------------------------------------------------------------------
|
You can, of course, replace xcomms with xbooxp $(OUTPUT).gba -p378 -h -d2
then you just add a tool to PN2 which has the command 'make sendmb'
Last edited by wintermute on Fri Jan 13, 2006 6:44 am; edited 1 time in total
#66735 - jake2431 - Fri Jan 13, 2006 6:39 am
Alright, thanks that sounds great. I will definetly look into that. Thanks again for all of your help.