PC Comm Card

Originally posted by seal1@Sun, 2006-03-19 @ 02:55 AM

oh yeah, a lot of USB activity for the saturn but you lost the RACE ;-)
Only because I'm a lazy bum and let the parts sit on my shelf for six months (not that I was aware there was a race).

pinchy´s solution is faster and I can´t wait to get his one.
It's fast enough for me. Eg. downloading the KoF'95 cartridge takes around 17 seconds, how long do you reckon it'll take you? Oh that's right, you won't be able to!

110kb/s is about the same speed as old PCCOMMSLINK, so point is only to use it with a PC w/o ISA like most modern boards ?
That's the main reason. My last ISA-equipped motherboard destroyed itself in a shower of bursted capacitors over a year ago, and I'm mostly using a Mac Mini nowadays. The other reason is that I know how to solder a few wires, I don't know how to make a cartridge.

gdb works for you ? on saturn with serial-output to pc ?
No, that was an example of what would work more easily if you wired the module for asynchronous communications on both channels. Using the direct-access drivers will at the very least require a modified gdb or gdbproxy or something similar.
 
Wow antime, that sounds very interesting. So you are using the serial communication port on the back of the Saturn? IIRC there were some people trying to use it but they had no success. This solution is great, much better than the cartridge approach, cheaper and programs uploaded can use any existing cartridge.

Too bad that I haven't got such a deep knowledge in that direction, I never thought that gdb could work on Saturn. If I could use gdb with source level debugging on a real Saturn, it would be a major improvement for me. What about profiling, is there a possibility to use it on Saturn, too?

I should consider building such an adapter. Can you please tell a bit more about it, it's possebilities and stuff. How expensive would it be to build one and what skill is needed.

Thanks antime!!!
 
Originally posted by Rockin'-B@Sun, 2006-03-19 @ 11:47 AM

So you are using the serial communication port on the back of the Saturn? IIRC there were some people trying to use it but they had no success.
Yes. I put the module inside the Saturn, but I soldered the wires to the link port's test pads, so I think using a chopped-up link cable should work. TakaIsSilly had problems using a MAX232 because the port's power supply is so poor. I took the power directly from the power supply, but the chip can be configured to take its power from the USB port, so that shouldn't be an issue.

This solution is great, much better than the cartridge approach, cheaper and programs uploaded can use any existing cartridge.
Don't be so quick to dismiss the cart-based solutions. While the link port approach is much simpler in terms of hardware you lose big-time in software complexity. So if you still have a functioning Commlink or get one of Pinchy's carts I would recommend you use asynchronous comms for both CPUs. That way you will have the best of both worlds.

Too bad that I haven't got such a deep knowledge in that direction, I never thought that gdb could work on Saturn. If I could use gdb with source level debugging on a real Saturn, it would be a major improvement for me. What about profiling, is there a possibility to use it on Saturn, too?
gprof will be more difficult to make work, as it's not designed to be used with embedded systems. Hacking around the profiling functionality so it records to a RAM cart which can then be dumped to a PC might work, but I don't know how much work that would involve. Profiling in general is of course possible.

I should consider building such an adapter. Can you please tell a bit more about it, it's possebilities and stuff. How expensive would it be to build one and what skill is needed.
The DLP-2232M module I used costs around 30€, other than that you need some wire and possibly a prototyping board. If you want to make an external converter you'll also need a Saturn system link cable or a connector that fits the port. Depending on how you choose to configure the module you then need to solder four or five signal wires and around five power wires and six ground wires (again, depending on configuration).

If you choose to use asynchronous mode and virtual comm-port drivers then potentially any program that uses serial ports can directly talk to the Saturn. This includes terminal emulators, GDB, and so on. The transfer speeds will however be much lower (the SH7604 manual lists 224 kbit/s as the maximum bit rate for async mode).

If you choose to use the direct-access drivers (in async or synchronous modes) you will need to make modifications to existing software or write replacements yourself. Synchronous mode is very fiddly to use, and it's easy to cause communication errors that will either cause the transfer to get out of sync or that will make the SH-2's serial interface stop transmitting or receiving.

Two interesting features available with the serial ports are serial interrupts and the ability to use DMA for the data transfers. This means you can break into a program running on the Saturn (a must for debugging), and stream data in the background. Unfortunately the data rates are not enough for CD emulation, but it has its uses.
 
Originally posted by antime+Sun, 2006-03-19 @ 09:25 AM-->QUOTE(antime @ Sun, 2006-03-19 @ 09:25 AM)It's fast enough for me. Eg. downloading the KoF'95 cartridge takes around 17 seconds, how long do you reckon it'll take you? Oh that's right, you won't be able to!

[/b]


I�m able to do it in less then your 17 sec, coz my PCCOMMSLINK is 114kb/s fast ;-) still have my old asus t2p4 mobo with ISA.

