Advertisement
atreyu187

Dreamcast Guides : HTTPD-ack 20080711 Commands

Nov 12th, 2012
252
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.14 KB | None | 0 0
  1. httpd-ack - www.gotwalls.com - [email protected]
  2.  
  3. Usage
  4. =====
  5. dc-tool -t <dreamcast ip> -n -x httpd-ack.elf
  6.  
  7. or
  8.  
  9. use boot cdi image
  10.  
  11. BBA IP address
  12. -----------
  13. Once httpd-ack.elf has been started on the dreamcast it will re-ip
  14. itself to whatever "isp" setting are found in the dreamcast flash. If
  15. none are found it will not start the httpd. google for 'bba passport'
  16. for setting up "isp" settings if you dont have them.
  17.  
  18. Changing track dump options
  19. ------------
  20. If you hover of the link for a track it will look something like
  21.  
  22. http://IP/track03.iso?ipbintoc0_session02_p8192_cdxa1024_sector_size2352_gap0_dma1_sector_read16_sub0_abort1_retry5.iso
  23.  
  24. Each of these can be adjusted to change how the track is dumped
  25.  
  26. track%d = dump track %d (or end sector if >= 100)
  27. session%d = dump session %d (or start sector if >= 100)
  28. ipbintoc%s = 1 use cdrom TOC thats in IP.BIN for session 2
  29. 0 use cdrom's TOC
  30. p%d = unknown param when initializing the cdrom. 8192 and 4096
  31. seem to be valid numbers. 8192 for data, 4096 for audio?
  32. cdxa%d = something to do with cdxa. 0, 1024, 2048 seem to be
  33. valid numbers. 1024 for data, 0 for audio?
  34. sector_size%d = what sector size to initial the cdrom with for reading.
  35. 2048 or 2352 are valid. 2352 doesnt always seem to
  36. stick and somehow depends on p and cdxa values.
  37. gap%d = the end sector for tracks is unknown (except for the
  38. last track in a session). so the end sector is
  39. calculated by ((start sector of next track - 1) - gap%d).
  40. dma%d = 1 use dma when transfering from cdrom, 0 use pio.
  41. sector_read%d = number of sectors to read in each cdrom_read_sectors()
  42. call, max 128
  43. sub%d = 0 dont dump sub channel
  44. 1 use syscall method to dump sub channel
  45. 2 use cdrom_read_sectors method to dump sub channel
  46. dma will be forced to 0
  47. sector_read will be forced to 1
  48. abort%d = 1 abort on read error
  49. 0 continue on read error
  50. retry%d = if cdrom_read_sectors() call returns an error, the
  51. number of times to retry before giving up
  52.  
  53. Example:
  54.  
  55. Changing the original url to be
  56.  
  57. http://IP/track03.iso?ipbintoc0_session02_p4096_cdxa0_sector_size2352_gap150_dma0_sector_read1_sub0_abort0_retry0.iso
  58.  
  59. will cause it to dump the same track with 2352 sector size, using PIO
  60. cdrom reading, reading 1 sector at a time, stopping 150 sectors before
  61. the start of the next track, no retrys on read error, and continue if an
  62. error.
  63.  
  64. ip.bin TOC
  65. ----------------
  66. Its possible to make httpd-ack use the TOC from the ip.bin at sector
  67. 45000 for session 2. The ability to do this is to assist in making it
  68. possible to dump GD-R media using a swap disc method.
  69.  
  70. http://IP/?ipbintoc
  71. or
  72. http://IP/index.html?ipbintoc
  73.  
  74. The following entry will be logged to the video output to indicate it
  75. is using the ip.bin for the TOC.
  76.  
  77. get_toc(): using ip.bin for TOC
  78.  
  79. memory poisoning
  80. ----------------
  81. The data buffer passed to cdrom_read_sectors() is poisoned with 'Q'. If
  82. the function doesnt properly fill the entire buffer size, a bunch of
  83. QQQQQ's will show up in your downloaded track.
  84.  
  85. This can happen if you request 2352 size sectors and the function is
  86. only filling 2048 worth of data for each sector
  87.  
  88. dumping specific sector range
  89. --------------
  90. track%d and sector%d have a dual meaning which will allow dumping a
  91. specific range of sectors. If both are >= 100, the value of session%d
  92. will act as the start sector, and track%d the end sector.
  93.  
  94. dump bios/flash
  95. --------------
  96. http://IP/dc_bios.bin - dreamcast bios, memory 0x0 to 0x1fffff
  97. http://IP/dc_flash.bin - dreamcast flash, memory 0x200000 - 0x21ffff
  98. http://IP/syscall.bin - dreamcast syscalls, memory 0x8C000000 - 0x8C007FFF
  99.  
  100. nullDC gdi file
  101. ---------------
  102. http://IP/disc.gdi - sends gdi file for the current disc for use with
  103. nullDC emulator.
  104.  
  105. dump memory region
  106. ---------------
  107. http://IP/memory_start%d_end%d.bin - dump memory from start%d to end%d.
  108.  
  109. httpd-ack source
  110. ---------------
  111. The sounce code for httpd-ack is built into httpd-ack.elf file. It can
  112. be downloaded by going to http://IP/source.zip
  113.  
  114. httpd related code in httpd-ack is based off of the example dreamcast
  115. httpd code in kos by Dan Potter. All other code in httpd-ack.c can be
  116. considered under the same bsd license as kos.
  117.  
  118. Patches
  119. ---------
  120. kos-cdrom-ack.diff
  121. + add ability to initialize cdrom with different params
  122. + add arg to cdrom_read_sectors() to specify PIO or DMA xfer
  123. + make realpath() just a strcpy(), was getting some weird memory
  124. corruptions and crashes caused by it in fs_open.
  125. + sub channel syscall
  126.  
  127. lwip-bugfix-ack.diff
  128. + fix memory corruption in pcb->snd_queuelen by multiple threads modifying it
  129. at the same time (dirty/ugly fix)
  130. + disable debug, memp_sanity() was killing performace.
  131. + fix possible queuelen overflow in tcp_enqueue()
  132. + work around for killing tcp socket before all data was sent, was
  133. also causing lwip stack to crash
  134.  
  135. -ack
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement