-
Notifications
You must be signed in to change notification settings - Fork 0
IP-based software loading tool for the Sega Dreamcast
License
thentenaar/dc-load-ip
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This is dcload-ip 1.0.3 with various fixes/changes by Tim Hentenaar <[email protected]>. You can find the latest version at: http://github.com/thentenaar/dc-load-ip Here is a brief list of changes from the original: * Added some fixes to fix compiler errors/warnings * Added maple passthrough functionality Makefile Changes I've made various changes to the Makefiles according to my setup. For instance, it's assumed that the 'scramble' utility will be in the 'make-cd' directory when making a CD image. You'll want to review Makefile.cfg and edit it according to your needs. Maple Passthrough I've added a feature which I like to call 'Maple Passthrough.' Basically, this allows the portion of dcload-ip that runs on the Dreamcast to act as a bridge between an application on the network and the maple bus. The way this works is fairly simple. You send a UDP datagram to port 31313, containing the following: 'MAPL' (4 byte command ID) Port (8-bit port number) Slot (8-bit slot number) Cmd (8-bit Maple command ID) Last (8-bit Maple last flag) [Ignored] Length (8-bit Maple data length (in 32-bit words)) Data (32-bit words: Length, [data]) specified if Length > 0 The response packet is as follows: Status (8-bit Maple status) To (8-bit Maple address) From (8-bit Maple address) Length (8-bit Maple data length (in 32-bit words)) Data (32-bit words) *** See Maple.pm for a Perl module illustrating how to use this functionality. *** Note that this software isn't perfect, and that with all the changes to GCC over the years since the last revision to the original dcload-ip, some features (e.g. exception handling) may be a bit buggy or may not work at all. The following is the original README: dcload-ip 1.0.3 - a Dreamcast ethernet loader by <[email protected]> Features * Load elf, srec, and bin * PC I/O (read, write, etc to PC - compatible with original dcload) * Exception handler * Extremely fast (at least for me - I get 1130Kbyte/sec on 10mbit half-duplex) * Now works on 100mbit (I get 2580Kbyte/sec on 100mbit half-duplex) Building 1. Edit Makefile.cfg for your system and network, and then run make Installation 1. PC - run make install (installs dc-tool) 2. DC a. cd make-cd, edit Makefile, insert blank cd-r, run make or b. take target-src/1st_read/1st_read.bin and stuff it on a cd yourself (please use the IP.BIN from the make-cd directory if you are going to distribute either cds or cd images) On-screen display * If you see the message "NO BROADBAND ADAPTER DETECTED!" or "ERROR INITIALIZING BROADBAND ADAPTER", something has gone wrong. * The correct display is something like: dcload-ip 1.0.3 <- name/version 00:d0:f1:02:ab:dd <- dc hardware address c0.a8.00.04 <- dc ip address (in hex) idle... <- status * If the status line reports "link change..." and does not change back to "idle..." within a short period of time, you may have a cable problem. dcload-ip will not work while "link change..." is displayed. The "link change..." message normally is seen when you start dcload-ip, when you execute dc-tool -r, and when you disconnect the ethernet cable. Testing 1. cd example-src 2. dc-tool -x console-test (tests some PC I/O) 3. dc-tool -x exception-test (generates an exception) 4. dc-tool -x gethostinfo (displays the Dreamcast's ip, and the ip and port of the dc-tool host) Notes * You can use arp instead of setting the dreamcast's ip in Makefile.cfg * Tested systems: Debian GNU/Linux 2.2 * There are almost certainly bugs * Patches and improvements are welcome Credits * rtl8139 code based on code by Dan Potter * There are some various files from newlib-1.8.2 here * video.s was written by Marcus Comstedt * initial win32 porting and implementation of -t by Florian 'Proff' Schulze * win32 bugfix by The Gypsy * fixes for cygwin by Florian 'Proff' Schulze * rx config bug pointed out by Slant * horridly buggy nature of 1.0.1 + 1.0.2 pointed out by Dan Potter
About
IP-based software loading tool for the Sega Dreamcast
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published