Jump to content
IGNORED

Command Line Tools


Recommended Posts

This is a command line tool for uploading and executing files on the JagGD.

 

Usage:

jaggd [commands]

-r          Reboot
-rd         Reboot to debug stub

From stub mode (all ROM, RAM > $2000) --
-u[x] file[,a:addr,s:size,o:offset,x:entry]
            Upload to address with size and file offset and optionally execute.
            Prefix numbers with $ for hex, otherwise decimal assumed.
-x addr     Execute from address

 

So, for example, if you had a bin file which loaded and executed at $4000 with no header, you'd load and execute it like this:

jaggd -rd -ux myfile.bin,a:$4000,x:$4000

 

I will be expanding development and debug type support as I get the time. It's something I want myself, so it will happen eventually. :)

 

JagGD.zip

Edited by SainT
Updated attachment.
  • Like 8
  • Thanks 3
Link to comment
Share on other sites

2 hours ago, dilinger said:

Thank you for sharing this.

Do you plan to release the sources in the future?

I’m sure at some point. I also need to get together some code showing how to use the other features of the jaggd in your own code. So many things on my todo list! ?

  • Like 1
Link to comment
Share on other sites

On my phone or I'd look in the zip to be sure it isn't there already, but I have to second the request for source and/or a Linux build.  Source is best since I don't like running a USB cable across my floor (there are small children who like to trip over such things running around), so I use a raspberry pi/arm board to connect to my Jag, so x86 binaries make things hard.  No rush, tend to your pre-orders and family stuff first, just noting where the request is coming from.  My skunk and BJL options are working fine for now ?. Also happy to help port to Linux if you just want to share the source.  My day job is writing Linux drivers. I can't test until GD's are available to people not on the pre-order list in the US though, so it might take a while ?

 

And speaking of Linux and/or OS X support, it's hard to type '$' on the command line there, so supporting a '0x' prefix as well for hex would be another nice feature.

  • Like 3
Link to comment
Share on other sites

  • 2 weeks later...

I imagine using something like libusb will probably hide most of the USB magic and make it portable to any other platform that supports that, rather than natively try and support say, Linux and OS X's different USB frameworks.

 

Typing a $ isn't hard, it's just that the shell will try and interpolate a matching environment variable, so either escape it with a \ or quote it with single quotes so there's no interpolation. Having said that, I also prefer 0x notation to denote hexadecimal numbers ?

  • Like 2
Link to comment
Share on other sites

On 6/13/2020 at 4:51 PM, cubanismo said:

On my phone or I'd look in the zip to be sure it isn't there already, but I have to second the request for source and/or a Linux build.

I assume you have since seen that the zip only has a Windows executable, as we expected. I would buy this as soon as it had Linux support for game dev. Source would be ideal, but I'll take an x86 bin; however, having an ARM bin in addition would be extra nice, in lieu of source.

 

I have some specific Jaguar dev tools and games I've been meaning to create. I had an official Jag DevKit back in 95, but was too busy with my web startup. I'm ready, now. ;)

  • Like 2
Link to comment
Share on other sites

3 minutes ago, pedalpowered said:

I have some specific Jaguar dev tools ... I've been meaning to create.

If someone were to write a replacement for the Atari+Alpine debugger that could break, disassemble, and single step the 68k AND RISC processors, I'd get pretty excited.  Also, if there were ponies to be had, I wouldn't say no.

  • Haha 3
Link to comment
Share on other sites

Thanks for all your work on this @SainT!

 

I am also interested in Linux support if possible, or at least sources so I can build the tools myself.  It has been great to be able to do Jag dev in Linux with the Skunkboard, and it would be great to add the Jag GD to my little workforce.

 

  • Like 3
Link to comment
Share on other sites

  • 10 months later...
  • 3 weeks later...

For drag and drop icons on the desktop....

 

Create two batch files on the desktop:

 

For ROMs: JagSDCmd.exe -rd -stub -ux %1,a:$800000,x:$802000

For ABSs: JagSDCmd.exe -rd -stub -ux %1,a:$4000,x:$4000

 

