Jump to content
IGNORED

Loading ROM onto Skunkboard question


Songbird

Recommended Posts

Question on loading a ROM file onto the Skunkboard: I want to burn a file on flash at $80200, but begin execution at a different address. Is there a way to do that, and if so, how?

 

I'm using the universal header on my ROM, so I tried changing the start address at offset $404, but that did not seem to work as the jcp program proceeded to think I was loading a "headerless" ROM which is incorrect.

 

Thanks in advance!

Link to comment
Share on other sites

jcp v02.03.03 built on Oct  3 2010

* Usage: jcp [-rewfnbocdsux] file [$base]
  -r = reset (no other args needed)
  -f = flash (pass filename + opt base)
  -wf= word flash (slow, only if 'f' alone fails)
  -ef= erase whole flash
  -n = no boot (pass filename + opt base)
  -b = boot address (pass base only)
  -o = override address (pass filename and base)
  -h (cnt) = override the header skip count
  -c = launch console (incompatible with n)
  -d = dump flash (pass filename)
  -s = get board version and serial number
  -u = upgrade board bios (if available)
  -2 = use bank 2 instead of bank 1 (sb2)
  -6 = use 6MB mode instead of banked (sb2)
  -x (extconsole.exe) = shell to external console application
  -q = quiet mode (useful for SkunkGUIs)

-b should do it :)

Link to comment
Share on other sites

Thanks for the quick reply! Hmm, that option is not documented in http://www.harmlesslion.com/zips/SkunkBoard%20Manual.pdf, but sure enough, it shows up on the command prompt. Do you have any more details on how that works? How can I combine it with either a previously loaded ROM file or a new "jcp -fh 8192 xyz.rom" command to get it to use the -b address? I tried to use both -b and -fh in a single command, but that doesn't seem to work. I also don't see a generic way to say "start game" besides a complete reset, and this seems to make the -b address go away...

 

For example, I tried:

 

jcp -b startAddress

jcp -fh 8192 xyz.rom

 

The first command was accepted, but then the second command spins indefinitely (never even starts the flash erase). If I reset the Jag and just do the second command, it will load but of course start at $802000 instead of the startAddress I want to use.

 

Also, where did you download v02.03.03? I have v02.03.01.

Link to comment
Share on other sites

I'm still having issues loading a secondary file onto the Skunk. For example, I'm trying to load the Protector SE ROM followed by the RAM load of Protector RESURGENCE. The ROM is loading just fine, and I've verified I can start the game with jcp -b $802000. After a jcp -r, I then try to load a *.abs file to RAM and here is what I see:

C:\Prog\Jaguar\DEMOS>jcp prot_cd.abs
jcp v02.03.03 built on Oct  3 2010

COFF File:  Skip 168 bytes, base addr is $192000, length is 227947 bytes
Sending..........
Jag accepted start request at $00192000.

Finished in 780 millis, 292KB/second.

This is the correct header skip and start address, however it won't execute. I've also tried loading the file to RAM with the -n option to not execute, then use jcp -b $192000 to start, but that doesn't work either.

 

If I take these exact same files to the VJ emulator, it starts RESURGENCE just fine.

 

It feels like I'm missing something basic on how to load and execute RAM files on the Skunk. Any ideas?

Link to comment
Share on other sites

The RESURGENCE binary does the standard init just like the Prot SE cart would do: video set up, clears interrupts, disables GPU and DSP, etc.

 

Actually I got it to work once last night and once just now. But I can't repeat it reliably, and I'm using the same commands as I go. I wonder if there is some value stuck in RAM that it doesn't like, such that only a cold boot of the Jaguar will load it?

Link to comment
Share on other sites

Hmm... I don't recall touching the ROM width anywhere.

 

Also, when the *.abs does work, it actually kicks the Jaguar back to the regular boot-up screen with the roar and spinning cube. I find this curious, because my code isn't forcing that to happen and I don't see the boot-up screen when I do jcp -b $802000; it just goes straight to Protector.

Link to comment
Share on other sites

Different question: is anyone using GDB to debug on the Skunk? I'm a newbie at GDB, but I have it connected to the Skunk. Is there a way I can load a file to RAM within GDB, then start executing one instruction at a time? That way I could inspect regs and memory as I go to figure out what's going on here.

Link to comment
Share on other sites

Hi,

I use GDB and Skunkboard; I use both via Code::Blocks, in my case, and comfort is similar with Visual Studio, you can trace M68K only.

It is rather slow for Debug, but my laptop is pretty hold too so it doesn't help either.

When using GDB & Skunkboard environment, I remember I was able to trace without the symbols.

Link to comment
Share on other sites

Hi,

I use GDB and Skunkboard; I use both via Code::Blocks, in my case, and comfort is similar with Visual Studio, you can trace M68K only.

It is rather slow for Debug, but my laptop is pretty hold too so it doesn't help either.

When using GDB & Skunkboard environment, I remember I was able to trace without the symbols.

 

can you post a little how-to ?

Link to comment
Share on other sites

Sure.

I and Jagchris did a discussion about it some time ago, and written down a document; you can find it here: http://3do.cdinteractive.co.uk/viewtopic.php?f=35&t=3601

There are also a couple of screenshots to show the solution in action too. It works fine at my side, so you may have different results. I will recommend to start playing around GDB and Skunkboard within the GDB console mode, if you never done it before.

I use my own jserve version based on Tursi work (very talented guy), but the jserve from Tursi will work fine too.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...