Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- httpd-ack - www.gotwalls.com - [email protected]
- 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 Dan Potter. All other code in httpd-ack.c can be
- considered under the same bsd license as kos.
- Patches
- ---------
- kos-cdrom-ack.diff
- + add ability to initialize cdrom with different params
- + add arg to cdrom_read_sectors() to specify PIO or DMA xfer
- + make realpath() just a strcpy(), was getting some weird memory
- corruptions and crashes caused by it in fs_open.
- + sub channel syscall
- lwip-bugfix-ack.diff
- + fix memory corruption in pcb->snd_queuelen by multiple threads modifying it
- at the same time (dirty/ugly fix)
- + disable debug, memp_sanity() was killing performace.
- + fix possible queuelen overflow in tcp_enqueue()
- + work around for killing tcp socket before all data was sent, was
- also causing lwip stack to crash
- -ack
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement