• Rise from your gwave!

USB dev cart project

Discussion in 'Saturn Dev' started by antime, Mar 24, 2012.

  1. razor85

    razor85 New Member

    I managed to compile it, make some changes and run the disk. The application doesn't even write the first byte of data. I'll run a check on the hardware joints again. I truly suspect of the memory chips now, but they are a pain to desolder. Anyway, will do it :) Thanks for the help!
     
  2. cafe-alpha

    cafe-alpha Member

    How is it going now, @razor85 ? The soldering of your USB dev cart looks good, and is better than mine :) So rather than desoldering the flash ROM chip, I would recommend you to verify the value of vendor/device IDs displayed by flasher utility : for example, if you see something else than FFFF/FFFF, then it's probably a cartridge connection problem.

    BTW, black screen without SEGA logo on startup sometimes happens here too, and is usually caused by affinity problem between connector and cartridge. Right-justifying the cartridge before inserting it in its slot usually solves this problem here.

    I started with similar problems too, so please keep persevering !
    (In my stock, I still have a little stock of SMD "0603 metric" passive components smaller than the fragment of a breadcrumb from the time I soldered my first USB dev cart ! And I still own this first USB dev cart, because it didn't worked at all :D)
     
  3. razor85

    razor85 New Member

    Hey, thanks for the heads up. I tried to move the cartridge many times, but no success. I also desoldered the memory chips and got other ones into place, and at first it identified correctly, but once it started flashing, it froze (I waited a lot). On the next boot, no device recognized (just got vendor id FFFF). I guess I'm out of luck? I know these chips can be reprogrammed over and over, so maybe it's another component?
     
  4. razor85

    razor85 New Member

    Wow, you are right! Upon moving the cartridge now, I get different ID's all the time. Maybe I need to find the perfect position? o_O:bored:
     
  5. razor85

    razor85 New Member

    IT flashed!!!!!!!! ONE!!!!!

    It boots now, I followed the guid on PPCenter to get SatLink up and running, but when I try to upload minesweeper, I get stuck on:


    EDIT: The log says:
    Code:
    [12:10:37:531]20>SatCom debugger Ver.1.5.60 [Build Jan 19 2017, 05:07:26]
    [12:10:37:532]20>Usage: SatLink.exe <ini_file> [<commands>]
    [12:10:37:533]20>
    [12:10:37:534]20>Available command-line parameters are:
    [12:10:37:536]20> -logsettings <file>          Open log settings file.
    [12:10:37:536]20> -dev parlink         Open parallel port based device.
    [12:10:37:537]20> -dev usbdl           Open USB Data Link device.
    [12:10:37:538]20> -dev usbdc           Open USB dev cart device.
    [12:10:37:539]20> -dev ylink           Open Yabause Link.
    [12:10:37:540]20> -s <parameter> <value>       Set parameter to the specified value.
    [12:10:37:541]20> -loginfos                    Log help and commands given to program.
    [12:10:37:542]20>Basic commands:
    [12:10:37:544]20> -l  <file> <addr>            Load file to address
    [12:10:37:545]20> -x  <file> <addr>            Load file and JSR to load address
    [12:10:37:547]20> -xx <file> <addr> <flags>    Load file, soft reset and JSR to load address
    [12:10:37:550]20> -memset <addr> <val> <len>   Set memory area to specified 8-bit value.
    [12:10:37:553]20> -d  <file> <addr> <size>     Dump data to file
    [12:10:37:555]20>Soft reset flags used in -xx function:
    [12:10:37:556]20> Bit 0 : if set, reset High work RAM.
    [12:10:37:560]20> Bit 1 : if set, reset Low work RAM.
    [12:10:37:561]20> Bit16 : if set, reset VDP1 registers.
    [12:10:37:563]20> Bit17 : if set, reset VDP1 RAM.
    [12:10:37:565]20> Bit18 : if set, reset VDP2 registers.
    [12:10:37:566]20> Bit19 : if set, reset VDP2 RAM.
    [12:10:37:568]20> Example : 0xFFFFFFFE : reset everything except High work RAM.
    [12:10:37:569]20>Some shortcuts for the above commands:
    [12:10:37:571]20> -db <file>                   Dump BIOS (assume 512K)
    [12:10:37:572]20> -df <file>                   Dump cheat cartridge firmware (assume 256K)
    [12:10:37:575]20> -bs <file>                   Save battery backed RAM to file
    [12:10:37:576]20> -bl <file>                   Load battery backed RAM from file (must be 32K)
    [12:10:37:578]20> -target_info                 Display target informations.
    [12:10:37:579]20> -vdp1view                    Get VPD1 framebuffer snapshot.
    [12:10:37:581]20> -showlog                     Show Log Window.
    [12:10:37:583]20> -gui_set                     Change Main Form setting (Same keywords as in SatLink.ini).
    [12:10:37:585]20> -exit                        Exit this application.
    [12:10:37:586]20>
    [12:10:37:588]20>Based on Saturn PAR utility by Charles MacDonald (http://cgfm2.emuviews.com)
    [12:10:37:590]20>Based on code by Bart Trzynadlowski, James Forshaw and Charles MacDonald.
    [12:11:40:824]20>[PT]SC->OPEN (usb_dev_cart.ini)
    [12:11:40:826]20>Set log setting from file: log_settings.ini
    [12:11:40:827]20>SatCom debugger Ver.1.5.60 [Build Jan 19 2017, 05:07:26]
    [12:11:40:829]20>Usage: SatLink.exe <ini_file> [<commands>]
    [12:11:40:830]20>
    [12:11:40:833]20>Available command-line parameters are:
    [12:11:40:834]20> -logsettings <file>          Open log settings file.
    [12:11:40:836]20> -dev parlink         Open parallel port based device.
    [12:11:40:837]20> -dev usbdl           Open USB Data Link device.
    [12:11:40:839]20> -dev usbdc           Open USB dev cart device.
    [12:11:40:840]20> -dev ylink           Open Yabause Link.
    [12:11:40:843]20> -s <parameter> <value>       Set parameter to the specified value.
    [12:11:40:844]20> -loginfos                    Log help and commands given to program.
    [12:11:40:846]20>Basic commands:
    [12:11:40:847]20> -l  <file> <addr>            Load file to address
    [12:11:40:849]20> -x  <file> <addr>            Load file and JSR to load address
    [12:11:40:850]20> -xx <file> <addr> <flags>    Load file, soft reset and JSR to load address
    [12:11:40:852]20> -memset <addr> <val> <len>   Set memory area to specified 8-bit value.
    [12:11:40:853]20> -d  <file> <addr> <size>     Dump data to file
    [12:11:40:855]20>Soft reset flags used in -xx function:
    [12:11:40:857]20> Bit 0 : if set, reset High work RAM.
    [12:11:40:858]20> Bit 1 : if set, reset Low work RAM.
    [12:11:40:860]20> Bit16 : if set, reset VDP1 registers.
    [12:11:40:861]20> Bit17 : if set, reset VDP1 RAM.
    [12:11:40:863]20> Bit18 : if set, reset VDP2 registers.
    [12:11:40:864]20> Bit19 : if set, reset VDP2 RAM.
    [12:11:40:867]20> Example : 0xFFFFFFFE : reset everything except High work RAM.
    [12:11:40:868]20>Some shortcuts for the above commands:
    [12:11:40:870]20> -db <file>                   Dump BIOS (assume 512K)
    [12:11:40:871]20> -df <file>                   Dump cheat cartridge firmware (assume 256K)
    [12:11:40:873]20> -bs <file>                   Save battery backed RAM to file
    [12:11:40:875]20> -bl <file>                   Load battery backed RAM from file (must be 32K)
    [12:11:40:876]20> -target_info                 Display target informations.
    [12:11:40:878]20> -vdp1view                    Get VPD1 framebuffer snapshot.
    [12:11:40:879]20> -showlog                     Show Log Window.
    [12:11:40:881]20> -gui_set                     Change Main Form setting (Same keywords as in SatLink.ini).
    [12:11:40:882]20> -exit                        Exit this application.
    [12:11:40:884]20>
    [12:11:40:885]20>Based on Saturn PAR utility by Charles MacDonald (http://cgfm2.emuviews.com)
    [12:11:40:887]20>Based on code by Bart Trzynadlowski, James Forshaw and Charles MacDonald.
    [12:11:40:888]20>Command line: `SatLink.exe
    [12:11:40:891]20> "-logsettings"
    [12:11:40:892]20> "log_settings.ini"
    [12:11:40:894]20> "-loginfos"
    [12:11:40:894]20> "-dev"
    [12:11:40:896]20> "usbdc"
    [12:11:40:897]20> "-s"
    [12:11:40:899]20> "v"
    [12:11:40:900]20> "0x0403"
    [12:11:40:901]20> "-s"
    [12:11:40:903]20> "p"
    [12:11:40:904]20> "0x6001"
    [12:11:40:905]20> "-s"
    [12:11:40:907]20> "display"
    [12:11:40:908]20> "1"
    [12:11:40:910]20> "-s"
    [12:11:40:912]20> "init"
    [12:11:40:913]20> "1"
    [12:11:40:914]20>'
    [12:11:40:916]20>Open device (usbdc) ...
    [12:11:40:917]20>Start ...
    [12:11:40:919]20>Open device (usbdc) success !
    [12:11:40:920]20>Device version=Saturn USB dev cart (FTDI) interface Ver. 0.3
    [12:11:40:921]20>Init parameter "v" = "0x0403"
    [12:11:40:924]20>Set parameter (v, 0x0403) ...
    [12:11:40:925]20>Init parameter "p" = "0x6001"
    [12:11:40:927]20>Set parameter (p, 0x6001) ...
    [12:11:40:928]20>Init parameter "display" = "1"
    [12:11:40:930]20>Set parameter (display, 1) ...
    [12:11:40:931]01>USB dev cart internal settings
    [12:11:40:932]01>|VID        : 0x0403
    [12:11:40:934]01>|PID        : 0x6001
    [12:11:40:936]20>Init parameter "init" = "1"
    [12:11:40:937]20>Set parameter (init, 1) ...
    [12:11:40:939]01>USB dev cart init ...
    [12:11:40:943]01>USB dev cart init = 1
    [12:11:40:944]20>[PT]SC->OPEN ended
    [12:11:40:945]20>
    [12:11:41:432]20>[PT]SC->SEND (D:\Emulation\saturn\SatCom\MineSweeper2003\sl_elf.bin, [0x06004000], f0)
    [12:11:41:435]20>Loading file `D:\Emulation\saturn\SatCom\MineSweeper2003\sl_elf.bin' to address 06004000
    
     
    Last edited: Dec 28, 2018
  6. vbt

    vbt Staff Member

    mine does that :
    command line :

    SatLink.exe usb_dev_cart.ini -x sl_coff.bin 0x06004000 -exit

    file setup :
    I use statlink version 1.5.6.0
     
  7. razor85

    razor85 New Member

    Yayyyyy this worked!!!
    Thanks a lot all of you :D



    Edit: It bugs from time to time and requires me to reposition the cart all the time on the console. Any tips on that? I though about putting some solder on cartridge trails to make it fits "harder"
     
    SegaSaturnShrine, cafe-alpha and vbt like this.
  8. antime

    antime Extra Hard Mid Boss

    I don't know if it will actually help, but if you have a cartridge shell to spare you could try housing the PCB in that. It might make it sit more stably in the port.
     
    SegaSaturnShrine and cafe-alpha like this.
  9. vbt

    vbt Staff Member

    cafe-alpha likes this.
  10. razor85

    razor85 New Member

  11. razor85

    razor85 New Member

    Yeah I'm trying to find/buy a broken cartridge to use the shell on the cart.
     
  12. cafe-alpha

    cafe-alpha Member

    Congratulations ! I walked the same steps several years ago, and hope this will motivate you to mess more and more with Saturn low level stuff :)

    Adding solder trails on cartridge edge connector may not be a good idea since this may deteriorate the cartridge socket on Saturn side.
    On the other hand, using a cartridge shell shall soften connection problems; as it seems you used antime's PCB, the best choice for donor is using shell from official memory cartridge.

    And, if the PCB moves a little it its shell, then please use anything you want to make it not moving :) Personally, I use vinyl tape stick on PCB and then folded enough time to get appropriate thickness.
    [​IMG]
     
    SegaSaturnShrine likes this.
  13. razor85

    razor85 New Member

    Such a good idea to use the memory card, looks like it fits perfectly. I abandoned the idea of applying solder to the trail. The cartridge Just Works (TM) now.

    About the low level stuff, working all the time with Israel Jacquez on libyaul and code using it :)
     
    cafe-alpha and SegaSaturnShrine like this.
  14. cafe-alpha

    cafe-alpha Member

    All right, please keep up the good work ! Libyaul is good, please have fun with it :)
     
  15. razor85

    razor85 New Member

    Will do, we plan lots of stuff! Anyone who wants to join the wagon, I'll be publishing my sources open, hopefully it will help others as well :)
     
  16. vbt

    vbt Staff Member

    cool, what's in your bag ? can you share already your project ideas ?
     
  17. razor85

    razor85 New Member

    Well, I have some game ideas:
    1) (What I'm working on right now) A destruction racing game (similar to carmageddon, but top-down / iso view). I started this project on the Sega Genesis (but it was kinda of let down because I had to optimize it so much until I get it to be barely playable in the first iteractions), I can share some demo here later.
    2) An Overcooked clone. I also started this one, have a few 3D models and stuff on progress, but its going to be secondary.
    3) Whatever drives me interested in homebrews, definitely not emulation or porting anything, some creative work.
     

Share This Page