but currently I�m only into playing GT Legends so I don�t need to load big stuff to saturn, so my yano/exstand is enough with 66 kb/s for files like 4-8 kb. but hopefully soon a faster solution would be great if I stay on homebrew-saturn-developing and stuff getting bigger.

@Sun, 2006-03-19 @ 09:25 AM

That's the main reason. My last ISA-equipped motherboard destroyed itself in a shower of bursted capacitors over a year ago, and I'm mostly using a Mac Mini nowadays. The other reason is that I know how to solder a few wires, I don't know how to make a cartridge.


I hear/read often from fat or bursted caps from pc-sites or magazines, never got this problem myself the last 10 years with any PC.

so perfect setup would be pinchy�s card for transfering and antime�s in async-mode for gdb and a cd-emu-lib thats works over one of them.

how did psyQ the debugging ? there did it over their card not serialport. AFAIK you must solder a/some wire(s) internally in the saturn to the card-port.
 
Originally posted by seal1@Sun, 2006-03-19 @ 01:55 PM

I´m able to do it in less then your 17 sec, coz my PCCOMMSLINK is 114kb/s fast ;-)
Although it exceeds the specification, the Saturn seems to work with a 1.2MHz serial clock, which gives 138 KB/s, so ha!

I don´t need to load big stuff to saturn, so my yano/exstand is enough with 66 kb/s for files like 4-8 kb. but hopefully soon a faster solution would be great if I stay on homebrew-saturn-developing and stuff getting bigger.
I agree that most transfers are very small and that modem speeds are for the most part quite tolerable.

I hear/read often from fat or bursted caps from pc-sites or magazines, never got this problem myself the last 10 years with any PC.
This problem only really started with the last generation of ISA-equipped motherboards (Athlon and P3/P4-compatible boards).

so perfect setup would be pinchy´s card for transfering and antime´s in async-mode for gdb and a cd-emu-lib thats works over one of them.
It occured to me that you could possible connect both of the FT2232's channels to one CPU. That way you could do bulk transfers in synchronous mode over one channel and then switch to the other one for use as a console/debugging/whatever.
 
Originally posted by antime+Sun, 2006-03-19 @ 10:53 AM-->QUOTE(antime @ Sun, 2006-03-19 @ 10:53 AM)Yes. I put the module inside the Saturn, but I soldered the wires to the link port's test pads, so I think using a chopped-up link cable should work. TakaIsSilly had problems using a MAX232 because the port's power supply is so poor. I took the power directly from the power supply, but the chip can be configured to take its power from the USB port, so that shouldn't be an issue.

[post=145173]Quoted post[/post]


[/b]


Why is this MAX232 necessary? When I look on my DC coders cable, there such a thing(max3232cpe+capacitors), too. Just a serial cable won't do?

Originally posted by antime@Sun, 2006-03-19 @ 10:53 AM

Don't be so quick to dismiss the cart-based solutions. While the link port approach is much simpler in terms of hardware you lose big-time in software complexity.

[post=145173]Quoted post[/post]​


What do you mean? The transfer speed isn't that importand and I don't see any need for a CD emulation over cartridge, since CD's can be burned and their content doesn't change that much (and if, there are still emus).

Originally posted by antime@Sun, 2006-03-19 @ 10:53 AM

gprof will be more difficult to make work, as it's not designed to be used with embedded systems. Hacking around the profiling functionality so it records to a RAM cart which can then be dumped to a PC might work, but I don't know how much work that would involve. Profiling in general is of course possible.

[post=145173]Quoted post[/post]​


Profiling would really be cool and though one can implement some execution time measurement, it's not the same. Seems like gcc does insert the profiling code(-gp), so that code needs to be modified to write to a RAM cart. Or is that code part of some standard library?

@Sun, 2006-03-19 @ 10:53 AM

The DLP-2232M module I used costs around 30�, other than that you need some wire and possibly a prototyping board.

[post=145173]Quoted post[/post]​


Oh, that's quite much. It would make this solution at least as expensive as the other. What a pitty. Why not just making a Freewing for USB(there are so many people working on different approaches currently...)?

The thing is I'm looking for a cheap option that I could give the C4 contestants for free(?), so that they can test code on real Saturn.

Source code level debugging is most useful in my opinion.
 
Originally posted by Rockin'-B@Mon, 2006-03-20 @ 04:42 PM

Oh, that's quite much. It would make this solution at least as expensive as the other. What a pitty. Why not just making a Freewing for USB(there are so many people working on different approaches currently...)?

The thing is I'm looking for a cheap option that I could give the C4 contestants for free(?), so that they can test code on real Saturn.

Source code level debugging is most useful in my opinion.

[post=145191]Quoted post[/post]​