Just drop the ROM on them and off they go.

  • Like 2
  • Thanks 2
Link to comment
Share on other sites

  • 3 weeks later...
  • 6 months later...

I am trying to upload, and execute the 3D renderer demo from the Official Jaguar Kit - August 4, 1995 (the latest one Atari made)

 

It works fine to load it from SD cart, but it does not work when I try to upload it using the jaggd command line tool over USB (I confirmed it works for another file)

 

I use the command:

jaggd -rd -ux DEMO.COF,a:$4000,x:$4000

This is not good for me, because then I have to move the SD card from the GameDrive to the PC, and back for every small change. E.g. it will take forever to develop a game like this, and I will certainly break the SD card slot at some point.

 

@SainT, could you please look why this file cannot be executed when uploaded, while it works to run it from the SD card?

I provide the compiled file (it is made from open sources of the Jaguar devkit anyway)

DEMO.COF

 

P.S. This file does not work in an emulator, so I have to use real hardware for development.

Edited by phoboz
Link to comment
Share on other sites

Try without the a and x params, it should pick those out of the cof I believe.

 

And one other weird thing, I found I couldn’t use $ no matter what I did from a makefile, so ended up just using decimal for address and execution address.

Edited by SainT
Link to comment
Share on other sites

  • 2 weeks later...

I do need to release the code for it, I think, so people can do their own Mac / Linux versions. I don't use either platform regularly at all and not a great deal of time to familiarise myself and port it. I'll try and get on to that this week.

  • Like 3
  • Thanks 1
Link to comment
Share on other sites

  • 1 month later...
On 1/4/2022 at 1:34 AM, SainT said:

I do need to release the code for it, I think, so people can do their own Mac / Linux versions. I don't use either platform regularly at all and not a great deal of time to familiarise myself and port it. I'll try and get on to that this week.

That would be really great. Thanks for your hard work, the JagGD is a labor of love!

  • Like 1
Link to comment
Share on other sites

  • 2 months later...

Got tired of waiting. It took me all of one night to figure out how to use Wireshark to capture the raw USB traffic, reverse engineer the USB protocol out of that, learn the libusb-1.0 syntax, and rewrite this utility from scratch borrowing a little code from JCP, and yes, clean up the source a little for publishing, just so I could use my GameDrive from Linux.

 

https://github.com/cubanismo/open_jaggd/releases/latest

 

Let me know if I got anything wrong. I've only tested on one GameDrive on one computer so far, but it works for me with all sorts of roms, COFF/ABS/JagServer files.

  • Like 4
  • Thanks 2
Link to comment
Share on other sites

12 hours ago, Ericde45 said:

great, thanks a lot

would it be possible to not only upload in ram but to upload to the SD card ?

 

 

Do you mean write a file from the PC to memory card or upload to memory from memory card?

Link to comment
Share on other sites

i mean : send a file from the PC using command line tool, to write it to the GD SD card , so without removing the SD card from the GD to plug it into the PC

 

sending a file directly to memory and run it is great, currently i  use that a lot when testing my code on real hardware

but sometimes i need to restart and watch it from the beginning of the execution, and my pc is not just near my jaguar ( i have a nice long usb cable ;) )

 

 

  • Like 1
Link to comment
Share on other sites

41 minutes ago, Ericde45 said:

i mean : send a file from the PC using command line tool, to write it to the GD SD card , so without removing the SD card from the GD to plug it into the PC

 

sending a file directly to memory and run it is great, currently i  use that a lot when testing my code on real hardware

but sometimes i need to restart and watch it from the beginning of the execution, and my pc is not just near my jaguar ( i have a nice long usb cable ;) )

 

 

Double this. Mean while I use a SD card expander to avoid wearing out the release mechanic in the GD. But during intro testing I need to rewrite the SD a dozen of times. 

Actually it would be cool to write directly into this RAM which holds the ROM for boot. And of course being able to start this via jaggd.

Same for booting a game by sending the name:

jaggd -b demo.j64

Edited by 42bs
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...