faq.html 103 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006
  1. <html><head>
  2. <link rel="icon" href="images/icon.png" type="image/png">
  3. <title>uCON64 - FAQ</title></head><body bgcolor="#ffffff"><!-- text="#000000" link="#0000ee" vlink="#0000ee" alink="#ffffff"-->
  4. <!--style type="text/css">
  5. <!--
  6. a:hover{color:#ffffff;background-color:#0000ee;}
  7. img:hover{color:#0000ee;}
  8. a{text-decoration:none}
  9. -->
  10. </style--><tt>
  11. Q1: <a href="#1">Why uCON64?</a><br>
  12. <br>
  13. Q2: <a href="#2">How do I get started using uCON64?</a><br>
  14. <br>
  15. Q3: <a href="#3">How do I compile/build uCON64?</a><br>
  16. <br>
  17. Q4: <a href="#4">How do I install uCON64?</a><br>
  18. <br>
  19. Q5: <a href="#5">Sometimes my terminal seems to be locked after "ucon64 -xswc
  20. &#60;file&#62; | more"</a><br>
  21. <br>
  22. Q6: <a href="#6">How do I make uCON64 only display information about a ROM?</a><br>
  23. <br>
  24. Q7: <a href="#7">I have two parallel ports in my PC and my Flash Advance Linker
  25. is connected to the second. However, when I try to use uCON64 to send a demo
  26. to the FAL something goes wrong. What happened?</a><br>
  27. <br>
  28. Q8: <a href="#8">I tried to dump a SNES cartridge using a Super Wild Card
  29. connected to my PC with an interlink cable, but it did not work. What is
  30. wrong?</a><br>
  31. <br>
  32. Q9: <a href="#9">I have a SNES ROM of which GoodSNES says it is good, but
  33. uCON64 says it is bad. Who is right?</a><br>
  34. <br>
  35. Q10: <a href="#10">I have a SNES ROM of which Snes9x and ZSNES say it is bad,
  36. but uCON64 says it is good. Who is right?</a><br>
  37. <br>
  38. Q11: <a href="#11">I have a SNES ROM of which uCON64 said it was bad, so I used
  39. the -chk option. Now uCON64, Snes9x and ZSNES all say the ROM is good, but
  40. GoodSNES still says it is bad. How can that be, I did fix the ROM, right?</a><br>
  41. <br>
  42. Q12: <a href="#12">Some SNES games do not work on my Super Wild Card. What can
  43. I do about that?</a><br>
  44. <br>
  45. Q13: <a href="#13">Which backup devices are supported by uCON64?</a><br>
  46. <br>
  47. Q14: <a href="#14">I use Windows XP (NT/2000). When I try to run
  48. ucon64.exe in command.com (start -&#62; Run... -&#62; command) uCON64
  49. crashes. What do I do wrong?</a><br>
  50. <br>
  51. Q15: <a href="#15">I do not like the command line. Are there graphical
  52. frontends available?</a><br>
  53. <br>
  54. Q16: <a href="#16">Where do I get PPF, APS or IPS patches?</a><br>
  55. <br>
  56. Q17: <a href="#17">Where do I get ROMs/Games?</a><br>
  57. <br>
  58. Q18: <a href="#18">What does "[ROM|IMAGE|SRAM|FILE|DIR|ARCHIVE]..." mean in the
  59. help?</a><br>
  60. <br>
  61. Q19: <a href="#19">Why is my backup unit (still) not supported?</a><br>
  62. <br>
  63. Q20: <a href="#20">How do I specify a bank number for the GB Xchanger?</a><br>
  64. <br>
  65. Q21: <a href="#21">What is the difference between the Flash Advance Linker
  66. options -xfals and -xfalb &#60;n&#62;?</a><br>
  67. <br>
  68. Q22: <a href="#22">uCON64 exits with the message "ERROR: Flash card erase
  69. failed" when I try to write a multi-game file to my flash card. What is
  70. wrong?</a><br>
  71. <br>
  72. Q23: <a href="#23">Where can I get that loader or "game pack" file?</a><br>
  73. <br>
  74. Q24: <a href="#24">What is the meaning of the -col option (SNES)?</a><br>
  75. <br>
  76. Q25: <a href="#25">Why does uCON64 create ucon64.cfg (DOS executable) or
  77. .ucon64rc (Win32 executable) files all over the place on DOS and Windows 9x
  78. (command.com)?</a><br>
  79. <br>
  80. Q26: <a href="#26">When I try to create a multi-game file on Windows I get
  81. the message "The system cannot execute the specified program." (or something
  82. similar). What does that mean?</a><br>
  83. <br>
  84. Q27: <a href="#27">I tried to run a Win32 executable of uCON64 but Windows gave
  85. an error message that cygwin1.dll, cygz.dll or zlib.dll could not be
  86. found.</a><br>
  87. <br>
  88. Q28: <a href="#28">How do I make uCON64 display one help screen at a time?</a><br>
  89. <br>
  90. Q29: <a href="#29">I tried to send a ROM dump to my backup unit on Windows XP
  91. (NT/2000), but uCON64 crashed. What is wrong?</a><br>
  92. <br>
  93. Q30: <a href="#30">I want to convert a NES ROM in iNES format to UNIF. How do I
  94. know what board name to use?</a><br>
  95. <br>
  96. Q31: <a href="#31">How do I convert a NES ROM from Pasofami to FFE? Or from
  97. UNIF to Pasofami?</a><br>
  98. <br>
  99. Q32: <a href="#32">How do I specify dumper information when converting to UNIF?</a><br>
  100. <br>
  101. Q33: <a href="#33">How do I specify that a NES game in UNIF format supports
  102. multiple controller types?</a><br>
  103. <br>
  104. Q34: <a href="#34">How do I enable or disable colors in the display output of
  105. uCON64?</a><br>
  106. <br>
  107. Q35: <a href="#35">When I try to convert a large number of files using
  108. wildcards, uCON64 will only convert the first file. Is this a bug?</a><br>
  109. <br>
  110. Q36: <a href="#36">Does uCON64 support DAT (RomCenter/GoodXXXX) files?</a><br>
  111. <br>
  112. Q37: <a href="#37">Some SNES games do not work on my Super Pro Fighter Q(+).
  113. What can I do about that?</a><br>
  114. <br>
  115. Q38: <a href="#38">uCON64 displays too many lines for my DOS-box. What can I do
  116. about that?</a><br>
  117. <br>
  118. Q39: <a href="#39">When will the next version of uCON64 be released? I have
  119. heard the next version is able to crack my favourite SNES game, but I do not
  120. know how to use CVS or a compiler.</a><br>
  121. <br>
  122. Q40: <a href="#40">What is the format of the snes*.txt files?</a><br>
  123. <br>
  124. Q41: <a href="#41">Is it possible to force uCON64 to send or dump (an) SRAM
  125. (file) instead of that it depends on whether the file exists?</a><br>
  126. <br>
  127. Q42: <a href="#42">Why does uCON64 support DAT files?</a><br>
  128. <br>
  129. Q43: <a href="#43">How should the option --mkdat be used?</a><br>
  130. <br>
  131. Q44: <a href="#44">What tools do you recommend besides uCON64?</a><br>
  132. <br>
  133. Q45: <a href="#45">What is an interleaved ROM?</a><br>
  134. <br>
  135. Q46: <a href="#46">The pre-compiled GNU/Linux binary does not work on my
  136. system, while a binary compiled by me works fine. How can that be?</a><br>
  137. <br>
  138. Q47: <a href="#47">I use Windows XP (NT/2000) and every time I run uCON64 I get
  139. this error message about ntuser.dat. What does it mean?</a><br>
  140. <br>
  141. Q48: <a href="#48">Is there any way to make uCON64 convert a ROM dump to Game
  142. Doctor SF3/SF6/SF7 format and split it, in one command?</a><br>
  143. <br>
  144. Q49: <a href="#49">How do I use the command line?</a><br>
  145. <br>
  146. Q50: <a href="#50">I configured uCON64 to use ppdev and tried to send a file to
  147. my backup unit as a regular user. I got an error message that the parallel
  148. port device could not be opened. What did I do wrong?</a><br>
  149. <br>
  150. Q51: <a href="#51">What do I need to do before I can upload files to my Flash 2
  151. Advance?</a><br>
  152. <br>
  153. Q52: <a href="#52">What is the option --xreset for? In what case should it be
  154. used?</a><br>
  155. <br>
  156. <br>
  157. <p><!-- <p> instead of <br> to make lynx display a blank line between questions -->
  158. <a name="1"><b>Q1</b>: Why uCON64?</a><br>
  159. <b>A</b>: uCON64 is designed for people who want to play all the games on the
  160. original hardware. Here you got a powerful tool to backup, restore games and
  161. for many other operations. It is just a keep-old-hardware-alive tool :-)<br>
  162. uCON64 is also useful for people without backup units as it can be used to
  163. manage ROM collections (it can be used to identify, rename, patch or convert
  164. files) and it <i>can</i> operate as an intelligent frontend for every
  165. available emulator.<br>
  166. <br>
  167. <p>
  168. <a name="2"><b>Q2</b>: How do I get started using uCON64?</a><br>
  169. <b>A</b>: On the uCON64 homepage you can find a link to a
  170. <a href="http://sourceforge.net/project/showfiles.php?group_id=12381">
  171. download section</a>. There are two types of packages, binary and source.
  172. You can tell a package is a binary package if it has "bin" (without the
  173. quotes) in its name. The source code packages have "src" in their name.
  174. Unless you are a software developer you probably do not need to download any
  175. of the source packages.<br>
  176. Choose a binary package for your system. GNU/Linux users should choose a
  177. package with "linux" in its name, BeOS users a package with "beos" in its
  178. name and DOS users a package with "dos" in its name. Windows users can
  179. choose any or all of the packages with "win32" or "dos" in their name.
  180. Normally, they should choose a package with "win32" in its name. The DOS
  181. version also runs on Windows, but has some limitations. For example, the
  182. DOS version cannot handle long command lines. The Cygwin version does not
  183. have any serious limitations compared to the "normal" Win32 versions, but
  184. behaves a bit more UNIX-like than Windows users might want. Users accustomed
  185. to UNIX might prefer the Cygwin version. The Cygwin version needs some
  186. additional files, though. See <a href="#27">question 27</a>.<br>
  187. For installation instructions (for all versions) see
  188. <a href="#4">question 4</a>.<br>
  189. <br>
  190. <p>
  191. <a name="3"><b>Q3</b>: How do I compile/build uCON64?</a><br>
  192. <b>A</b>: Unless you are a software developer you probably do not need to
  193. compile it. Just download one of the pre-built binary distributions and
  194. proceed to <a href="#4">question 4</a>.<br>
  195. uCON64 can be compiled for UNIX (GNU/Linux, Solaris, FreeBSD, OpenBSD,
  196. Mac OS X), DOS, BeOS, Windows (95/98/ME/NT/2000/XP/2003/Vista/7/8/8.1/10) and
  197. AmigaOS (PPC/68K).<br>
  198. To compile uCON64 you need a compiler :-) You can use either GCC (GNU
  199. Compiler Collection) or the Visual C++ compiler. GCC can be downloaded from
  200. <a href="http://www.gnu.org/order/ftp.html">
  201. http://www.gnu.org/order/ftp.html</a>. On GNU/Linux GCC is usually already
  202. installed.<br>
  203. Visual C++ is part of Visual Studio. A free version of Visual Studio, Visual
  204. Studio Community 2015, can be downloaded from
  205. <a href="https://www.visualstudio.com/products/visual-studio-community-vs">
  206. https://www.visualstudio.com/products/visual-studio-community-vs</a>. In
  207. order to compile uCON64, in the set up program of Visual Studio you need to
  208. select at least Programming Languages -&#62; Visual C++ -&#62; Common Tools
  209. for Visual C++ 2015. If you want to build a version of uCON64 that can run on
  210. versions of Windows as old as Windows XP, also check "Windows XP Support for
  211. C++" (Programming Languages -&#62; Visual C++ -&#62; Windows XP Support for
  212. C++). There are many versions of Visual Studio, but we only support building
  213. uCON64 with Visual Studio Community 2015 (with Update 1).<br>
  214. A DOS port of GCC (and other GNU development tools) named DJGPP is
  215. available from <a href="http://www.delorie.com/djgpp/">
  216. http://www.delorie.com/djgpp/</a>. A Win32 port of GCC (and many other GNU
  217. tools and libraries) named Cygwin is available from
  218. <a href="http://www.cygwin.com">http://www.cygwin.com</a>.
  219. Another Win32 port of GCC (and other tools) named MinGW is available from
  220. <a href="http://www.mingw.org">http://www.mingw.org</a>. We have tested the
  221. MinGW-built version of uCON64 more extensively than the other Windows
  222. versions. The MinGW-built version can run on versions of Windows as old as
  223. Windows 95.<br>
  224. <br>
  225. <b>Configuring uCON64</b><br>
  226. Some features of uCON64 are configurable (only) at compile time. They are:<br>
  227. - whether uCON64 will produce debug output (default: no)<br>
  228. - whether uCON64 will have support for parallel port backup units (default:
  229. yes)<br>
  230. - whether uCON64 will use the ppdev interface for parallel port I/O (default:
  231. no)<br>
  232. - whether uCON64 will be able to use color in its display output (default:
  233. yes)<br>
  234. - whether add-on libraries will be dynamically loaded or linked (default:
  235. loaded)<br>
  236. - whether uCON64 will be able to use the discmage library (default: yes)<br>
  237. - whether uCON64 will have support for the CD64 (default: no)<br>
  238. - whether uCON64 will be able to read .gz and .zip files (default: not if a
  239. Makefile "template" is used, see below)<br>
  240. - whether uCON64 will use libusb/have support for USB devices (default:
  241. no)<br>
  242. <br>
  243. The presence or settings of these features is controlled by the header file
  244. config.h in combination with the makefiles. There are two ways to create a
  245. config.h and makefiles for uCON64:<br>
  246. (Before executing one of these steps read the section below concerning gzip
  247. &amp; zip and USB support)<br>
  248. 1.) Run the configure script "configure".<br>
  249. If you want default settings type:<br>
  250. &nbsp;&nbsp;./configure<br>
  251. Otherwise you have to pass options to the configure script. To see which
  252. features can be controlled with the configure script, type:<br>
  253. &nbsp;&nbsp;./configure --help<br>
  254. 2.) Copy a tried-and-tested config.h "template" to a file config.h and copy
  255. a Makefile "template" to a file Makefile.<br>
  256. <br>
  257. The first way does not work in command.com or cmd.exe as these shells
  258. cannot (directly) execute Bash shell scripts. command.com is the default
  259. shell on Windows 9x, cmd.exe is the default shell on Windows
  260. NT/2000/XP/2003/Vista/7/8/8.1/10.<br>
  261. So, for DOS (DJGPP) copy config.h.orig to config.h and to
  262. libdiscmage/config.h, config.mak.orig to config.mak and
  263. libdiscmage/Makefile.orig to libdiscmage/Makefile. You can do the same for
  264. Cygwin, but in Cygwin you can get the same effect much easier by just
  265. running the configure script.<br>
  266. For Windows (Visual C++) copy config.h.vc6 to config.h and to
  267. libdiscmage/config.h. Do not copy any of the Makefile.vc6 files. You may do
  268. so, but do not complain if these instructions do not seem to be right after
  269. having done that.<br>
  270. To save us some work, for MinGW we only support configuring and building
  271. uCON64 from within MSYS (MinGW's POSIX build environment, a port of Bash).<br>
  272. <br>
  273. <b>Support for files in gzip (.gz) or zip format (.zip)</b><br>
  274. For gzip &amp; zip support you need zlib. If you do not have zlib you can
  275. get it from <a href="http://zlib.net/">http://zlib.net/</a>. There are two
  276. ways to get gzip &amp; zip support for uCON64:<br>
  277. 1.) When using the configure script.<br>
  278. By default gzip &amp; zip support will be enabled if configure can find zlib
  279. on your system. If you want to disable the feature, pass the option
  280. --without-zlib to the configure script.<br>
  281. 2.) When using config.h and Makefile "templates".<br>
  282. By default gzip &amp; zip support is disabled. If you want to enable it you
  283. have to define the constant USE_ZLIB in config.h and libdiscmage/config.h
  284. (remove the "//" in front of the line that defines it) <i>and</i> in
  285. config.mak and libdiscmage/Makefile (GCC) or Makefile.vc6 and
  286. libdiscmage/Makefile.vc6 (Visual C++) (remove the "#" in front of the line
  287. that defines it).<br>
  288. <br>
  289. <b>Support for USB devices</b><br>
  290. By default USB support will be disabled. For USB support you need libusb-0.1.
  291. If you do not have libusb you can get it from
  292. <a href="http://libusb.org/">http://libusb.org/</a>. For Windows you need
  293. libusb-win32. You can get it from
  294. <a href="http://libusb-win32.sourceforge.net/">
  295. http://libusb-win32.sourceforge.net/</a>. There are two ways to get USB
  296. support for uCON64:<br>
  297. 1.) When using the configure script.<br>
  298. If you want to enable the feature, pass the option --with-libusb to the
  299. configure script.<br>
  300. For libusb-win32, starting with version 1.2.5.0 (1.2.4.6) this will not work
  301. without an extra step. The configure script refers to usb.h, but since the
  302. mentioned version usb.h has been renamed to lusb0_usb.h. So, to make the
  303. configure script detect the presence of libusb, create a file usb.h in a
  304. standard include directory that includes lusb0_usb.h.<br>
  305. 2.) When using config.h and Makefile "templates".<br>
  306. If you want to enable it you have to define the constant USE_USB in config.h
  307. (remove the "//" in front of the line that defines it) <i>and</i> in
  308. config.mak (GCC) or Makefile.vc6 (Visual C++) (remove the "#" in front of the
  309. line that defines it).<br>
  310. <br>
  311. If you want to change other things in config.h or the makefiles do so before
  312. proceeding to the next step.<br>
  313. You have finished the configuration steps now. The following instructions
  314. will tell you how to compile uCON64 with the settings you just made.<br>
  315. <br>
  316. <b>Compiling uCON64</b><br>
  317. By default the library discmage will also be compiled. Discmage is used for
  318. several CD-related functions in uCON64, but is not required for non
  319. CD-related functions. For example, you will not need discmage for any of the
  320. SNES functions. Skip the next step if you do not want uCON64 to use
  321. discmage.<br>
  322. <br>
  323. If you do not have a reason not to compile discmage and you are using DJGPP,
  324. Cygwin or MinGW you need the library libgcc.a. This library comes with those
  325. compilers but is usually not located in the standard library directory.
  326. However, the compiler needs to know where to find it. There are two possible
  327. ways to solve this problem:<br>
  328. 1.) Copy the file libgcc.a to the standard library directory.<br>
  329. 2.) Edit the file libdiscmage/Makefile so that the variable GCCA_DIR points
  330. to the directory containing libgcc.a.<br>
  331. The first option (copying the file) is preferred.<br>
  332. <br>
  333. Now read the relevant section for the compiler you are using.<br>
  334. <br>
  335. <b>GCC</b> (including DJGPP, Cygwin and MinGW)<br>
  336. If you use Bash you may have to take one extra step before running make.
  337. Because of a strange design decision made by the authors of Bash, the
  338. environment variable OSTYPE is not exported on all platforms. Because of
  339. that, on several platforms (like FreeBSD and Mac OS X), you have to export it
  340. manually before running make. You can do that with the following command:<br>
  341. &nbsp;&nbsp;export OSTYPE<br>
  342. <br>
  343. If you have compiled uCON64 in the same directory before, first type:<br>
  344. &nbsp;&nbsp;make clean<br>
  345. <br>
  346. If you want to compile the source code including discmage, type:<br>
  347. &nbsp;&nbsp;make<br>
  348. If you do not want to compile discmage the last command should look like
  349. this for DJGPP, Cygwin and MinGW:<br>
  350. &nbsp;&nbsp;make ucon64.exe<br>
  351. Otherwise it should look like this:<br>
  352. &nbsp;&nbsp;make ucon64<br>
  353. <br>
  354. If you use Mac OS X and get an error message that dlfcn.h cannot be found,
  355. please install the library
  356. <a href="http://www.opendarwin.org/projects/dlcompat/">dlcompat</a> and try
  357. again.<br>
  358. On UNIX systems other than GNU/Linux you might need to use "gmake" (GNU
  359. make) instead of "make". If the last make command has been successfully
  360. executed you can find the executable in the directory where you ran make.
  361. For DOS, Cygwin and MinGW you are now ready to proceed to
  362. <a href="#4">question 4</a>. For the other platforms one extra command is
  363. needed (or simply handy):<br>
  364. &nbsp;&nbsp;make install<br>
  365. <br>
  366. On UNIX this command will ask for root's password, because uCON64 needs
  367. to be setuid root for parallel port access and because regular users usually
  368. do not have write access in the default installation directory,
  369. /usr/local/bin. If you configured uCON64 without support for parallel port
  370. backup units or if you configured it to use ppdev, uCON64 need not be setuid
  371. root. Just copy ucon64 to any directory you like.<br>
  372. On Mac OS X it is usual to install programs in /usr/bin. You can override
  373. the default destination directory /usr/local/bin by setting the environment
  374. variable DESTDIR. So, in order to install uCON64 in the directory /usr/bin
  375. use a command like:<br>
  376. &nbsp;&nbsp;DESTDIR=/usr/bin make install<br>
  377. This works also on other UNIX OSes.<br>
  378. "make install" also creates a configuration directory for uCON64 and copies
  379. discmage.so (UNIX and BeOS) or discmage.dylib (Mac OS X) to it, so you may
  380. find it easier to use it.<br>
  381. On BeOS this command will open a dialog window. Just follow the
  382. instructions.<br>
  383. <br>
  384. <b>Visual C++</b><br>
  385. Start a command shell or "prompt" and go to the correct directory. In order
  386. to be able to run the Visual Studio tools, first type:<br>
  387. &nbsp;&nbsp;"%VS140COMNTOOLS%"\vsvars32.bat<br>
  388. If you want to build a version of uCON64 that can run on versions of Windows
  389. as old as Windows XP, remove the "#" in front of the line with
  390. "WINXP_TARGETING=1" in Makefile.vc6, libdiscmage/Makefile.vc6 and
  391. backup/libcd64/Makefile.vc6. Be sure to have Windows SDK v7.1A installed or
  392. else enabling WINXP_TARGETING will have no effect. The easiest way to install
  393. Windows SDK v7.1A is to download the ISO of Visual Studio 2012 Update 4,
  394. <a href="http://go.microsoft.com/fwlink/?LinkId=327544">VS2012.4.iso</a> from
  395. <a href="https://www.microsoft.com/en-us/download/details.aspx?id=39305">
  396. https://www.microsoft.com/en-us/download/details.aspx?id=39305</a>. Open
  397. the ISO with a program like <a href="http://www.rarlab.com/">WinRAR</a> and
  398. extract the directory packages/XPSupport/. In the extracted directory you
  399. will find the file Win_XPSupport.msi. Install it by double-clicking on it.<br>
  400. <br>
  401. If you have compiled uCON64 in the same directory before, type:<br>
  402. &nbsp;&nbsp;nmake /f Makefile.vc6 clean<br>
  403. <br>
  404. If you want to compile the source code including discmage, type:<br>
  405. &nbsp;&nbsp;nmake /f Makefile.vc6<br>
  406. If you do not want to compile discmage the last command should look like
  407. this:<br>
  408. &nbsp;&nbsp;nmake /f Makefile.vc6 ucon64.exe<br>
  409. <br>
  410. On GNU/Linux, DOS and Windows you could use UPX to compress the
  411. executable. UPX is available from
  412. <a href="http://upx.sourceforge.net">http://upx.sourceforge.net</a>.<br>
  413. <br>
  414. <p>
  415. <a name="4"><b>Q4</b>: How do I install uCON64?</a><br>
  416. <b>A</b>: It depends on what operating system you use. First read the
  417. information specific for your operating system. Then continue to the section
  418. <a href="#configbin">"How to configure the uCON64 executable"</a>.<br>
  419. <br>
  420. <b>UNIX (GNU/Linux, FreeBSD, Solaris, Mac OS X) &amp; BeOS</b><br>
  421. Start a command line shell like Bash. Then extract the binary package.
  422. To extract or unpack a package in .tar.gz format use a command like this:<br>
  423. &nbsp;&nbsp;tar xvzf ucon64-1.9.8-1-linux-bin.tar.gz<br>
  424. Old versions of tar might not support the option z. In that case use a
  425. command like:<br>
  426. &nbsp;&nbsp;gunzip -c ucon64-1.9.8-1-linux-bin.tar.gz | tar xvf -<br>
  427. To unzip a .zip file use a command like this:<br>
  428. &nbsp;&nbsp;unzip ucon64-1.9.8-1-beos-bin.zip<br>
  429. You should replace the file name with the name of the file you downloaded
  430. for your operating system. Unpacking or extracting a package does not have
  431. to be done on the command line. You could also use a program with a GUI
  432. (Graphical User Interface) like KDE's ark or a similar program.<br>
  433. After you have extracted the package install uCON64 by running the install
  434. script. On UNIX, if you do not have root access, copy the uCON64 executable
  435. to a directory in your PATH. If you do have root access (i.e., know the root
  436. password), run the shell script install.sh. On BeOS just run the script
  437. install_beos.sh. For UNIX do something like this:<br>
  438. &nbsp;&nbsp;cd ucon64-1.9.8-1-linux-bin<br>
  439. &nbsp;&nbsp;./install.sh<br>
  440. By default install.sh will try to copy ucon64 to /usr/local/bin. You can
  441. specify another directory by setting the environment variable DESTDIR.
  442. On Mac OS X programs are usually installed in the directory /usr/bin. Users
  443. of that OS might want to install uCON64 with a command like:<br>
  444. &nbsp;&nbsp;DESTDIR=/usr/bin ./install.sh<br>
  445. <br>
  446. For backup unit I/O BeOS users will need Caz's driver inside ioport.zip. You
  447. only need this driver if you will use uCON64 for communication with a backup
  448. unit. ioport.zip is included with the binary release. Continue on BeOS with:<br>
  449. &nbsp;&nbsp;cd ucon64-1.9.8-1-beos-bin<br>
  450. &nbsp;&nbsp;./install_beos.sh<br>
  451. After the last command a dialog window will come up. Simply follow the
  452. instructions.<br>
  453. <br>
  454. Now continue to the section
  455. <a href="#configbin">"How to configure the uCON64 executable"</a>.<br>
  456. <br>
  457. <b>32-bit Windows (95/98/ME/NT/2000/XP/2003) &amp; DOS</b><br>
  458. On 32-bit Windows, unpack the package with a program like
  459. <a href="http://www.winzip.com/">WinZip</a>,
  460. <a href="http://www.rarlab.com/">WinRAR</a>,
  461. <a href="http://www.powerarchiver.com/">Power Archiver</a> or
  462. <a href="http://www.ultimatezip.com/">UltimateZip</a>.
  463. On plain DOS (DOS without Windows) use a program like
  464. <a href="http://www.pkware.com/">PKUNZIP</a>.<br>
  465. We recommend to extract the package to a directory (or folder) of its own.
  466. The zip file contains a directory, but you need not use that directory.<br>
  467. Windows NT/2000/XP/2003 users need a driver for backup unit I/O. You do not
  468. need a driver if you use Windows 95, 98 or ME. A driver is also not needed if
  469. you will not use uCON64 to communicate with a backup unit.<br>
  470. You could use a driver like UserPort, DlPortIO, io.dll or inpout32.dll.
  471. <!-- UserPort doesn't seem to have an official homepage. -->
  472. You can download DlPortIO from
  473. <a href="http://ucon64.sourceforge.net/">the uCON64 homepage</a>.
  474. You can find io.dll in a file named
  475. <a href="http://www.geekhideout.com/downloads/io.zip">io.zip</a> at
  476. <a href="http://www.geekhideout.com/iodll.shtml">
  477. http://www.geekhideout.com/iodll.shtml</a> and you can find inpout32.dll in
  478. a file named inpout32_source_and_bins.zip at
  479. <a href="http://www.logix4u.net">http://www.logix4u.net</a>.
  480. UserPort and io.dll are included with the binary release. We recommend
  481. DlPortIO and io.dll. To install DlPortIO simply start port95nt.exe. After the
  482. installation is completed, copy DLPORTIO.dll from the Windows system(32)
  483. directory to uCON64's configuration directory. To install io.dll or
  484. inpout32.dll, put them in uCON64's configuration directory. See the section
  485. <a href="#configbin">"How to configure the uCON64 executable"</a> for more
  486. information about the configuration directory.<br>
  487. uCON64 displays a message if it finds DLPORTIO.dll, io.dll or inpout32.dll
  488. before communicating with a backup unit. It displays this message before it
  489. displays file information, so you might want to use the command line switch
  490. -q. Only the Windows versions of uCON64 are able to use DLPORTIO.dll, io.dll
  491. or inpout32.dll. If more than one I/O driver is present in the configuration
  492. directory, uCON64 will first try to load DLPORTIO.dll. If that fails it will
  493. try to load io.dll. If that also fails it will try to load inpout32.dll.<br>
  494. It <i>is</i> possible to use the DOS version of uCON64 as a transfer tool on
  495. Windows XP without UserPort. We have received reports from people who were
  496. able to send and receive ROMs on Windows XP as a regular user (no
  497. Administrator rights and not "Power Users").<br>
  498. <br>
  499. <b>64-bit Windows (XP/2003/Vista/7/8/8.1/10)</b><br>
  500. On 64-bit Windows, unpack the package with a program like
  501. <a href="http://www.winzip.com/">WinZip</a>,
  502. <a href="http://www.rarlab.com/">WinRAR</a>,
  503. <a href="http://www.powerarchiver.com/">Power Archiver</a> or
  504. <a href="http://www.ultimatezip.com/">UltimateZip</a>.
  505. We recommend to extract the package to a directory (or folder) of its own.
  506. The zip file contains a directory, but you need not use that directory.
  507. Please note that we do not release a 64-bit version of uCON64. The 32-bit
  508. Windows versions of uCON64 run fine on 64-bit Windows.<br>
  509. 64-bit Windows users need a driver for backup unit I/O. You do not need a
  510. driver if you will not use uCON64 to communicate with a backup unit.<br>
  511. You could use a driver like giveio64 or a suitable port of inpout32.dll.
  512. You can download giveio64 at
  513. <a href="https://www-user.tu-chemnitz.de/~ygu/">
  514. https://www-user.tu-chemnitz.de/~ygu/</a>, directly at
  515. <a href="https://www-user.tu-chemnitz.de/~ygu/free">
  516. https://www-user.tu-chemnitz.de/~ygu/free</a>, at
  517. <a href="http://www.codeproject.com/Tips/985807/Enable-I-O-Access-From-User-Mode">
  518. http://www.codeproject.com/Tips/985807/Enable-I-O-Access-From-User-Mode</a>
  519. or from <a href="http://ucon64.sourceforge.net/">the uCON64 homepage</a>.
  520. You can find a suitable port of inpout32.dll in a file named
  521. <a href="http://www.highrez.co.uk/scripts/download.asp?package=InpOutBinaries">
  522. InpOutBinaries_1500.zip</a> at
  523. <a href="http://www.highrez.co.uk/Downloads/InpOut32/default.htm">
  524. http://www.highrez.co.uk/Downloads/InpOut32/default.htm</a>.
  525. giveio64 and inpout32.dll are included with the binary release. To install
  526. inpout32.dll, put it in uCON64's configuration directory. See the section
  527. <a href="#configbin">"How to configure the uCON64 executable"</a> for more
  528. information about the configuration directory.<br>
  529. If you choose to use the mentioned port of inpout32.dll, the first time you
  530. want to use uCON64 to communicate with a backup unit, you need to do so as
  531. Administrator (by running uCON64 from an instance of cmd.exe that was started
  532. as Administrator). After uCON64 was successful in communicating with a backup
  533. unit, you can use it as a normal user. Using inpout32.dll on 64-bit Windows
  534. is much less reliable than running uCON64 on GNU/Linux or 32-bit Windows.
  535. giveio64 is better in that regard, but you need to start it as Administrator
  536. at least once in every Windows session during which you want to use uCON64 to
  537. communicate with a backup unit.<br>
  538. uCON64 displays a message if it finds inpout32.dll before communicating with
  539. a backup unit. It displays this message before it displays file information,
  540. so you might want to use the command line switch -q. If more than one I/O
  541. driver is present in the configuration directory, uCON64 will first try to
  542. load DLPORTIO.dll. If that fails it will try to load io.dll. If that also
  543. fails it will try to load inpout32.dll. Since DLPORTIO.dll and io.dll do not
  544. work on 64-bit Windows, you have to manually delete them if they are present.
  545. A nice thing about the mentioned port of inpout32.dll is that it works on
  546. both 32-bit Windows (NT/2000/XP/2003) and 64-bit Windows
  547. (XP/2003/Vista/7/8/8.1/10).<br>
  548. <br>
  549. <a name="cmdline">The command line environment<br></a>
  550. uCON64 is a command line program and is usually started from a program like
  551. command.com (Windows 9x/ME) or cmd.exe
  552. (Windows NT/2000/XP/2003/Vista/7/8/8.1/10). You can start command.com or
  553. cmd.exe by choosing the option "Run..." from the start menu. You have to type
  554. the word command.com or cmd.exe yourself. command.com and cmd.exe are command
  555. line interpreters. That means that they will try to interpret any command you
  556. type followed by a press on the enter or return key. When you type a command,
  557. the command line interpreter will first look in the current directory and if
  558. it cannot find a program file with the correct name it will search the
  559. so-called "path". This means that the program file of uCON64 (ucon64.exe)
  560. must either be present in the current directory or in one of the directories
  561. of your path. It is really comfortable to have ucon64.exe present in your
  562. path, because you can simply use the name ucon64 from any directory without
  563. first having to copy ucon64.exe to that directory.<br>
  564. The path is defined by the environment variable PATH. You can check the
  565. current value of that variable with the command:<br>
  566. &nbsp;&nbsp;echo %PATH%<br>
  567. You could copy uCON64 to one of those directories. However, we recommend
  568. putting ucon64.exe in a directory of its own (on Windows). So, you should
  569. modify the value of PATH. On Windows 9x/ME you should do that in the
  570. following way. Edit the file C:\autoexec.bat and add a line like:<br>
  571. &nbsp;&nbsp;set PATH=%PATH%;C:\ucon64<br>
  572. Replace C:\ucon64 with the drive and directory where you extracted the
  573. uCON64 files to. Save the modified C:\autoexec.bat and reboot.
  574. On Windows XP (NT/2000?) you should press the buttons or icons start -&#62;
  575. Control Panel -&#62; System -&#62; Advanced -&#62; Environment Variables and
  576. edit the value of path in the section System variables or else in the section
  577. User variables. You have to start a new instance of cmd.exe before the
  578. changes take effect. After you have made your changes (and have rebooted your
  579. PC if you are using Windows 9x/ME or DOS) check the value of PATH again. It
  580. should now list the directory you just added.<br>
  581. For information on how to use the command line see
  582. <a href="#49">question 49</a>.<br>
  583. <br>
  584. <a name="configbin"><b>How to configure the uCON64 executable</b></a><br>
  585. First run uCON64 once. Use a command like:<br>
  586. &nbsp;&nbsp;ucon64 -version<br>
  587. If you have not run uCON64 before you should see a message that it created
  588. a file with a name like ucon64.cfg (DOS version) or .ucon64rc (all other
  589. versions). If you are using GNU/Linux and uCON64 crashes see
  590. <a href="#46">question 46</a>.<br>
  591. Then search for the line that starts with "configuration file". It should
  592. say "present" between the parentheses. The file name after the colon is the
  593. name of the configuration file. The configuration file may contain names of
  594. variables that influence the behaviour of uCON64. Here follows a table of
  595. the variable names uCON64 recognises:<br>
  596. <br>
  597. <table border="1">
  598. <tr>
  599. <th><tt>variable name</tt></th>
  600. <th><tt>meaning</tt></th>
  601. </tr>
  602. <tr>
  603. <td><tt>version</tt></td>
  604. <td><tt>version of configuration file</tt></td>
  605. </tr>
  606. <tr>
  607. <td><tt>backups</tt></td>
  608. <td><tt>uCON64 will create backups of the files it modifies if it is 1</tt></td>
  609. </tr>
  610. <tr>
  611. <td><tt>ansi_color</tt></td>
  612. <td><tt>uCON64 will use color in its display output if it is 1</tt></td>
  613. </tr>
  614. <tr>
  615. <td><tt>parport_dev</tt></td>
  616. <td><tt>name of parallel port device (AmigaOS or GNU/Linux with ppdev)</tt></td>
  617. </tr>
  618. <tr>
  619. <td><tt>parport</tt></td>
  620. <td><tt>hardware address of parallel port (AmigaOS: port number)</tt></td>
  621. </tr>
  622. <tr>
  623. <td><tt>discmage_path</tt></td>
  624. <td><tt>path to discmage DLL</tt></td>
  625. </tr>
  626. <tr>
  627. <td><tt>ucon64_configdir</tt></td>
  628. <td><tt>name of configuration directory of uCON64</tt></td>
  629. </tr>
  630. <tr>
  631. <td><tt>ucon64_datdir</tt></td>
  632. <td><tt>name of DAT file directory of uCON64</tt></td>
  633. </tr>
  634. <tr>
  635. <td><tt>emulate_&#60;console&#62;</tt></td>
  636. <td><tt>command line to use to start emulator for &#60;console&#62;</tt></td>
  637. </tr>
  638. <tr>
  639. <td><tt>emulate_&#60;CRC32&#62;</tt></td>
  640. <td><tt>command line to use to start emulator for file with that CRC32</tt></td>
  641. </tr>
  642. <tr>
  643. <td><tt>emulate_0x&#60;CRC32&#62;</tt></td>
  644. <td><tt>command line to use to start emulator for file with that CRC32</tt></td>
  645. </tr>
  646. <tr>
  647. <td><tt>f2afirmware</tt></td>
  648. <td><tt>path to F2A USB firmware</tt></td>
  649. </tr>
  650. <tr>
  651. <td><tt>iclientu</tt></td>
  652. <td><tt>path to GBA client binary (for USB code)</tt></td>
  653. </tr>
  654. <tr>
  655. <td><tt>iclientp</tt></td>
  656. <td><tt>path to GBA client binary (for parallel port code)</tt></td>
  657. </tr>
  658. <tr>
  659. <td><tt>ilogo</tt></td>
  660. <td><tt>path to iLinker logo file</tt></td>
  661. </tr>
  662. <tr>
  663. <td><tt>gbaloader</tt></td>
  664. <td><tt>path to GBA multi-game loader</tt></td>
  665. </tr>
  666. <tr>
  667. <td><tt>gbaloader_sc</tt></td>
  668. <td><tt>path to GBA multi-game loader for Super Card</tt></td>
  669. </tr>
  670. </table><br>
  671. Each of these variables can also be set in the command line environment. If
  672. they are they take precedence over the values set in the configuration file.
  673. For example, if you set the environment variable ansi_color to 0 while the
  674. configuration file sets it to 1 uCON64 will not use color. In command.com or
  675. cmd.exe you can set an environment variable with the command "set", in Bash
  676. you should do it with the command "export". For example:<br>
  677. &nbsp;&nbsp;export ansi_color=0<br>
  678. Some variables can be overruled with command line switches. For example, to
  679. disable the use of color even if both the configuration file and the
  680. environment have the variable ansi_color set to 1, use the switch -ncol:<br>
  681. &nbsp;&nbsp;ucon64 "Rock Fall (PD).zip" -ncol<br>
  682. The variable ucon64_configdir is only really important for the Windows
  683. versions of uCON64. To install the I/O port driver io.dll or inpout32.dll
  684. place it (or both) in the directory that uCON64 lists as its configuration
  685. directory.<br>
  686. If you use DOS or Windows 9x and do not want uCON64 to create ucon64.cfg or
  687. .ucon64rc files all over the place (current directories) see
  688. <a href="#25">question 25</a>.<br>
  689. You might also want to make use of DAT files. See
  690. <a href="#36">question 36</a> for more information.<br>
  691. <br>
  692. <p>
  693. <a name="5"><b>Q5</b>: Sometimes my terminal seems to be locked after "ucon64
  694. -xswc &#60;file&#62; | more"</a><br>
  695. <b>A</b>: You are right, it <u>seems</u> to be locked, but the only thing that
  696. happened is that the character echoing of the terminal is disabled by more.
  697. Just do not do that ;-)<br>
  698. <br>
  699. <p>
  700. <a name="6"><b>Q6</b>: How do I make uCON64 only display information about a
  701. ROM?</a><br>
  702. <b>A</b>: If you want to display information about a ROM just run uCON64 with
  703. the name of the ROM as the only argument. Sometimes you will have to specify
  704. the console type for uCON64, because the ROM dump is damaged or simply not
  705. detected correctly by uCON64. For example:<br>
  706. &nbsp;&nbsp;ucon64 -snes "Super Aleste (J) [t1].swc"<br>
  707. <br>
  708. <p>
  709. <a name="7"><b>Q7</b>: I have two parallel ports in my PC and my Flash Advance
  710. Linker is connected to the second. However, when I try to use uCON64 to send
  711. a demo to the FAL something goes wrong. What happened?</a><br>
  712. <b>A</b>: Well, many things could have gone wrong, but uCON64 only detects your
  713. first parallel port (it stops probing for a parallel port if it finds one).
  714. So, you should specify the address of the second parallel port on the
  715. command line. For example:<br>
  716. &nbsp;&nbsp;ucon64 -xfal demo.gba -port 0x278<br>
  717. <br>
  718. The I/O address of the parallel port could be 0x3bc, 0x378 or 0x278. If you
  719. do not want to type the address of the parallel port every time you want to
  720. transfer something to your FAL (or another backup unit) edit .ucon64rc or
  721. ucon64.cfg (for the DOS version) and remove the hash symbol in front of the
  722. line that starts with "parport=" (without the quotes). If that line is not
  723. present add one. You do not have to use the prefix 0x. For example:<br>
  724. &nbsp;&nbsp;parport=278<br>
  725. You can also set an environment variable with the name parport to the right
  726. value. The value of the environment variable takes precedence over the value
  727. in the configuration file.<br>
  728. <br>
  729. <p>
  730. <a name="8"><b>Q8</b>: I tried to dump a SNES cartridge using a Super Wild Card
  731. connected to my PC with an interlink cable, but it did not work. What is
  732. wrong?</a><br>
  733. <b>A</b>: You should not use an interlink cable, but a standard bidirectional
  734. parallel cable, i.e., a cable with male DB-25 connectors at both ends where
  735. the pins are connected in the following way:<br>
  736. pin 1&nbsp; &#60;-&#62; pin 1<br>
  737. pin 2&nbsp; &#60;-&#62; pin 2<br>
  738. pin 3&nbsp; &#60;-&#62; pin 3<br>
  739. pin 4&nbsp; &#60;-&#62; pin 4<br>
  740. pin 5&nbsp; &#60;-&#62; pin 5<br>
  741. pin 6&nbsp; &#60;-&#62; pin 6<br>
  742. pin 7&nbsp; &#60;-&#62; pin 7<br>
  743. pin 8&nbsp; &#60;-&#62; pin 8<br>
  744. pin 9&nbsp; &#60;-&#62; pin 9<br>
  745. pin 10 &#60;-&#62; pin 10<br>
  746. pin 11 &#60;-&#62; pin 11<br>
  747. pin 12 &#60;-&#62; pin 12<br>
  748. pin 13 &#60;-&#62; pin 13<br>
  749. pin 15 &#60;-&#62; pin 15<br>
  750. pin 25 &#60;-&#62; pin 25<br>
  751. The other pins may be left unconnected. Pins 2-9 are used for output, pins
  752. 10-13 &amp; 15 for input and pin 25 is ground.<br>
  753. <br>
  754. <p>
  755. <a name="9"><b>Q9</b>: I have a SNES ROM of which GoodSNES says it is good, but
  756. uCON64 says it is bad. Who is right?</a><br>
  757. <b>A</b>: It depends.<br>
  758. If uCON64 displays the text "Checksum: Bad" GoodSNES might be right.<br>
  759. There may be several reasons why uCON64 reports that the checksum is bad.
  760. It could have made a mistake while determining if the ROM is a HiROM or a
  761. LoROM dump. Try the switches -hi and -nhi and see if uCON64 reports the
  762. checksum differently. Sometimes ROM dumps are detected as not being
  763. interleaved while they actually are. Try the switches -int and -int2 and see
  764. if you get better results. It could also be that uCON64 detects the ROM as
  765. interleaved while it is not. The switch -nint might help in that case. If
  766. the checksum is reported as good it is likely that the ROM is really good.
  767. Alternatively, you may want to convert the ROM to a non-interleaved format
  768. with -dint and run uCON64 on the converted ROM. Luckily you will not find
  769. many interleaved ROM dumps that uCON64 cannot handle, probably because
  770. Snes9x and ZSNES often cannot handle them either.<br>
  771. Perhaps "OK" looks nicer than "Bad", but it is far more important that
  772. uCON64 displays DAT file information. If you installed a SNES DAT file (see
  773. <a href="#36">question 36</a>) and uCON64 does not display a line with the
  774. text "DAT info:" then the ROM dump could not be identified. It could be that
  775. you have an unknown ROM dump, but it is more likely that you have a modified
  776. (i.e. bad) dump or an overdump. GoodSNES 0.999.5 does not use the CRC32 to
  777. identify files, so if uCON64 does not display DAT info, but GoodSNES
  778. identified it as good then uCON64 is right. For reasons see
  779. <a href="#42">question 42</a>.<br>
  780. <br>
  781. <p>
  782. <a name="10"><b>Q10</b>: I have a SNES ROM of which Snes9x and ZSNES say it is
  783. bad, but uCON64 says it is good ("Checksum: OK"). Who is right?</a><br>
  784. <b>A</b>: uCON64, probably :-)<br>
  785. Neither Snes9x 1.39 nor ZSNES 1.36 calculate the checksum correctly for BS
  786. ROMs, so you can be pretty sure the ROM is good if it is a BS ROM. See
  787. previous answer.<br>
  788. <br>
  789. <p>
  790. <a name="11"><b>Q11</b>: I have a SNES ROM of which uCON64 said it was bad, so
  791. I used the -chk option. Now uCON64, Snes9x and ZSNES all say the ROM is
  792. good, but GoodSNES still says it is bad. How can that be, I did fix the ROM,
  793. right?</a><br>
  794. <b>A</b>: No, you did not. When you use -chk uCON64 changes four bytes in the
  795. ROM dump, so that they match with the calculated checksum. However, the ROM
  796. stays just as bad as it was.<br>
  797. Use -chk with care. -chk might be useful if you want to store a ROM
  798. somewhere without using a database with its checksum. You can then later
  799. check if the ROM is still the same as it was when you stored it by using the
  800. checksum that is stored in the ROM.<br>
  801. That said, it is a <i>much</i> better idea to create a DAT file from your
  802. ROM collection if you plan to store it somewhere. See
  803. <a href="#42">question 42</a> for reasons and <a href="#43">question 43</a>
  804. for information on how to create a DAT file.<br>
  805. <br>
  806. <p>
  807. <a name="12"><b>Q12</b>: Some SNES games do not work on my Super Wild Card.
  808. What can I do about that?</a><br>
  809. <b>A</b>: You can do several things. First make sure the original game
  810. cartridge does not contain any special chips that your Super Wild Card
  811. does not support (look at the ROM type information). For example, if you are
  812. trying to run a game like Super Mario Kart (which uses a DSP chip) your
  813. Super Wild Card should have an extension with the correct DSP chip (or have
  814. the right cartridge with that chip plugged in your SWC). Then make sure you
  815. are using a good dump (look at the checksum information). After you have
  816. done that, check if the file is interleaved (look at the line that starts
  817. with "Interleaved/Swapped:"). If the file is interleaved convert it to Super
  818. Wild Card format (deinterleaved) by using the option -swc. Also verify that
  819. the backup unit header is correct. The option -dbuh can be helpful with
  820. that. You can make uCON64 rewrite the header also with -swc. uCON64 uses the
  821. information in the ROM dump's header when sending the file to the Super Wild
  822. Card, so this is important! You can also try to rewrite the header while
  823. using one of the switches -hi or -nhi to force uCON64 to handle it as a
  824. HiROM or a LoROM dump. Additionally you could use one of the switches -hd,
  825. -nhd or -hdn to specify the backup unit header size. For example:<br>
  826. &nbsp;&nbsp;ucon64 -swc -nhi -hd "Batman Revenge of the Joker (U).swc"<br>
  827. There are many (good) ROMs on the internet with incorrect headers, so this
  828. might well solve the problem.<br>
  829. Several games contain a copy protection that prevents them from running on
  830. a backup unit, so this can also be a reason why the game does not work. You
  831. can try -k to remove that protection. Several games also check if they are
  832. running on a PAL or an NTSC SNES. Use -f to remove that form of copy
  833. protection. Some other games check the ROM speed. You can use -l for those.
  834. Some games have more than one type of copy protection, so it could be
  835. necessary to use uCON64 several times with a different option.<br>
  836. See <a href="#39">question 39</a> and <a href="#40">question 40</a> for more
  837. information about a new feature in uCON64 1.9.8beta8 that can be used to
  838. update or improve the options -k, -f and -l without having to (re)compile
  839. the source code.<br>
  840. <br>
  841. Some games seem to work, but after a while it becomes clear that they do not
  842. run as was intended. Two examples of such games are Demon's Crest and Mega
  843. Man X. Here follows an explanation on how to get them to work. All credits
  844. go to Gideon Zhi for sharing this info on cherryroms. Start with ROM images
  845. in SWC format.<br>
  846. <br>
  847. Demon's Crest:<br>
  848. &nbsp;&nbsp;ucon64 -stp "Demon's Crest.swc"<br>
  849. &nbsp;&nbsp;cat "Demon's Crest.swc" "Demon's Crest.swc" &#62; "Demon's Crest (SWC-fix).swc"<br>
  850. &nbsp;&nbsp;ucon64 -swc "Demon's Crest (SWC-fix).swc"<br>
  851. <br>
  852. Mega Man X:<br>
  853. &nbsp;&nbsp;ucon64 -stp "Mega Man X.swc"<br>
  854. &nbsp;&nbsp;ucon64 -padn=2097152 "Mega Man X.swc"<br>
  855. &nbsp;&nbsp;cat "Mega Man X.swc" "Mega Man X.swc" &#62; "Mega Man X (SWC-fix).swc"<br>
  856. &nbsp;&nbsp;ucon64 -swc "Mega Man X (SWC-fix).swc"<br>
  857. <br>
  858. WinDOS users without the program cat should use the command copy. For
  859. example:<br>
  860. &nbsp;&nbsp;copy /b "Mega Man X.swc" + "Mega Man X.swc" "Mega Man X (SWC-fix).swc"<br>
  861. <br>
  862. However, starting from version 1.9.8beta6 the method described above is not
  863. necessary anymore for Demon's Crest. Use the option -k instead. For
  864. Mega Man X you will need version 1.9.8beta7 or later.<br>
  865. <br>
  866. Finally, you could have a look at an incomplete
  867. <!-- Keep next URL absolute. -->
  868. <a href="http://ucon64.sourceforge.net/ucon64/SWC-compatibility.txt">
  869. Super Wild Card compatibility list</a> on the uCON64 homepage (it can also be
  870. found in the source package) to see if it is possible to run a certain game
  871. on a Super Wild Card <u>2.8cc 32 Mbit PAL</u>.<br>
  872. <br>
  873. <p>
  874. <a name="13"><b>Q13</b>: Which backup devices are supported by uCON64?</a><br>
  875. <b>A</b>: See <a href="hardware.html">hardware.html</a>.<br>
  876. <br>
  877. <p>
  878. <a name="14"><b>Q14</b>: I use Windows XP (NT/2000). When I try to run
  879. ucon64.exe in command.com (start -&#62; Run... -&#62; command) uCON64
  880. crashes. What do I do wrong?</a><br>
  881. <b>A</b>: You should not use command, use cmd instead. However, starting from
  882. version 1.9.8 uCON64 should run fine in command.com.<br>
  883. <br>
  884. <p>
  885. <a name="15"><a name="frontend"><b>Q15</b>: I do not like the command line. Are
  886. there graphical frontends available?</a><br>
  887. <b>A</b>: Yes, have a look at
  888. <a href="http://ucon64.sourceforge.net/index2.html#ucon64gui">
  889. http://ucon64.sourceforge.net/index2.html#ucon64gui</a><br>
  890. <br>
  891. <p>
  892. <a name="16"><b>Q16</b>: Where do I get PPF, APS or IPS patches?</a><br>
  893. <b>A</b>:<br>
  894. <form method=GET action="http://www.google.com/search">
  895. <table bgcolor="#FFFFFF" border="0">
  896. <tr><td><br>
  897. <a href="http://www.google.com/">
  898. <img src="http://www.google.com/logos/Logo_25wht.gif" alt="Google" align="absmiddle">
  899. </a><br>
  900. <br>
  901. <input type=text name=q maxlength=255 value="ppf aps ips patch"><br>
  902. <br>
  903. <input type=submit name=btnG value="Google Search"><br>
  904. </td></tr>
  905. </table>
  906. </form>
  907. <br>
  908. <br>
  909. <p>
  910. <a name="17"><b>Q17</b>: Where do I get ROMs/Games?</a><br>
  911. <b>A</b>: <a href="http://www.ebay.com">www.ebay.com</a><br>
  912. <br>
  913. <p>
  914. <a name="18"><b>Q18</b>: What does "[ROM|IMAGE|SRAM|FILE|DIR|ARCHIVE]..." mean
  915. in the help?</a><br>
  916. <b>A</b>: The pipe symbol ('|') should be read as "or".<br>
  917. The square brackets indicate that "ROM|IMAGE|SRAM|FILE|DIR|ARCHIVE" is
  918. optional. For many options you have to specify either a ROM or a CD image or
  919. an SRAM file or some other file or a directory or an archive. However, there
  920. are a few options that do not need any of those arguments.<br>
  921. The ellipses indicate that you may specify one or more ROMs, CD images etc.
  922. Several options even support combinations of ROMs, directories and
  923. archives.<br>
  924. For the current version of uCON64, archive should be read as "ZIP file".<br>
  925. <br>
  926. <p>
  927. <a name="19"><b>Q19</b>: Why is my backup unit (still) not supported?</a><br>
  928. <b>A</b>: Get us the protocol or the sources of existing transfer tools and you
  929. will see what happens. uCON64 already supports all important backup units
  930. which were and are available. Manufacturers of devices which are still not
  931. supported are welcome to contact us.<br>
  932. <br>
  933. <p>
  934. <a name="20"><b>Q20</b>: How do I specify a bank number for the GB Xchanger?</a><br>
  935. <b>A</b>: Separate the bank number from the option -xgbxb with either a space or
  936. an equal sign. For example:<br>
  937. &nbsp;&nbsp;ucon64 -xgbxb 0 "Pokemon (Green).sav"<br>
  938. or:<br>
  939. &nbsp;&nbsp;ucon64 -xgbxb=0 "Pokemon (Green).sav"<br>
  940. <br>
  941. <p>
  942. <a name="21"><b>Q21</b>: What is the difference between the Flash Advance
  943. Linker options -xfals and -xfalb &#60;n&#62;?</a><br>
  944. <b>A</b>: When saving -xfals saves all 256 kB while -xfalb &#60;n&#62; saves
  945. only the 64 kB of bank n. When restoring -xfals starts restoring the SRAM in
  946. bank 1 while -xfalb &#60;n&#62; starts in bank n. For example, if you have
  947. Super Mario Advance 2 (J) on your flash card in "ROM bank" 4 and would like
  948. to save/restore SRAM bank 4 you should do something like:<br>
  949. &nbsp;&nbsp;ucon64 -xfalb 4 "Super Mario Advance 2 (J).sav"<br>
  950. The file size determines how many bytes are restored, even when you use
  951. -xfalb &#60;n&#62;. So, if the file is greater than 64 kB more than one bank
  952. will be written to.<br>
  953. <br>
  954. <p>
  955. <a name="22"><b>Q22</b>: uCON64 exits with the message "ERROR: Flash card erase
  956. failed" when I try to write a multi-game file to my flash card. What is
  957. wrong?</a><br>
  958. <b>A</b>: The multi-game file you created is too large for your flash card. When
  959. you make a multi-game file do not forget that the loader or "game pack" file
  960. also needs some space (32 kB) on the flash card. Do not pass a size to -multi
  961. that is larger than your flash card. Passing a smaller size is correct
  962. though. For example, to create a multi-game file that fits on a 128 Mb (16
  963. MB) card use a command like this:<br>
  964. &nbsp;&nbsp;ucon64 -gba -multi=128 loader.bin rom1.gba rom2.gba rom3.gba rom4.gba multi.bin<br>
  965. You can also send it directly by using -xfalmulti:<br>
  966. &nbsp;&nbsp;ucon64 -xfalmulti=128 rom1.gba rom2.gba rom3.gba rom4.gba<br>
  967. Please note that when using -multi you have to specify a loader and the name
  968. of the multi-game file to create, while when using -xfalmulti you must omit
  969. them. -xfalmulti uses the variable gbaloader to find the loader. See
  970. <a href="#configbin">"How to configure the uCON64 executable"</a>.<br>
  971. Just like sometimes happens with Visoly's tool it is possible to get the
  972. same message when the multi-game file is small enough. It will probably work
  973. when you try again (with the same multi-game file).<br>
  974. <br>
  975. <p>
  976. <a name="23"><b>Q23</b>: Where can I get that loader or "game pack" file?</a><br>
  977. <b>A</b>: You can get it from <a href="http://www.visoly.com">Visoly's site</a>.
  978. It is in a file with a name like
  979. <a href="http://www.visoly.com/download/preboot32.zip">preboot32.zip</a>.
  980. You can find it also on the uCON64 homepage.<br>
  981. <br>
  982. <p>
  983. <a name="24"><b>Q24</b>: What is the meaning of the -col option (SNES)?</a><br>
  984. <b>A</b>: Back in the days stupid people released games with green blood.
  985. You can use a GFX or HTML editor to find an identical green color and
  986. write down the color values in HTML style (#RRGGBB). Now you run
  987. "ucon64 -col #RRGGBB" and it will calculate the hex value for the
  988. corresponding SNES color. OK? No? Then you do not need this option :-)<br>
  989. <br>
  990. <p>
  991. <a name="25"><b>Q25</b>: Why does uCON64 create ucon64.cfg (DOS executable) or
  992. .ucon64rc (Win32 executable) files all over the place on DOS and
  993. Windows 9x (command.com)?</a><br>
  994. <b>A</b>: uCON64 needs to know where it can find the configuration file or a
  995. directory where it can create one. It checks the environment for a variable
  996. with the name UCON64_HOME, HOME, USERPROFILE or HOMEDRIVE and HOMEPATH (in
  997. that order). On UNIX HOME is normally set. On Windows XP and 2000 (NT?)
  998. USERPROFILE, HOMEDRIVE and HOMEPATH are usually set. If uCON64 cannot find
  999. one of those environment variables it will look for the configuration file in
  1000. the current directory. If it cannot find a configuration file it
  1001. will create one. On DOS and Windows 9x none of those environment variables
  1002. are usually set. So, if you run uCON64 on DOS or Windows 9x in a directory
  1003. where no configuration file exists it will create one there. If you do not
  1004. like this behaviour you should set one of the mentioned environment variables
  1005. yourself. You can do that by adding the following line to the end of the file
  1006. C:\autoexec.bat:<br>
  1007. &nbsp;&nbsp;set UCON64_HOME=C:\ucon64<br>
  1008. and reboot. You can also type that line on the command line. The directory
  1009. C:\ucon64 must exist, of course. If you want uCON64 to use another directory
  1010. you should change C:\ucon64 to a directory of your choice. You should not
  1011. let the last character of the environment variable be a forward or backward
  1012. slash.<br>
  1013. If you have Cygwin installed, the Cygwin runtime system will create an
  1014. internal environment for the uCON64 executable with HOME set to Cygwin's
  1015. home directory if it has not already been set. You can override this value
  1016. with the method mentioned earlier. However, if you set UCON64_HOME this does
  1017. not matter as the value of HOME will not be checked if UCON64_HOME is set.<br>
  1018. You can check which configuration file uCON64 uses by specifying the option
  1019. -version on the command line.<br>
  1020. <br>
  1021. <p>
  1022. <a name="26"><b>Q26</b>: When I try to create a multi-game file on Windows I get
  1023. the message "The system cannot execute the specified program." (or something
  1024. similar). What does that mean?</a><br>
  1025. <b>A</b>: You can get that message with the DOS executable if you pass more
  1026. than 127 characters as argument to uCON64. There are two solutions:<br>
  1027. 1.) Use a Win32 executable (download one from
  1028. <a href="http://ucon64.sourceforge.net/">the uCON64 homepage</a>).<br>
  1029. 2.) Rename the ROMs so that their combined names are short enough to fit
  1030. into 127 characters.<br>
  1031. <br>
  1032. <p>
  1033. <a name="27"><b>Q27</b>: I tried to run a Win32 executable of uCON64 but Windows
  1034. gave an error message that cygwin1.dll, cygz.dll or zlib.dll could
  1035. not be found.</a><br>
  1036. <b>A</b>: The Cygwin-compiled Win32 executable of uCON64 needs cygwin1.dll and
  1037. cygz.dll in order to run. The Visual C++-compiled Win32 executable needs
  1038. zlib.dll. You can download these files from
  1039. <a href="http://ucon64.sourceforge.net/">the uCON64 homepage</a>.
  1040. Copy the file(s) to the same directory as the uCON64 executable or to a
  1041. directory in your PATH.<br>
  1042. <br>
  1043. <p>
  1044. <a name="28"><b>Q28</b>: How do I make uCON64 display one help screen at a
  1045. time?</a><br>
  1046. <b>A</b>: Just as is stated in the last few lines of the help, pass the output
  1047. of uCON64 to a program that waits for a key after one screen of text. You
  1048. could use the program "more". In order to pass the output of uCON64 to more
  1049. you have to use the pipe symbol, '|'. On an international keyboard you can
  1050. type this symbol with the same key you use for the backslash ('\'). For
  1051. example:<br>
  1052. &nbsp;&nbsp;ucon64 -help|more<br>
  1053. To get only help on the options for a specific console, specify the console
  1054. on the command line. For example, to see only the help on Game Boy Advance
  1055. options:<br>
  1056. &nbsp;&nbsp;ucon64 -help -gba|more<br>
  1057. Press the space bar to see the next help screen, the enter key to see the
  1058. next line or q to quit.<br>
  1059. <br>
  1060. <p>
  1061. <a name="29"><b>Q29</b>: I tried to send a ROM dump to my backup unit on
  1062. Windows XP (NT/2000), but uCON64 crashed. What is wrong?</a><br>
  1063. <b>A</b>: If the message looks like this (for the Win32 (Cygwin) executable):<br>
  1064. &nbsp;&nbsp;0 [main] ucon64 356 handle_exceptions: Exception: STATUS_PRIVILEGED_INSTRUCTION<br>
  1065. 5570 [main] ucon64 356 open_stackdumpfile: Dumping stack trace to ucon64.exe.stackdump<br>
  1066. or like this:<br>
  1067. &nbsp;&nbsp;Illegal instruction (core dumped)<br>
  1068. then you did not install an I/O driver (correctly). In this case "install"
  1069. means that the I/O driver is running at the time uCON64 tries to access the
  1070. parallel port. See <a href="#4">question 4</a>.<br>
  1071. You will also see this message (with a Windows version of uCON64) if you
  1072. tried to enable EPP mode for the FAL on Windows XP (NT/2000), i.e., you
  1073. specified the switch -xfalm, without an appropriate I/O port driver. UserPort
  1074. is <i>inappropriate</i> for this, because it enables access to I/O ports up
  1075. to 0x3ff. However, in order to enable EPP mode the FAL code tries to access
  1076. an I/O port with an address higher than 0x3ff. If you want to be able to use
  1077. EPP mode try io.dll or inpout32.dll.<br>
  1078. Starting with version 2.0.0 uCON64 will not crash anymore if it cannot access
  1079. the parallel port at start up (unless you use UserPort in combination with a
  1080. Windows version of uCON64).<br>
  1081. <br>
  1082. <p>
  1083. <a name="30"><b>Q30</b>: I want to convert a NES ROM in iNES format to UNIF.
  1084. How do I know what board name to use?</a><br>
  1085. <b>A</b>: The file
  1086. <a href="http://ucon64.cvs.sourceforge.net/viewvc/ucon64/ucon64/src/console/boardtable.txt">
  1087. boardtable.txt</a> contains a table where you can find what game uses what
  1088. board. The file
  1089. <a href="http://ucon64.cvs.sourceforge.net/viewvc/ucon64/ucon64/src/console/boardnames">
  1090. boardnames</a> contains a list of all known board names.<br>
  1091. <br>
  1092. <p>
  1093. <a name="31"><b>Q31</b>: How do I convert a NES ROM from Pasofami to FFE? Or
  1094. from UNIF to Pasofami?</a><br>
  1095. <b>A</b>: Use iNES as intermediate format. So, to do the conversion Pasofami
  1096. -&#62; FFE, do this conversion instead: first Pasofami -&#62; iNES and then
  1097. iNES -&#62; FFE.<br>
  1098. To answer the second question, to do the conversion UNIF -&#62; Pasofami do
  1099. this: UNIF -&#62; iNES and then iNES -&#62; Pasofami.<br>
  1100. <br>
  1101. <p>
  1102. <a name="32"><b>Q32</b>: How do I specify dumper information when converting to
  1103. UNIF?</a><br>
  1104. <b>A</b>: Create a text file with three lines. The first line should contain
  1105. the name (or "handle") of the person who dumped the cartridge. This line may
  1106. be 99 characters long at maximum. The next line should contain the date when
  1107. the cartridge was dumped. The format is dd-mm-yyyy. Instead of the hyphen
  1108. ('-') you may also use the slash ('/'). If day or month is smaller than 10
  1109. you may use 1 or 2 digits, for example:<br>
  1110. &nbsp;&nbsp;02/02/2002<br>
  1111. or<br>
  1112. &nbsp;&nbsp;2-2-2002<br>
  1113. The third and last line should contain information about the dumping means
  1114. that was used. This line may also contain 99 characters at maximum. Here is
  1115. an example info file:<br>
  1116. &nbsp;&nbsp;Me &#60;me@web.net&#62;<br>
  1117. &nbsp;&nbsp;26-7-2002<br>
  1118. &nbsp;&nbsp;Custom built hardware<br>
  1119. To get this information in a UNIF file, you should use the -dumpinfo switch
  1120. in combination with the -unif option. Say you store the dumper information
  1121. in the file info.txt. This would get the info in a UNIF file:<br>
  1122. &nbsp;&nbsp;ucon64 -unif smb.nes -mapr NROM -dumpinfo info.txt<br>
  1123. If you already have a UNIF file the command looks almost the same:<br>
  1124. &nbsp;&nbsp;ucon64 -unif smb.unf -dumpinfo info.txt<br>
  1125. For an existing UNIF file you need not specify the board name, but you might
  1126. want to specify it if you want to change the board name in the file.
  1127. Afterwards run uCON64 on the newly written ROM to see if you were
  1128. successful. uCON64's display output should contain a dump info section then.<br>
  1129. <br>
  1130. <p>
  1131. <a name="33"><b>Q33</b>: How do I specify that a NES game in UNIF format
  1132. supports multiple controller types?</a><br>
  1133. <b>A</b>: Use the -ctrl switch multiple times on the <i>same</i> command line.
  1134. For example, to specify that a game supports the controller types "regular
  1135. joypad" and "power pad" you should use a command like this:<br>
  1136. &nbsp;&nbsp;ucon64 -unif smb.nes -mapr NROM -ctrl 0 -ctrl 4<br>
  1137. <br>
  1138. <p>
  1139. <a name="34"><b>Q34</b>: How do I enable or disable colors in the display output
  1140. of uCON64?</a><br>
  1141. <b>A</b>: For the Windows and UNIX executables colors are enabled by default.
  1142. For the DOS executable ANSI.SYS must be loaded. On DOS and Windows 9x
  1143. ANSI.SYS can be loaded by adding a line to the end of C:\config.sys of the
  1144. format "device=&#60;full path to ANSI.SYS&#62;". Say ANSI.SYS is located in
  1145. the directory C:\windows\command, then the line would have to look like this:<br>
  1146. &nbsp;&nbsp;device=C:\windows\command\ansi.sys<br>
  1147. Changes made to config.sys on DOS and Windows 9x will become active only
  1148. after a reboot.<br>
  1149. On Windows XP/NT you should add a similar line to your
  1150. %SystemRoot%\system32\CONFIG.NT:<br>
  1151. &nbsp;&nbsp;device=%SystemRoot%\system32\ansi.sys<br>
  1152. The use of color can be disabled by specifying the switch -ncol on the
  1153. command line. You can also add the following line to the configuration file:<br>
  1154. &nbsp;&nbsp;ansi_color=0<br>
  1155. <br>
  1156. <p>
  1157. <a name="35"><b>Q35</b>: When I try to convert a large number of files using
  1158. wildcards, uCON64 will only convert the first file. Is this a bug?</a><br>
  1159. <b>A</b>: No, it is not. uCON64 versions before 1.9.8beta7 just do not support
  1160. wildcards. For example, to convert all files with the suffix (M$ speak:
  1161. extension) .mgd to Super Wild Card format, try this in Bash:<br>
  1162. &nbsp;&nbsp;find -name \*.mgd -exec ucon64 --snes --swc {} \;<br>
  1163. or this in command.com or cmd.exe:<br>
  1164. &nbsp;&nbsp;for %f in (*.mgd) do ucon64 --snes --swc "%f"<br>
  1165. However, this functionality has been added to uCON64 1.9.8beta7. With that
  1166. version you can do the same thing with:<br>
  1167. &nbsp;&nbsp;ucon64 --snes --swc *.mgd<br>
  1168. In case something goes terribly wrong and uCON64 crashes it might still be
  1169. necessary to use one of the previous methods, because every file will be
  1170. processed and not only the files before the crash.<br>
  1171. <br>
  1172. <p>
  1173. <a name="36"><b>Q36</b>: Does uCON64 support DAT (RomCenter/GoodXXXX) files?</a><br>
  1174. <b>A</b>: Yes, starting with version 1.9.8beta8 it does. First use the option
  1175. -version to see which configuration file uCON64 uses
  1176. (see <a href="#25">question 25</a>). Then open that file in an editor and
  1177. look for a line that starts with "ucon64_datdir=" (without the quotes). If
  1178. that line is not present add one. For example on UNIX:<br>
  1179. &nbsp;&nbsp;ucon64_datdir=~/.ucon64/dat<br>
  1180. or on Windows:<br>
  1181. &nbsp;&nbsp;ucon64_datdir=C:\ucon64\dat<br>
  1182. You can use the tilde ('~') also on DOS and Windows. It will be interpreted
  1183. by uCON64 as the "home directory". The home directory is the directory
  1184. specified by the environment variable HOME or USERPROFILE or HOMEDRIVE and
  1185. HOMEPATH. If none of those environment variables are set, the current
  1186. directory will be handled as the home directory. Again, see
  1187. <a href="#25">question 25</a>.<br>
  1188. You can also set an environment variable with the name ucon64_datdir. The
  1189. value of the environment variable takes precedence over the value in the
  1190. configuration file.<br>
  1191. Then copy all DAT files you have into that directory. You can download DAT
  1192. files from sites like
  1193. <a href="http://emulationrealm.net/rcdat.php#Cowering_GoodTools">
  1194. http://emulationrealm.net/</a>,
  1195. <a href="http://www.romcenter.com/"> http://www.romcenter.com/</a> or
  1196. <a href="http://www.rommanager.com/">http://www.rommanager.com/</a>. You can
  1197. also find some DAT files on
  1198. <a href="http://ucon64.sourceforge.net/index.html#ucon64dat">
  1199. the uCON64 homepage</a>.<br>
  1200. uCON64 will automatically create index files which speed up the access to
  1201. the DAT files dramatically. Now uCON64 uses the information inside the DAT
  1202. files to identify or rename ROMs without an internal header.<br>
  1203. Starting with version 1.9.8beta8 uCON64 does not have an internal database
  1204. anymore, so you will <i>need</i> DAT files for files like NES ROM dumps.<br>
  1205. You can check which DAT files are used by uCON64 with the option -db. You
  1206. can view or list all DAT entries with the option -dbv. You can search for a
  1207. specific CRC32 value with the option -dbs. The force-console-type options
  1208. can be used in combination with -db, -dbv and -dbs. For example, to see
  1209. which DAT files are used to identify SNES ROM dumps, type:<br>
  1210. &nbsp;&nbsp;ucon64 -db -snes<br>
  1211. If uCON64 reports that it found 0 DAT files you did not install the DAT
  1212. file(s) correctly.<br>
  1213. <br>
  1214. <p>
  1215. <a name="37"><b>Q37</b>: Some SNES games do not work on my Super Pro Fighter
  1216. Q(+). What can I do about that?</a><br>
  1217. <b>A</b>: First read the answer to <a href="#12">question 12</a>.
  1218. Starting with versions after 1.9.8beta8 you can send (and dump) games with
  1219. the option -xfig. It could be that some games need to be in Super Wild Card
  1220. format in order for them to work correctly what SRAM concerns if you load
  1221. them from diskette. So, instead of converting them with -fig you have to use
  1222. the option -swc. For example Earthbound and "Lufia &amp; The Fortress of
  1223. Doom" have all sorts of problems when they are in FIG format, but not when
  1224. they are in SWC format. Other games work best when you convert them with
  1225. -fig. For example Seiken Densetsu 3 will run best when converted with -fig.<br>
  1226. There seems to be a bit of an overheating problem with some Super Pro
  1227. Fighter Q(+) models. After playing half an hour or so, this may result in
  1228. reboots or other strange behaviour. We have received a report of one user
  1229. who solved this by removing the case of the Super Pro Fighter Q(+) and
  1230. placing a CPU fan on top of the SPFQ's RAM chips.<br>
  1231. <br>
  1232. <p>
  1233. <a name="38"><b>Q38</b>: uCON64 displays too many lines for my DOS-box. What
  1234. can I do about that?</a><br>
  1235. <b>A</b>: You can do several things:<br>
  1236. 1.) Change the number of lines that can be displayed at once with this
  1237. command:<br>
  1238. &nbsp;&nbsp;mode con lines=50<br>
  1239. 2.) Use the program "more". See <a href="#28">question 28</a>.<br>
  1240. 3.) Redirect the output of uCON64 to a file. For example:<br>
  1241. &nbsp;&nbsp;ucon64 rom.swc &#62; output.txt<br>
  1242. You can then open the file output.txt in an editor.<br>
  1243. <br>
  1244. <p>
  1245. <a name="39"><b>Q39</b>: When will the next version of uCON64 be released? I
  1246. have heard the next version is able to crack my favourite SNES game, but I
  1247. do not know how to use CVS or a compiler.</a><br>
  1248. <b>A</b>: We know when we will release a new version only just before we do so.
  1249. But starting with uCON64 1.9.8beta8 this is not a problem for you at all.
  1250. The only requirement is that you are able to read and use a text editor ;-)<br>
  1251. First visit the uCON64 homepage and from there follow a link to the
  1252. <a href="http://sourceforge.net/projects/ucon64">uCON64 SourceForge page</a>.
  1253. You should be able to find a page where you can browse the CVS repository.
  1254. Download the latest version of the file snes.c. Open the file in an editor
  1255. and search for the text snes_k. If you are looking for NTSC or PAL fixes
  1256. search either for snes_fix_pal_protection or snes_fix_ntsc_protection,
  1257. depending on what you need. For example, you will have to search for
  1258. snes_fix_pal_protection, if you want to fix a game so that it will run on an
  1259. NTSC SNES.<br>
  1260. Then read the comment to see what "code" your game requires. However, surely
  1261. not every game will be mentioned in the comments. In that case search for
  1262. the corresponding "line" a bit below. For example, for Mega Man X you will
  1263. find this text in the comments:<br>
  1264. &nbsp;&nbsp; af/bf XX 80 00 cf/df XX 80 40 f0<br>
  1265. =&#62; af/bf XX 80 00 cf/df XX 80 40 80<br>
  1266. Then you could search for the sequence \x80\x40\xf0. It is just a subset of
  1267. the search pattern with each element prefixed with "\x". Searching for
  1268. \xaf/\xbf will not bring you far. Searching for \xXX\x80 neither. It takes a
  1269. bit too much text to explain all the details, so just follow the directions.
  1270. Note that I did not advise to search for \x80\x40\x80, because that is what
  1271. the sequence should be after uCON64 has cracked or fixed the game.<br>
  1272. For Mega Man X you will find the lines:<br>
  1273. &nbsp;&nbsp;n += change_mem (buffer, bytesread, "!*\x80\x00!*\x80\x40\xf0", 9, '*', '!', "\x80", 1, 0,<br>
  1274. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"\xaf\xbf", 2, "\xcf\xdf", 2);<br>
  1275. Now open the file snescopy.txt. If you are trying to get uCON64 support new
  1276. NTSC or PAL cracks open snesntsc.txt or snespal.txt respectively. Then copy
  1277. the parts "!*\x80\x00!*\x80\x40\xf0", '*', '!', "\x80", 0, "\xaf\xbf" and
  1278. "\xcf\xdf" to a new line in that file. Note that 0 is the 9th parameter.
  1279. Also note that "\xaf\xbf" and "\xcf\xdf" are all parameters between double
  1280. quotes after the 9th parameter.<br>
  1281. Remove the double and single quotes and separate the parts by a colon. Then
  1282. replace the prefix \x with a space. If you followed the directions the line
  1283. will look like this:<br>
  1284. &nbsp;&nbsp;!* 80 00!* 80 40 f0: *: !: 80: 0: af bf: cf df<br>
  1285. You are almost done now. Only one thing has to be done. Look at what the
  1286. "wildcard" and "escape" symbols are. They are defined by the 5th and 6th
  1287. parameter of change_mem(), respectively. In our example the 5th parameter is
  1288. '*', so the wildcard character is: *. The 6th parameter is '!', so the
  1289. escape character is: !. And now the last step: replace the wildcard and
  1290. escape characters with a (hexadecimal) number that does not occur in the
  1291. rest of the character sequence (except other wildcards and escape symbols or
  1292. values). Be sure to have at least one space between the numbers. In our
  1293. example we could choose the values 1 and 2. In that case the finished line
  1294. would look like this:<br>
  1295. &nbsp;&nbsp;2 1 80 00 2 1 80 40 f0: 1: 2: 80: 0: af bf: cf df<br>
  1296. If for example the 5th parameter would have been \x01, the wildcard would be
  1297. 01. In that case you would not have to change it, because it is already a
  1298. number.<br>
  1299. Now save the changed file and place it either in the directory from where
  1300. you will run uCON64 (this is not necessarily the same directory as the one
  1301. where the uCON64 executable might be located!) or in uCON64's configuration
  1302. directory. Use the option -version to find out which directory that is. Then
  1303. try if uCON64 is able to crack your game. uCON64 will display a warning
  1304. message if it detects an error in your new line. If you made a mistake with
  1305. escape symbols uCON64 might very well crash. You can use the switch -v (in
  1306. combination with -k, -f or -l) to make uCON64 display what information it
  1307. reads from the file.<br>
  1308. If you cannot find which line you need you will either have to add a line to
  1309. snescopy.txt, snespal.txt or snesntsc.txt for every code that is not already
  1310. mentioned in those files or ask someone else to do it for you. For example
  1311. on an emulation web forum like
  1312. the <a href="http://www.cherryroms.co.uk/">cherryroms</a>
  1313. <a href="http://www.cherryroms.co.uk/forums/copiers-and-hardware/copier-and-hardware-forum">
  1314. copier and hardware forum</a>.<br>
  1315. <br>
  1316. <p>
  1317. <a name="40"><b>Q40</b>: What is the format of the snes*.txt files?</a><br>
  1318. <b>A</b>: Zero or more <u>lines</u> of the following format:<br>
  1319. &#60;search&#62; : &#60;wc&#62; : &#60;esc&#62; : &#60;new&#62; : &#60;off&#62;
  1320. [: &#60;set&#62;]*<br>
  1321. Where <i>search</i> is the search pattern, <i>wc</i> the wildcard value,
  1322. <i>esc</i> the escape value, <i>new</i> the replacement byte sequence,
  1323. <i>off</i> the offset and <i>set</i> a set of bytes for each escape value in
  1324. the search pattern. uCON64 does not accept this information to be specified
  1325. across several lines. All values should be specified in hexadecimal, except
  1326. the offset.<br>
  1327. If the search pattern does not contain any escape bytes, you need not specify
  1328. a set as it will not be used. If it does contain escape bytes you will have
  1329. to specify a set for each one of them. Take for example the pattern:<br>
  1330. &nbsp;&nbsp;01 00 01 00 42 84 ff 75 : ff : 00 : 02 03 : -6 : 22 11 : 19 75<br>
  1331. This will match amongst 1020 others with the following byte sequences:<br>
  1332. &nbsp;&nbsp;01 22 01 19 42 84 19 75<br>
  1333. &nbsp;&nbsp;01 11 01 19 42 84 91 75<br>
  1334. &nbsp;&nbsp;01 22 01 75 42 84 00 75<br>
  1335. &nbsp;&nbsp;01 11 01 75 42 84 ff 75<br>
  1336. A wildcard value in the search pattern matches with any value.<br>
  1337. Using the above search pattern, uCON64 will search and replace two bytes six
  1338. bytes "back" from the end of any matched byte sequence.
  1339. For example, any occurence of the byte sequence 01 22 01 19 42 84 19 75 will
  1340. be changed into 01 02 03 19 42 84 19 75.<br>
  1341. <br>
  1342. <p>
  1343. <a name="41"><b>Q41</b>: Is it possible to force uCON64 to send or dump (an)
  1344. SRAM (file) instead of that it depends on whether the file exists?</a><br>
  1345. <b>A</b>: No, but you could use a simple script or batch file to force sending
  1346. or dumping. Here is an example batch file to force dumping SRAM with a Pro
  1347. Fighter:<br>
  1348. &nbsp;&nbsp;@echo off<br>
  1349. &nbsp;&nbsp;if exist %1 goto error<br>
  1350. &nbsp;&nbsp;ucon64 -xfigs %1<br>
  1351. &nbsp;&nbsp;goto exit<br>
  1352. &nbsp;&nbsp;:error<br>
  1353. &nbsp;&nbsp;echo %1 already exists, use a different name<br>
  1354. &nbsp;&nbsp;:exit<br>
  1355. Save that text to a file that ends with ".bat" (without the quotes). Say you
  1356. save it to a file named dumpsram.bat. Then you can dump the SRAM of the Pro
  1357. Fighter with a command like:<br>
  1358. &nbsp;&nbsp;dumpsram save1.sav<br>
  1359. You do not have to check if save1.sav exists anymore as the batch file will
  1360. do it for you.<br>
  1361. Here is the Bash script equivalent of the above batch file:<br>
  1362. &nbsp;&nbsp;#! /bin/bash<br>
  1363. &nbsp;&nbsp;if [ -e "$1" ]; then<br>
  1364. &nbsp;&nbsp;echo $1 already exists, use a different name<br>
  1365. &nbsp;&nbsp;exit<br>
  1366. &nbsp;&nbsp;fi<br>
  1367. &nbsp;&nbsp;ucon64 -xfigs "$1"<br>
  1368. You do not have to give the file a specific name. Just do not forget to make
  1369. the file executable. Say you name it dumpsram, then you could make it
  1370. executable with:<br>
  1371. &nbsp;&nbsp;chmod +x dumpsram<br>
  1372. Now you can dump the SRAM with:<br>
  1373. &nbsp;&nbsp;./dumpsram save1.sav<br>
  1374. <br>
  1375. <p>
  1376. <a name="42"><b>Q42</b>: Why does uCON64 support DAT files?</a><br>
  1377. <b>A</b>: uCON64 supports DAT files for two reasons:<br>
  1378. 1.) In order to reliably identify ROM dumps.<br>
  1379. 2.) In order to rename ROM dumps to their "official" name.<br>
  1380. Some ROM dump formats contain enough information to identify them, but none
  1381. of the formats supported by uCON64 can be <i>reliably</i> identified.<br>
  1382. The checksum algorithms that are used to calculate the internal checksum
  1383. of the files that have one is a simple addition of a range of bytes. So,
  1384. several bytes can be swapped and still yield the same checksum. Even the
  1385. range can be different and produce the same checksum. The latter case often
  1386. occurs with overdumps. Some ROM dump formats do not even use the entire file
  1387. for the checksum calculation...<br>
  1388. uCON64 solves these problems as it uses the CRC32 algorithm for file
  1389. identification. The CRC32 algorithm will produce a different checksum if
  1390. bytes are swapped or if the range is different. When uCON64 is run on a ROM
  1391. dump it first calculates the CRC32 of that file and then searches in its DAT
  1392. files for that CRC32. If the CRC32 is present uCON64 will display the
  1393. information it found in the DAT file. If uCON64 could not find the CRC32 it
  1394. will not display DAT information.<br>
  1395. At the risk of labouring the obvious I might add that even if all formats
  1396. used a checksum algorithm like CRC32, DAT files would still be necessary as
  1397. it is not possible to reliably identify a file without an external
  1398. reference.<br>
  1399. <br>
  1400. <p>
  1401. <a name="43"><b>Q43</b>: How should the option --mkdat be used?</a><br>
  1402. <b>A</b>: With care ;-)<br>
  1403. Seriously, let me first state that it would not be helpful if people would
  1404. start creating DAT files from their ROM collections and publish them without
  1405. some form of coordination. At the time of this writing (2 June 2003)
  1406. Cowering's GoodXXXX utilities are the standard for most consoles.<br>
  1407. In order to create a DAT file first make sure that all the ROMs you want to
  1408. create a DAT file from, have the name you want them to have. This is
  1409. important as DAT files are used not only for identification, but also for
  1410. renaming files (when using the option --rename). Also make sure all the
  1411. files have a suffix (or "extension"). Then start uCON64 with the --mkdat
  1412. option. For example, to create a DAT file from all the SNES ROM dumps in the
  1413. directory C:\snesrom use a command like:<br>
  1414. &nbsp;&nbsp;ucon64 --mkdat=snes-02062003.dat C:\snesrom<br>
  1415. In this case a DAT file named snes-02062003.dat will be created. When you
  1416. copy this file to uCON64's DAT directory uCON64 will use it to identify SNES
  1417. ROMs. Note that the name ends with ".dat". uCON64 will only see DAT files if
  1418. they have a name that ends with ".dat". Note also that the name starts with
  1419. "snes". uCON64 will use all DAT files (in its DAT directory) that start with
  1420. "snes" to identify SNES ROM dumps. The letter case is not important, so you
  1421. could also use a name that starts with "SNES" or "Snes". If you use an
  1422. incorrect name uCON64 will not use the DAT file, but will print a warning
  1423. message each time you run uCON64 on a ROM dump. Here follows a table to see
  1424. which name uCON64 uses for what console:<br>
  1425. <br>
  1426. <table border="1">
  1427. <tr>
  1428. <th><tt>console</tt></th>
  1429. <th><tt>DAT file name prefix</tt></th>
  1430. </tr>
  1431. <tr>
  1432. <td><tt>"Atari hardware"</tt></td>
  1433. <td><tt>Good2600, Good5200, Good7800, 2600, 5200 or 7800</tt></td>
  1434. </tr>
  1435. <tr>
  1436. <td><tt>Coleco</tt></td>
  1437. <td><tt>GoodCOL or Coleco</tt></td>
  1438. </tr>
  1439. <tr>
  1440. <td><tt>Game Boy Advance</tt></td>
  1441. <td><tt>GoodGBA or GBA</tt></td>
  1442. </tr>
  1443. <tr>
  1444. <td><tt>Game Boy (Color)</tt></td>
  1445. <td><tt>GoodGBX or GBX</tt></td>
  1446. </tr>
  1447. <tr>
  1448. <td><tt>Genesis or Mega Drive</tt></td>
  1449. <td><tt>GoodGEN or GEN</tt></td>
  1450. </tr>
  1451. <tr>
  1452. <td><tt>Intellivision</tt></td>
  1453. <td><tt>GoodINTV or Intelli</tt></td>
  1454. </tr>
  1455. <tr>
  1456. <td><tt>Jaguar</tt></td>
  1457. <td><tt>GoodJAG or JAG</tt></td>
  1458. </tr>
  1459. <tr>
  1460. <td><tt>Lynx</tt></td>
  1461. <td><tt>GoodLynx or Lynx</tt></td>
  1462. </tr>
  1463. <tr>
  1464. <td><tt>"M.A.M.E. hardware"</tt></td>
  1465. <td><tt>MAME</tt></td>
  1466. </tr>
  1467. <tr>
  1468. <td><tt>Neo Geo</tt></td>
  1469. <td><tt>Neo-Geo</tt></td>
  1470. </tr>
  1471. <tr>
  1472. <td><tt>Neo Geo Pocket</tt></td>
  1473. <td><tt>GoodNGPX or NGP</tt></td>
  1474. </tr>
  1475. <tr>
  1476. <td><tt>NES</tt></td>
  1477. <td><tt>GoodNES, NES or FDS</tt></td>
  1478. </tr>
  1479. <tr>
  1480. <td><tt>Nintendo 64</tt></td>
  1481. <td><tt>GoodN64 or N64</tt></td>
  1482. </tr>
  1483. <tr>
  1484. <td><tt>PC-Engine</tt></td>
  1485. <td><tt>GoodPCE or PCE</tt></td>
  1486. </tr>
  1487. <tr>
  1488. <td><tt>Sega Master System and Game Gear</tt></td>
  1489. <td><tt>GoodSMS, GoodGG, SMS or GG</tt></td>
  1490. </tr>
  1491. <tr>
  1492. <td><tt>SNES</tt></td>
  1493. <td><tt>GoodSNES or SNES</tt></td>
  1494. </tr>
  1495. <tr>
  1496. <td><tt>Vectrex</tt></td>
  1497. <td><tt>GoodVECT or Vectrex</tt></td>
  1498. </tr>
  1499. <tr>
  1500. <td><tt>Virtual Boy</tt></td>
  1501. <td><tt>GoodVBOY or VBOY</tt></td>
  1502. </tr>
  1503. <tr>
  1504. <td><tt>WonderSwan</tt></td>
  1505. <td><tt>GoodWSX or swan</tt></td>
  1506. </tr>
  1507. <!--
  1508. <tr>
  1509. <td><tt>3DO</tt></td>
  1510. <td><tt>3do</tt></td>
  1511. </tr>
  1512. <tr>
  1513. <td><tt>CD32</tt></td>
  1514. <td><tt>CD32</tt></td>
  1515. </tr>
  1516. <tr>
  1517. <td><tt>CDi</tt></td>
  1518. <td><tt>CDi</tt></td>
  1519. </tr>
  1520. <tr>
  1521. <td><tt>Dreamcast</tt></td>
  1522. <td><tt>Dreamcast</tt></td>
  1523. </tr>
  1524. <tr>
  1525. <td><tt>Saturn</tt></td>
  1526. <td><tt>Saturn</tt></td>
  1527. </tr>
  1528. <tr>
  1529. <td><tt>XBox</tt></td>
  1530. <td><tt>XBox</tt></td>
  1531. </tr>
  1532. -->
  1533. </table>
  1534. <br>
  1535. You can create a DAT file from a subset of the files in a directory by
  1536. explicitly specifying the files on the command line:<br>
  1537. &nbsp;&nbsp;ucon64 --mkdat=snes-02062003.dat C:\snesrom\*.swc<br>
  1538. uCON64 uses the first file to determine for which console a DAT file is
  1539. meant. So, if you want to create a DAT file from a set of ROMs of several
  1540. consoles, the first file uCON64 encounters will determine the DAT file type.
  1541. You can do two things in such a case to be sure for which console the
  1542. resulting DAT file will be meant:<br>
  1543. 1.) Specify one extra ROM dump as first file on the command line. For
  1544. example:<br>
  1545. &nbsp;&nbsp;ucon64 --mkdat=n64-02062003.dat C:\rom\mario64.v64 C:\rom<br>
  1546. 2.) Use a force recognition switch. For example:<br>
  1547. &nbsp;&nbsp;ucon64 --mkdat=sms-02062003.dat C:\rom --sms<br>
  1548. <br>
  1549. The second option should only be used when you are sure all the files are
  1550. for a certain console and uCON64 fails to recognise some.<br>
  1551. You can control what information uCON64 displays when creating a DAT file
  1552. with the switches -v and -q. --mkdat uses three levels of verbosity:<br>
  1553. 1.) When the switch -v is specified uCON64 will display a warning if it
  1554. could not determine the console type for a file. uCON64 will also display a
  1555. warning if it encounters a file that has the same CRC32 as a file uCON64
  1556. already processed (a "duplicate").<br>
  1557. 2.) When neither -v nor -q is specified uCON64 will display a warning only
  1558. if it finds a duplicate or if the console type of the first file could not
  1559. be determined.<br>
  1560. 3.) When -q is specified uCON64 will display a warning only if the console
  1561. type of the first file could not be determined.<br>
  1562. <br>
  1563. If you had to specify a first file you could suppress the warning about a
  1564. duplicate by using the switch -q. For example:<br>
  1565. &nbsp;&nbsp;ucon64 --mkdat=n64-02062003.dat C:\rom\mario64.v64 C:\rom -q<br>
  1566. <br>
  1567. <p>
  1568. <a name="44"><b>Q44</b>: What tools do you recommend besides uCON64?</a><br>
  1569. <b>A</b>: For SNES, only
  1570. <a href="http://nsrt.nachsoftware.org/files.php">NSRT</a> (Nach's SNES ROM
  1571. Tools). That is, starting from version 3.0 Release Candidate 1. NSRT has some
  1572. features that uCON64 does not have. The two most interesting features are
  1573. arguably that it is able to fix some hacked ROM dumps and that it has an
  1574. internal database on which a lot of effort has been spent to have it contain
  1575. only correct entries (as opposed to GoodSNES and the GoodSNES DAT files).
  1576. What the second feature is concerned let us remind you that the quality of
  1577. uCON64's ROM database support stands or falls with the quality of the DAT
  1578. files. So, if you would create a DAT file of a ROM dump collection processed
  1579. with NSRT uCON64 would get a SNES database that is similar to the one in
  1580. NSRT. See <a href="#43">question 43</a>. Another advantage NSRT has over
  1581. uCON64 (as seen from a SNES user's viewpoint) is that it is written only for
  1582. SNES. NSRT also handles some strange formats that uCON64 does not handle.<br>
  1583. <br>
  1584. <p>
  1585. <a name="45"><b>Q45</b>: What is an interleaved ROM?</a><br>
  1586. <b>A</b>: Strictly speaking, interleaved ROMs do not exist. Interleaved ROM
  1587. dumps do. Or perhaps it is better to say ROM dumps in interleaved format.
  1588. The meaning of "interleaved" depends on the console type. Interleaved
  1589. formats exist for NES, PC-Engine, Genesis, SNES and Nintendo 64.<br>
  1590. Deinterleaving is the opposite of interleaving a ROM dump. It is the process
  1591. of converting the data to "binary" format. Binary in the sense as how the
  1592. data (in a cartridge) is presented to the CPU.<br>
  1593. ROM dumps can be interleaved (not for NES) and deinterleaved with uCON64.<br>
  1594. <br>
  1595. NES<br>
  1596. NES dumps can contain two types of data, "PRG data" and "CHR data".
  1597. Interleaved NES dumps have the PRG data stored at the even offsets in the
  1598. file and the CHR data at the odd offsets. Non-interleaved dumps first
  1599. contain all the PRG data followed by the CHR data (if present).<br>
  1600. Cannot be interleaved with uCON64.<br>
  1601. Can be deinterleaved with uCON64 using the option -dint.<br>
  1602. <br>
  1603. PC-Engine<br>
  1604. Interleaved PC-Engine or TurboGrafx-16 dumps are not produced by a specific
  1605. backup unit. It depends on the HuCARD (PC-Engine/TurboGrafx-16 game
  1606. cartridge). American HuCARDs produce an interleaved dump, because the 8 data
  1607. pins are reversed compared to Japanese HuCARDs. Perhaps "bit-swapped" is a
  1608. better word to describe the format, but using the word interleaved prevents
  1609. confusion (as bit-swapped implies a non bit-swapped reference).<br>
  1610. Can be interleaved with uCON64 using the option -mgd, making the game
  1611. suitable for a TurboGrafx-16. You can use the option -swap afterwards if you
  1612. want to play the game on a PC-Engine.<br>
  1613. Can be deinterleaved with uCON64 using the option -msg.<br>
  1614. <br>
  1615. Genesis<br>
  1616. Interleaved Genesis dumps are produced by the Super Magic Drive and the
  1617. Multi Game Doctor 2.<br>
  1618. For the SMD: for each block of 16384 bytes of the ROM all bytes at even
  1619. offsets are stored in the upper half of the dumped block. The bytes at odd
  1620. offsets are stored in the lower half. So, each dumped block first contains
  1621. 8192 "odd bytes" then 8192 "even bytes".<br>
  1622. For the MGD2: all odd bytes of the file are stored in the first half of the
  1623. file, all even bytes in the second half.<br>
  1624. Can be interleaved with uCON64 using the option -smd or -mgd.<br>
  1625. Can be deinterleaved with uCON64 using the option -bin.<br>
  1626. <br>
  1627. SNES<br>
  1628. Interleaved SNES dumps are produced by the Game Doctor and the Super UFO
  1629. when dumping a HiROM cartridge. The simplest interleaved format first
  1630. contains all upper halfs of each 64 kB block of the ROM (HiROM "banks"),
  1631. then all lower halfs. There are several interleaved formats, but except for
  1632. one they all share the principle of dividing each 64 kB block in two.<br>
  1633. SNES ROMs contain a block of 48 bytes, some call it the internal SNES
  1634. header, that contains information about the ROM. Information like game name,
  1635. checksum, size and the bank type. There are two bank types, HiROM and LoROM
  1636. (as far as we know these are terms not used by Nintendo). HiROM ROMs have
  1637. banks of 64 kB, LoROM ROMs have banks of 32 kB. The first bank contains the
  1638. internal SNES header at a fixed offset relative to the end of the bank.
  1639. However, because the bank sizes differ for HiROM and LoROM the absolute
  1640. locations differ for the two in non-interleaved dumps. If dumps are
  1641. interleaved the absolute locations are the same.<br>
  1642. The interleaved format was probably introduced so that a backup unit <i>can</i>
  1643. (the Game Doctor does only if the dump has no header) always check the same
  1644. location in a dump to tell whether it should handle it as a LoROM or a HiROM
  1645. dump.<br>
  1646. Can be interleaved with uCON64 using the option -gd3 or -ufo.<br>
  1647. Can be deinterleaved with uCON64 using the option -dint, but it is
  1648. better to use one of the regular conversion options -smc, -swc, -fig or
  1649. -mgd. Some SNES tools erroneously interleave LoROM dumps. These dumps
  1650. can be deinterleaved with the options -gd3 and -ufo as well as with the
  1651. aformentioned (SNES) options.<br>
  1652. <br>
  1653. Nintendo 64<br>
  1654. Interleaved Nintendo 64 dumps are produced by the Doctor V64 and the Doctor
  1655. V64 Junior. Perhaps "byte-swapped" is a better term for Nintendo 64 dumps.
  1656. For each two bytes the first and the second byte are swapped.<br>
  1657. Can be interleaved with uCON64 using the option -v64.<br>
  1658. Can be deinterleaved with uCON64 using the option -dint, but it is better to
  1659. use the regular conversion option -z64.<br>
  1660. <br>
  1661. <p>
  1662. <a name="46"><b>Q46</b>: The pre-compiled GNU/Linux binary does not work on my
  1663. system, while a binary compiled by me works fine. How can that be?</a><br>
  1664. <b>A</b>: If you get this output on the command line:<br>
  1665. &nbsp;&nbsp;libgcc_s.so.1: cannot open shared object file: No such file or directory<br>
  1666. Or when the command "ldd discmage.so" gives output that looks like this:<br>
  1667. &nbsp;&nbsp;libz.so.1 => /usr/lib/libz.so.1 (0x4002b000)<br>
  1668. &nbsp;&nbsp;libgcc_s.so.1 => not found<br>
  1669. &nbsp;&nbsp;libc.so.6 => /lib/libc.so.6 (0x40039000)<br>
  1670. &nbsp;&nbsp;/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)<br>
  1671. (note the text "not found") then you are experiencing a binary
  1672. incompatibility problem with the add-on discmage library. You can either
  1673. remove the discmage library from the directory where uCON64 looks for it
  1674. (see <a href="#4">question 4</a>) or compile the library yourself (see
  1675. <a href="#3">question 3</a>).<br>
  1676. <br>
  1677. <p>
  1678. <a name="47"><b>Q47</b>: I use Windows XP (NT/2000) and every time I run uCON64
  1679. I get this error message about ntuser.dat. What does it mean?</a><br>
  1680. <b>A</b>: If you see lines in the display output of uCON64 that look like
  1681. these:<br>
  1682. &nbsp;&nbsp;Create: ntuser.idx<br>
  1683. &nbsp;&nbsp;ERROR: Cannot open "C:\Documents and Settings\Daniel\ntuser.dat" for reading<br>
  1684. you should modify the configuration file so that ucon64_datdir points to
  1685. another directory.<br>
  1686. By default uCON64 will use the home directory as the directory where it
  1687. searches for DAT files (the "DAT file directory"). uCON64 handles all files
  1688. in the DAT file directory that have a name that ends with ".dat" as DAT
  1689. files. ntuser.dat seems to be a standard file in a Windows XP user's home
  1690. directory (and should not be removed), but it is not a DAT file for use with
  1691. uCON64. See <a href="#36">question 36</a> for more information on how to
  1692. configure uCON64 so that it uses "real" DAT files. If you only want to get
  1693. rid of that error message either make ucon64_datdir in the configuration
  1694. file point to an existing directory that does not contain any files with a
  1695. name that ends with ".dat" or make an environment variable with the name
  1696. ucon64_datdir point to such a directory. Do not forget that the environment
  1697. variable will not be set the next time you start a DOS session.<br>
  1698. <br>
  1699. <p>
  1700. <a name="48"><b>Q48</b>: Is there any way to make uCON64 convert a ROM dump to
  1701. Game Doctor SF3/SF6/SF7 format and split it, in one command?</a><br>
  1702. <b>A</b>: Not directly, but it can be done with the help of a shell script or
  1703. batch file. See <a href="#41">question 41</a> for some information on how to
  1704. make a shell script or batch file run. Here is a Bash script:<br>
  1705. &nbsp;&nbsp;#! /bin/bash<br>
  1706. <br>
  1707. &nbsp;&nbsp;usage ()<br>
  1708. &nbsp;&nbsp;{<br>
  1709. &nbsp;&nbsp; echo "Usage: $0 file_to_convert_and_split"<br>
  1710. &nbsp;&nbsp; exit<br>
  1711. &nbsp;&nbsp;}<br>
  1712. <br>
  1713. &nbsp;&nbsp;GD3DIR="convert"<br>
  1714. &nbsp;&nbsp;SPLITDIR="split"<br>
  1715. <br>
  1716. &nbsp;&nbsp;if [ ! -n "$1" ]; then usage; fi<br>
  1717. &nbsp;&nbsp;if [ ! -e "$1" ]; then usage; fi<br>
  1718. <br>
  1719. &nbsp;&nbsp;if [ ! -e "$GD3DIR" ]; then mkdir "$GD3DIR"; fi<br>
  1720. &nbsp;&nbsp;if [ ! -e "$SPLITDIR" ]; then mkdir "$SPLITDIR"; fi<br>
  1721. <br>
  1722. &nbsp;&nbsp;rm -f "$GD3DIR"/*<br>
  1723. &nbsp;&nbsp;rm -f "$SPLITDIR"/*<br>
  1724. <br>
  1725. &nbsp;&nbsp;ucon64 -q -gd3 "$1" -o "$GD3DIR"<br>
  1726. &nbsp;&nbsp;ucon64 -q -s "$GD3DIR"/* -o "$SPLITDIR"<br>
  1727. <br>
  1728. And here is a batch file:<br>
  1729. &nbsp;&nbsp;@echo off<br>
  1730. <br>
  1731. &nbsp;&nbsp;set GD3DIR="convert"<br>
  1732. &nbsp;&nbsp;set SPLITDIR="split"<br>
  1733. <br>
  1734. &nbsp;&nbsp;if .==.%1 goto usage<br>
  1735. &nbsp;&nbsp;if not exist %1 goto usage<br>
  1736. <br>
  1737. &nbsp;&nbsp;if not exist %GD3DIR% mkdir %GD3DIR%<br>
  1738. &nbsp;&nbsp;if not exist %SPLITDIR% mkdir %SPLITDIR%<br>
  1739. <br>
  1740. &nbsp;&nbsp;del /q %GD3DIR%\*<br>
  1741. &nbsp;&nbsp;del /q %SPLITDIR%\*<br>
  1742. <br>
  1743. &nbsp;&nbsp;ucon64 -q -gd3 %1 -o %GD3DIR%<br>
  1744. &nbsp;&nbsp;ucon64 -q -s %GD3DIR%\* -o %SPLITDIR%<br>
  1745. &nbsp;&nbsp;goto exit<br>
  1746. <br>
  1747. &nbsp;&nbsp;:usage<br>
  1748. &nbsp;&nbsp;echo Usage: %0 file_to_convert_and_split<br>
  1749. <br>
  1750. &nbsp;&nbsp;:exit<br>
  1751. <br>
  1752. Say you saved the batch file to the name cs.bat, then you can convert a
  1753. file to Game Doctor format and split it with:<br>
  1754. &nbsp;&nbsp;cs somegame.swc<br>
  1755. Afterwards you can find a file in Game Doctor format in the directory
  1756. convert and the split parts in the directory split. Modify the scripts above
  1757. if you want them to make uCON64 write its output to other directories. Do
  1758. <i>not</i> make GD3DIR or SPLITDIR point to the current directory or to your
  1759. SNES ROM directory as the scripts will remove all files in the directories
  1760. pointed to by GD3DIR or SPLITDIR. Starting with empty directories is the
  1761. main reason why the scripts work (actually, this is only true for GD3DIR).<br>
  1762. <br>
  1763. <p>
  1764. <a name="49"><b>Q49</b>: How do I use the command line?</a><br>
  1765. <b>A</b>: There are some commands that are very common when using uCON64. I will
  1766. only explain how to use those. Search the internet if you want to know more.<br>
  1767. First read the section <a href="#cmdline">"The command line environment"</a>.
  1768. The first principle you should understand is how the space on your hard
  1769. disk(s) is organised. Before an operating system is able to use a hard disk
  1770. it needs to have a <i>file system</i>. A hard disk can contain several file
  1771. systems. On DOS and Windows each file system is called a "<i>drive</i>" and
  1772. gets assigned a drive letter. A file system can store files and
  1773. <i>directories</i>. Directories can be seen as special files that themselves
  1774. "contain" files and directories. By using directories it is possible to
  1775. quickly oversee the structure of a file system and keep it organised. On
  1776. GNU/Linux file systems are visible in the directory structure (e.g.
  1777. /mnt/windows). With Windows XP it is possible to make file systems
  1778. visible/accessible in the same manner.<br>
  1779. When using the command line there is something called the <i>current
  1780. directory</i>. The current directory is like an implicit directory. Several
  1781. commands and programs use the current directory when a directory is not
  1782. explicitly specified. For example, the command <b>dir</b> (UNIX: <b>ls</b>)
  1783. lists the contents of a directory. When you do not specify a directory it
  1784. will list the contents of the current directory. You can change the current
  1785. directory with the command <b>cd</b>. For example, to change the current
  1786. directory to "roms" on drive C: type:<br>
  1787. &nbsp;&nbsp;cd C:\roms<br>
  1788. On DOS and Windows there is also a <i>current drive</i>. You can change the
  1789. current drive by specifying the drive letter followed by a colon. For example
  1790. to change the current drive to D: type:<br>
  1791. &nbsp;&nbsp;d:<br>
  1792. On DOS and Windows the current directory is a bit different than it is on
  1793. UNIX: each drive has its own current directory. It is possible to change the
  1794. current directory of a drive while the current directory of the current drive
  1795. is not changed. The first example with <b>cd</b> does just that when C: is
  1796. not the current drive. When C: was the current drive you would not have to
  1797. specify the drive letter as the command line interpreter would assume you
  1798. intended to change the current directory of C:. When a text refers to the
  1799. current directory on DOS and Windows the author usually means the combination
  1800. of current drive and current directory. In other words, when directed to
  1801. change the current directory to C:\ucon64 you actually have to change the
  1802. current drive to C: and the current directory on C: to ucon64.<br>
  1803. Let us assume you have the following directory structure:<br>
  1804. &nbsp;&nbsp;C:<br>
  1805. &nbsp;&nbsp;+--roms<br>
  1806. &nbsp;&nbsp;|&nbsp;+--snes<br>
  1807. &nbsp;&nbsp;|&nbsp;|&nbsp;+--gd3<br>
  1808. &nbsp;&nbsp;|&nbsp;+--n64<br>
  1809. &nbsp;&nbsp;+--tmp<br>
  1810. &nbsp;&nbsp;D:<br>
  1811. &nbsp;&nbsp;+--roms<br>
  1812. &nbsp;&nbsp;&nbsp;&nbsp;+--sms<br>
  1813. <br>
  1814. To change the current directory (of drive C:) to C:\roms\snes\gd3 type:<br>
  1815. &nbsp;&nbsp;cd C:\roms\snes\gd3<br>
  1816. You can see that each directory is separated from its parent by a backslash
  1817. ('\'). On UNIX (or Bash on Windows) you would refer to the same directory by
  1818. replacing the backslashes with forward slashes and perhaps replacing "C:"
  1819. with the appropriate mount point (e.g., /mnt/windows/roms/snes/gd3). Note
  1820. that "C:" is a valid directory name on a GNU/Linux file system.<br>
  1821. You can refer to the other directories (and files) in a relative manner. Say
  1822. C:\roms\snes contains the file Secret&nbsp;of&nbsp;Mana&nbsp;(U).swc. You can
  1823. make uCON64 display information about that file with:<br>
  1824. &nbsp;&nbsp;ucon64 "C:\roms\snes\Secret&nbsp;of&nbsp;Mana&nbsp;(U).swc"<br>
  1825. but also with:<br>
  1826. &nbsp;&nbsp;ucon64 "..\Secret&nbsp;of&nbsp;Mana&nbsp;(U).swc"<br>
  1827. The quotes are necessary or else uCON64 would handle Secret, of, Mana and
  1828. (U).swc as separate files. This is usual behaviour for command line programs,
  1829. it is not specific to uCON64.<br>
  1830. ".." is a special directory. Each directory contains two special directories,
  1831. "." and "..". "." refers to the current directory, ".." to the directory one
  1832. level higher in the directory structure. For example, to see the contents of
  1833. the directory "roms" you could type:<br>
  1834. &nbsp;&nbsp;dir C:\roms<br>
  1835. but also:<br>
  1836. &nbsp;&nbsp;dir ..\..<br>
  1837. Or on UNIX:<br>
  1838. &nbsp;&nbsp;ls ../..<br>
  1839. C:\roms\snes is called a <i>path</i>. To be more specific, an <i>absolute
  1840. path</i>. It is the path to follow in the directory structure to get to the
  1841. file Secret&nbsp;of&nbsp;Mana&nbsp;(U).swc. "..\.." is a <i>relative
  1842. path</i>. In C:\roms\snes "..\.." refers to another directory than in
  1843. C:\roms\snes\gd3 (C:\ and C:\roms respectively). To change the current
  1844. directory to C:\roms\snes type:<br>
  1845. &nbsp;&nbsp;cd ..<br>
  1846. Say you want to convert Secret&nbsp;of&nbsp;Mana&nbsp;(U).swc to Game Doctor
  1847. format, place the converted file in C:\roms\snes\gd3, split that file in
  1848. pieces, place those pieces in C:\tmp and transfer the pieces to a Game Doctor
  1849. SF7. You could type the following commands:<br>
  1850. &nbsp;&nbsp;ucon64 -gd3 "Secret&nbsp;of&nbsp;Mana&nbsp;(U).swc" -o .\gd3<br>
  1851. &nbsp;&nbsp;ucon64 -s gd3\sf16Sec -o C:\tmp<br>
  1852. &nbsp;&nbsp;ucon64 -xgd3 ..\..\tmp\SF16SECA.078<br>
  1853. <br>
  1854. Besides <b>dir</b> (UNIX: <b>ls</b>) and <b>cd</b> there are some other
  1855. commands that you may find useful:<br>
  1856. <b>del</b> (UNIX: <b>rm</b>) to delete or remove a file<br>
  1857. <b>xcopy</b> (UNIX: <b>cp</b>) to copy a file<br>
  1858. <b>md</b> (UNIX (and Windows): <b>mkdir</b>) to create a directory<br>
  1859. <b>rd</b> (UNIX (and Windows): <b>rmdir</b>) to remove a directory<br>
  1860. <b>set</b> (UNIX (Bash): <b>export</b>) to set (and export) an environment
  1861. variable<br>
  1862. <b>rmdir</b> cannot remove a directory if there are still files (or
  1863. directories) in it. On DOS and Windows you can get more information about
  1864. these commands by using the option /?. On UNIX the equivalent is --help. For
  1865. example, if you want to get more information about <b>del</b> you could type:<br>
  1866. &nbsp;&nbsp;del /?<br>
  1867. <br>
  1868. Here follows a final example that uses the commands mentioned above:<br>
  1869. &nbsp;&nbsp;cd \<br>
  1870. &nbsp;&nbsp;md test<br>
  1871. &nbsp;&nbsp;cd test<br>
  1872. &nbsp;&nbsp;xcopy "C:\roms\snes\Secret&nbsp;of&nbsp;Mana&nbsp;(U).swc" mana.swc<br>
  1873. &nbsp;&nbsp;set parport=378<br>
  1874. &nbsp;&nbsp;ucon64 -xswc mana.swc<br>
  1875. &nbsp;&nbsp;del mana.swc<br>
  1876. &nbsp;&nbsp;cd ..<br>
  1877. &nbsp;&nbsp;rd test<br>
  1878. <br>
  1879. First the current directory is changed to C:\. Then the directory "test" is
  1880. created. Then the current directory is changed to "test". Then the file
  1881. C:\roms\snes\Secret&nbsp;of&nbsp;Mana&nbsp;(U).swc is copied to the file
  1882. mana.swc. Then an environment variable with the name parport is set to the
  1883. value 378. Then uCON64 is used to transfer mana.swc to a Super Wild Card
  1884. while using parallel port address 0x378. Then the file mana.swc is removed.
  1885. Finally the directory "test" is removed.<br>
  1886. <br>
  1887. <p>
  1888. <a name="50"><b>Q50</b>: I configured uCON64 to use ppdev and tried to send a
  1889. file to my backup unit as a regular user. I got an error message that the
  1890. parallel port device could not be opened. What did I do wrong?</a><br>
  1891. <b>A</b>: There are two possibilities:<br>
  1892. 1.) You specified an incorrect parallel port device in the configuration
  1893. file.<br>
  1894. In most cases the correct device is /dev/parport0. Only change the device
  1895. name if you are sure /dev/parport0 is not the device associated with the
  1896. parallel port your backup unit is connected to. Try for example /dev/parport1
  1897. or /dev/parport2.<br>
  1898. 2.) You do not have the required privileges.<br>
  1899. It is true that regular users can transfer files to and from their backup
  1900. units (without the executable being setuid root), but that does not mean
  1901. <i>any</i> user can do that. It is quite common that only users in the group
  1902. "lp" have access to /dev/parport&#60;n&#62;. So, you should add yourself to
  1903. that group. Say your login name is helanren. User root could use the
  1904. following command to give you the privilege to use /dev/parport0:<br>
  1905. &nbsp;&nbsp;usermod -G `echo \`id -Gn helanren\` | sed "s/ /,/g"`,lp helanren<br>
  1906. Explanation:<br>
  1907. <b>usermod -G &#60;groups&#62; helanren</b> is used to make helanren a member
  1908. of those groups.<br>
  1909. <b>id -Gn helanren</b> lists the groups helanren is currently a member of,
  1910. separated by spaces.<br>
  1911. <b>sed "s/ /,/g"</b> replaces all spaces with commas.<br>
  1912. <br>
  1913. You may have to log off and on again, before the changes take effect.<br>
  1914. <br>
  1915. <p>
  1916. <a name="51"><b>Q51</b>: What do I need to do before I can upload files to my
  1917. Flash 2 Advance?</a><br>
  1918. <b>A</b>: Download the package that contains the support files from
  1919. <a href="http://ucon64.sourceforge.net/">the uCON64 homepage</a>.
  1920. Extract the package and update the configuration file. See
  1921. <a href="#configbin">"How to configure the uCON64 executable"</a>.
  1922. If you want to use the parallel port version of the F2A, you should set at
  1923. least the variable iclientp. If you want to send multiple files to your F2A,
  1924. also set gbaloader. If you want to see a different background while
  1925. uploading, set ilogo.<br>
  1926. The USB version of the F2A is currently only supported on GNU/Linux. If you
  1927. want to use the USB version, you should set at least the variables
  1928. f2afirmware and iclientu. If you want to send multiple files to your F2A, set
  1929. gbaloader. Additional requirements are:<br>
  1930. - <a href="http://libusb.sourceforge.net/">libusb</a>
  1931. (included in recent GNU/Linux distributions)<br>
  1932. - usbdevfs has to be mounted (most (?) distributions have usbdevfs mounted by
  1933. default, but you can do it manually with "mount -t usbdevfs none
  1934. /proc/bus/usb")<br>
  1935. - if you use Linux 2.4 or older then the EZUSB2131 firmware upload driver has
  1936. to be loaded, see <a href="http://ezusb2131.sourceforge.net/">
  1937. http://ezusb2131.sourceforge.net/</a><br>
  1938. - if you use Linux 2.5 or later fxload should be present in /sbin<br>
  1939. - you need to have read/write access to /proc/ezusb and /proc/bus/usb, so you
  1940. have to run uCON64 as root (or setuid root) for the USB version of the F2A<br>
  1941. <br>
  1942. By default, uCON64 tries to access a parallel port to communicate with an
  1943. F2A. In order to make uCON64 communicate with an F2A connected to a USB
  1944. port, use the switch -port. For example:<br>
  1945. &nbsp;&nbsp;ucon64 -xf2a "Wario Ware Inc.zip" -port=usb<br>
  1946. uCON64 detects to which USB port the F2A is connected, so you do not have to
  1947. specify a specific port.<br>
  1948. <br>
  1949. <p>
  1950. <a name="52"><b>Q52</b>: What is the option --xreset for? In what case should it
  1951. be used?</a><br>
  1952. <b>A</b>: Simply put, this option removes power from the parallel port, until
  1953. you next use the parallel port (it sets all data lines low, to avoid
  1954. latch-up).<br>
  1955. Before running uCON64, power is sometimes present on the parallel port. If
  1956. power is present and you connect a device that is not switched on, power
  1957. will "back-feed" into the device from the parallel port, potentially
  1958. damaging the device and the PC.<br>
  1959. By using the --xreset command <i>before</i> attaching your device, power is
  1960. removed from the parallel port, eliminating the hazard.<br>
  1961. Likewise, a danger exists when you have finished using your device and
  1962. switch the power off.<br>
  1963. Normally, uCON64 will remove power from the parallel port when the transfer
  1964. has finished, but if you abort uCON64 part-way, power may still be present.
  1965. In this case, use --xreset before switching the device off.<br>
  1966. Additionally, after switching the device off, aim to disconnect it as soon
  1967. as possible. Printing, rebooting, and running certain applications may cause
  1968. power to be re-applied to the parallel port -- a back-feed hazard.<br>
  1969. <br>
  1970. <p>
  1971. <br>
  1972. <br>
  1973. <br>
  1974. <br>
  1975. <br>
  1976. <br>
  1977. <br>
  1978. <br>
  1979. <br>
  1980. <br>
  1981. <br>
  1982. <br>
  1983. <br>
  1984. <br>
  1985. <br>
  1986. <br>
  1987. <br>
  1988. <br>
  1989. <br>
  1990. <br>
  1991. <br>
  1992. <br>
  1993. <br>
  1994. <br>
  1995. <br>
  1996. <br>
  1997. <br>
  1998. <br>
  1999. <br>
  2000. <br>
  2001. <br>
  2002. <br>
  2003. <br>
  2004. <br>
  2005. <br>
  2006. </tt></body></html>