cheapest ...

even DLP-TRTX would cost 20-25 € but speed would only be 36 kb/s ?

there are other cheaper usb-solutions, but w/o good docs or no (free) drivers for all systems or only chip w/o board.

and you have to buy huge amount of quantities like 100 or 1000 to get prices like 5€ but you still need a expensive custom connector for saturn or hook it directly into saturn and do swap trick to boot serial-link-soft.

serial cable with a max232 will be cheapest, but is TakaIsSilly´s thing fully working ? I thought he stopped his development.

the max232 is a level-converter I think for converting sega-serial-port (3 or 5v) to pc-serial-port (12 or 20v) ?

unless you have a chipped saturn (I know u got recently a chipped one) for booting the serial-transfer-soft (assume swaptrick will kill your nerves and saturn) you always need a EMS 4in1, so a freewing usb would more cost:

+20 € EMS 4in1 + shipping

+25-35 € usb solution + shipping, still no f*cking local store sell such stuff

+5-20 € freewing-parts from local dealer

= not cheap

I think antime´s board/chip could also be configured to be a LPT, so you can stick with the same usb-board and use is sometimes as serial sometimes as parallel port.

I think about it to buy some (also for other projects) of this DLP-2232M modules from UK or Sweden (still got no dealer in Germany) or even from USA(maybe it´s cheaper there because of the strong Euro). maybe you want jump on ?
 
Originally posted by "Rockin'-B"+-->QUOTE("Rockin'-B")Why is this MAX232 necessary? When I look on my DC coders cable, there such a thing(max3232cpe+capacitors), too. Just a serial cable won't do?[/b]
Nope, the Saturn/Dreamcast serial ports use RS-232 protocol but TTL/CMOS (not sure which) voltages. The MAX232/3222/etc. are level shifters that interface it to a "real" RS-232 port (+/-12V)

You can flash it just like a regular AR card with excyber flash cd (which is what I did).
What flash chip did you use?
 
Originally posted by Rockin'-B@Mon, 2006-03-20 @ 06:42 PM

What do you mean? The transfer speed isn't that importand and I don't see any need for a CD emulation over cartridge, since CD's can be burned and their content doesn't change that much (and if, there are still emus).
Managing a serial line vs. pumping a FIFO. In synchronous mode it's also very easy to lose/insert bits, causing the transfer to get misaligned.

Seems like gcc does insert the profiling code(-gp), so that code needs to be modified to write to a RAM cart. Or is that code part of some standard library?
I think it would be enough to implement the syscalls used to write the profiling info, but I haven't really researched the subject. For profiling small bits of code the simulator in GDB should be enough.

Oh, that's quite much. It would make this solution at least as expensive as the other.
If you want cheap, implement Mask of Destiny's SegaCD transfer cable for the Saturn. Joypad extension cables and parallel port connectors don't cost much, but parallel ports are a dying breed. Basic USB-serial converters are also cheaper, but more limited. SiLabs' CP2102 should be supported in Linux and OS X nowadays so there's a bit more choice available.
 
Originally posted by seal1@Mon, 2006-03-20 @ 04:50 PM

I think about it to buy some (also for other projects) of this DLP-2232M modules from UK or Sweden (still got no dealer in Germany) or even from USA(maybe it´s cheaper there because of the strong Euro). maybe you want jump on ?

[post=145192]Quoted post[/post]​


Guess not, I'm really interested in this thing, but I would rather like to use it instead of starting another project just to get it running. Besides the costs, can it be used with WinXP, too? Someday I'd really like to have such a thing, but I'd like to wait a bit (for success messages, hehe).
 
FTDI have direct-access drivers for Windows available on their webpage. I ran into some issues where the device would suddenly stop transmitting data, but the same code ported to libftdi on OS X worked perfectly. It looks like a driver bug, but the situation where the problem occurs is so obvious I doubt it is one.
 
Originally posted by Rockin'-B@Thu, 2006-03-23 @ 02:44 PM

Guess not, I'm really interested in this thing, but I would rather like to use it instead of starting another project just to get it running. Besides the costs, can it be used with WinXP, too? Someday I'd really like to have such a thing, but I'd like to wait a bit (for success messages, hehe).

[post=145238]Quoted post[/post]​


no prob, at first I play around with pinchy´s interface and then maybe I try the serial-usb for source-level-debugging.

there are 2 kinds of drivers:

- one direct-access (http://www.ftdichip.com/Drivers/D2XX.htm) for windows and linux

- and one virtual COM (http://www.ftdichip.com/Drivers/VCP.htm) for windows, linux, macos 8,9,X

@antime

you tried only the direct-access ?

or any success with the VCP under windows.
 
Only the direct-access drivers, as the whole point of the project was to use the MPSSE mode.
 
Back
Top