Jump to content
IGNORED

Normal Boot with Skunk?


42bs

Recommended Posts

In theory you can upload a complete ROM to the second bank, put the FPGA into bank 2 mode, then reset the jag. It should then boot like a normal ROM, complete with the hashing/encryption check stuff and spinny cube logo. Note you'll have to hack your ROM header to boot in 16-bit instead of 32-bit mode, you'd have to hack JCP to let you flash the bottom 8k of the ROM, and write a tiny stub program to do the bank switch + reboot, which is why I say "in theory." It can't be done out of the box.

 

I'm not clear if this helps with your goal though. What do you mean by presets? Are you just trying to examine the state of the system immediately after the BIOS boots a normal ROM?

Link to comment
Share on other sites

Hoo, that sounds complicated. Does GameDrive boot normal?

With presets I mean, I need to know the register contents. For example, is setting big-endian mode in the game needed, or is ist done by the BIOS.

For size coding, every byte matters.

Link to comment
Share on other sites

On 2/6/2022 at 2:32 PM, 42bs said:

Hoo, that sounds complicated. Does GameDrive boot normal?

With presets I mean, I need to know the register contents. For example, is setting big-endian mode in the game needed, or is ist done by the BIOS.

For size coding, every byte matters.

Use an emulator, it'll get you those answers far quicker. There's nothing in the boot sequence that any emulator struggles with.

 

You can also read the BIOS source code, since the fully commented source is out there.

 

The BIOS gets the settings for the cart port memory from the cartridge itself and sets whatever is in the header at $400 as a byte to MEMCON1. From that it gets the memory width (which must be 16 bit for the Skunkboard) and the memory timing (which the Skunkboard header is configured to be DRAM 4/3/5, 10 cycle ROM, but after boot this is set to 6 cycle IO, DRAM 2/1/3, 5 cycle ROM by the Skunkboard BIOS). MEMCON2 which contains the system endianness and DRAM configuration is set by the Jag's BIOS, but the BIGEND bit itself is set by hardware on powerup.

 

  • Like 1
Link to comment
Share on other sites

1 hour ago, Tursi said:

Use an emulator, it'll get you those answers far quicker. There's nothing in the boot sequence that any emulator struggles with.

Most emulators don't work on my machine, and/or do not show all registers.

 

1 hour ago, Tursi said:

You can also read the BIOS source code, since the fully commented source is out there.

? Done this 1993 already. But knowledge vanishes over time. So I will search for the "documented source" (did not know about it).

 

The final goal is to have a minimal setup to have enough space to write 512 (or lesser) intros.

 

  • Like 1
Link to comment
Share on other sites

2 hours ago, 42bs said:

Most emulators don't work on my machine, and/or do not show all registers.

? Done this 1993 already. But knowledge vanishes over time. So I will search for the "documented source" (did not know about it).

The final goal is to have a minimal setup to have enough space to write 512 (or lesser) intros.

You're a programmer, print the registers yourself. ;)

 

If you want everything setup for a ROM cart, you'll might want to let the Jaguar run the intro. The Skunkboard's boot flags skip a lot of the BIOS setup. But, then you need to wait for it before your demo starts.

 

BOOT.S

GPU_Boot_Diasm.txt

RSAM.DAS

RSAM.GAS

STARTUP.S

https://tursilion.blogspot.com/2016/09/atari-jaguar-programming-causes-brain.html  (covers the GPU fast boot the Skunkboard uses to start in 2 blocks instead of 10).

 

Happy reading ;)

 

  • Like 2
Link to comment
Share on other sites

2 hours ago, Tursi said:

You're a programmer, print the registers yourself. ;)

Yes, I will likely do. Hence my question if there is a way to run the normal boot. But meanwhile I got my GD and it seems to do a plain vanilla boot (though it likely modifies the MEMCON1 settings of the cart to comply to its needs).

Link to comment
Share on other sites

5 hours ago, Tursi said:

You're a programmer, print the registers yourself. ;)

Wow, cool stuff. So I can actually do it like I do for the Lynx, write a GPU code and let the boot ROM decode it. It could be nearly 2.5k large. But reasonable would be a single encrypted block (speed) and then "load" the remaining stuff from card.

Now I have to dig into the 68k code to see how the OP is setup ...

 

Big thank!

  • Like 1
Link to comment
Share on other sites

8 hours ago, 42bs said:

Oh, SKUNK pretends it is a CD unit?! Nice.

No, it doesn't. But when the CD unit boots a cartridge, it does it differently than the Jag BIOS does. It assumes the standard Atari encrypted boot code is present and patches it to run on the DSP instead of the GPU. ;)

 

 

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...