Skip to content

Dreamcast GD-ROM dumper, requires Broadband Adapter

License

Notifications You must be signed in to change notification settings

darcagn/httpd-ack-next

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

httpd-ack next

This is an unofficial port of httpd-ack to KallistiOS 2.0.0.
See changelog for details. The original documentation follows.
-darcagn


Usage
=====
dc-tool -t <dreamcast ip> -n -x httpd-ack.elf

or

use boot cdi image

BBA IP address
-----------
Once httpd-ack.elf has been started on the dreamcast it will re-ip 
itself to whatever "isp" setting are found in the dreamcast flash.  If 
none are found it will not start the httpd.  google for 'bba passport' 
for setting up "isp" settings if you dont have them.

Changing track dump options
------------
If you hover of the link for a track it will look something like

http://IP/track03.iso?ipbintoc0_session02_p8192_cdxa1024_sector_size2352_gap0_dma1_sector_read16_sub0_abort1_retry5.iso

Each of these can be adjusted to change how the track is dumped

track%d       = dump track %d (or end sector if >= 100) 
session%d     = dump session %d (or start sector if >= 100)
ipbintoc%s    = 1 use cdrom TOC thats in IP.BIN for session 2
                0 use cdrom's TOC
p%d           = unknown param when initializing the cdrom. 8192 and 4096 
                seem to be valid numbers.  8192 for data, 4096 for audio?
cdxa%d        = something to do with cdxa.  0, 1024, 2048 seem to be 
                valid numbers.  1024 for data, 0 for audio?
sector_size%d = what sector size to initial the cdrom with for reading.    
                2048 or 2352 are valid.  2352 doesnt always seem to 
                stick and somehow depends on p and cdxa values.
gap%d         = the end sector for tracks is unknown (except for the 
                last track in a session).  so the end sector is 
                calculated by ((start sector of next track - 1) - gap%d).
dma%d         = 1 use dma when transfering from cdrom, 0 use pio.
sector_read%d = number of sectors to read in each cdrom_read_sectors() 
                call, max 128
sub%d         = 0 dont dump sub channel
                1 use syscall method to dump sub channel
                2 use cdrom_read_sectors method to dump sub channel
                dma will be forced to 0
                sector_read will be forced to 1
abort%d       = 1 abort on read error
                0 continue on read error
retry%d       = if cdrom_read_sectors() call returns an error, the 
                number of times to retry before giving up

Example:

Changing the original url to be

http://IP/track03.iso?ipbintoc0_session02_p4096_cdxa0_sector_size2352_gap150_dma0_sector_read1_sub0_abort0_retry0.iso

will cause it to dump the same track with 2352 sector size, using PIO 
cdrom reading, reading 1 sector at a time, stopping 150 sectors before 
the start of the next track, no retrys on read error, and continue if an 
error.

ip.bin TOC
----------------
Its possible to make httpd-ack use the TOC from the ip.bin at sector 
45000 for session 2.  The ability to do this is to assist in making it 
possible to dump GD-R media using a swap disc method.

http://IP/?ipbintoc
or
http://IP/index.html?ipbintoc

The following entry will be logged to the video output to indicate it 
is using the ip.bin for the TOC.

get_toc(): using ip.bin for TOC

memory poisoning
----------------
The data buffer passed to cdrom_read_sectors() is poisoned with 'Q'.  If 
the function doesnt properly fill the entire buffer size, a bunch of 
QQQQQ's will show up in your downloaded track.

This can happen if you request 2352 size sectors and the function is 
only filling 2048 worth of data for each sector

dumping specific sector range
--------------
track%d and sector%d have a dual meaning which will allow dumping a 
specific range of sectors.  If both are >= 100, the value of session%d 
will act as the start sector, and track%d the end sector.

dump bios/flash
--------------
http://IP/dc_bios.bin - dreamcast bios, memory 0x0 to 0x1fffff
http://IP/dc_flash.bin - dreamcast flash, memory 0x200000 - 0x21ffff
http://IP/syscall.bin - dreamcast syscalls, memory 0x8C000000 - 0x8C007FFF

nullDC gdi file
---------------
http://IP/disc.gdi - sends gdi file for the current disc for use with 
nullDC emulator.

dump memory region
---------------
http://IP/memory_start%d_end%d.bin - dump memory from start%d to end%d.

httpd-ack source
---------------
The sounce code for httpd-ack is built into httpd-ack.elf file.  It can 
be downloaded by going to http://IP/source.zip

httpd related code in httpd-ack is based off of the example dreamcast 
httpd code in kos by Megan Potter.  All other code in httpd-ack.c can be
considered under the same bsd license as kos.

-ack

About

Dreamcast GD-ROM dumper, requires Broadband Adapter

Resources

License

Stars

Watchers

Forks

Packages

No packages published