home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 17 / amigaformatcd17.iso / -in_the_mag- / emulation / dream102 / dream102.doc < prev    next >
Text File  |  1997-07-01  |  29KB  |  861 lines

  1. DREaM V1.02
  2. ===========
  3.  
  4. Written By Sean Siford, (C) 1995-1997.
  5.  
  6.  
  7.  
  8. What is DREaM?
  9. ==============
  10.  
  11. DREaM is a Dragon 32/64 Tandy CoCo emulator for the Amiga.
  12.  
  13. The emulator supports most of the hardware that the machines above do, 
  14. with the most notable exceptions being a few screen modes and audio 
  15. cassette loading and saving.
  16.  
  17.  
  18.  
  19. System Requirements
  20. ===================
  21.  
  22. The emulator requires a minimum of a 68020 microprocessor
  23. (sorry 68000 and 68010 owners), and V1.3 or better of the operating
  24. system.
  25.  
  26. A minimum of 450K of free ram (preferably fast ram, though about 75K needs
  27. to be chip) should be available on running the emulator.
  28.  
  29. The emulator has been tested on versions 1.3 and 2.04 and 3.0, but may well
  30. work under 1.2 also.  Not having access to a machine running V3.1 of the 
  31. operating system, I am unable to say whether the emulator runs under it, but 
  32. there should be no reason why it should not.
  33.  
  34. The emulator has very few additional requirements:
  35.  
  36. The emulator uses Reqtools.library, which needs to be present in the Libs: 
  37. directory of your boot device in order for it to run.  The versions for
  38. V1.3 and V2.0 and above can be found in the Reqtools directory found in the
  39. archive.
  40.  
  41. Also, a copy of the ROMS of the machines that you wish to emulate need to 
  42. be accessible to the emulator on startup.  
  43.  
  44. The emulator expects the images for each ROM to be named as follows:
  45.  
  46. Dragon 32    -    dragon32.rom
  47. Tandy Coco    -    Tandy.ROM
  48. Dragon 64    -    dragon64_1.ROM (32k compatible)
  49.             dragon64_2.ROM (64K Basic ROM)
  50.  
  51. The emulator expects these images to be found on the volume DRAGON:.
  52. The ROM image is not supplied with the emulator, for legal reasons - if 
  53. you find it with the archive, someone else has included it with the 
  54. archive - not me..
  55.  
  56. So, you will need to create an assign called DRAGON: where the ROM files 
  57. can be found:
  58.  
  59. E.g. If the ROM file could be found in Work:Emulators/DREaM/
  60.  
  61. assign DRAGON: Work:Emulators/DREaM/
  62.  
  63. A ROM image can be found in a archive - 6809Roms.Zip, which is available 
  64. at several FTP sites, and also the Dragon WWW home page.  The files 
  65. within this archive are in the .DGN format, which is used by Paul 
  66. Burgin's PC-Dragon & T3 emulators for the IBM PC.
  67.  
  68. The image cannot be used by the emulator directly, but can be converted
  69. into suitable form using the ConvROM utility provided in the archive.
  70.  
  71. For details on the ConvROM utility and others supplied with the emulator,
  72. see the section on "Conversion Utilities".
  73.  
  74. Please note that not all of the ROM files are required to use the emulator,
  75. and it will allow the use of the various available architectures depending
  76. on the ROM files available.
  77.  
  78.  
  79.  
  80. What's new?
  81. ===========
  82.  
  83. Those of you who used the previous version of the emulator (V1.0ß) will note
  84. that there are two versions of the emulator as last time.  However, the two
  85. versions in this release do not differ in the way that the display is
  86. emulated, but instead the 6809 emulation differs slightly.
  87.  
  88. (For those of you reading this who didn't use the last version, one version
  89. of the emulator used the copper for the display emulation.  This has been
  90. dropped, and now no special copperlists are used to emulate the display.).
  91.  
  92. The two versions of the emulator consist of one version where the speed can
  93. be adjusted, and one where it cannot.  (These are called DREaM_Cyc and 
  94. DREAM_NoCyc respectively).
  95.  
  96. The reason for producing two versions is that the speed of emulation is 
  97. controlled by counting the number of cycles elapsed within a 50th of a 
  98. second.  This introduces some overhead which slows the emulation down.
  99. Therefore, users with less powerful machines may find that the version 
  100. where the speed cannot be altered runs faster.
  101.  
  102. The emulator can now also be configured, and this configuration can now be
  103. saved.  The configuration is saved as Dragon_Config in the DRAGON: volume,
  104. and is loaded when the emulator is loaded again.
  105.  
  106. The various items to be configured can be viewed using the 'Set Config' 
  107. option on the main window on the workbench screen.
  108.  
  109. The type of joystick emulation, keyboard emulation (CoCo / Dragon) and
  110. update rates for each of the main modes that the emulator supports can now 
  111. be controlled.
  112.  
  113. The emulator now supports an artifacing-like mode.
  114. This attempts to imitate the red or blue fringing which is seen on 
  115. televisions, and are used by some programmers to make 2-colour games look
  116. much better.
  117.  
  118. There are also a few new keys available while the emulation is running.
  119. The F4 and F5 keys can be used to flip between Dragon and CoCo keyboards,
  120. so as you don't need to go to the configuration part of the emulator to 
  121. change the keyboard.
  122.  
  123. The emulator also can emulate the effect of artifacing in Mono black &
  124. white modes, which can improve the look of games written to take 
  125. advantage of the effect (E.g. Mr Dig & Zaxxon).  This can be selected
  126. by using the F6 (blue), F7 (red) and F8 (normal) keys.
  127.  
  128. Also, now you can flip-back to the emulator window on the workbench and
  129. pause the emulator at the same time by pressing the F10 Key.
  130.  
  131. Also, you can now load snapshots compressed with XPK.  However, the 
  132. emulator doesn't currently support saving compressed snapshots.
  133.  
  134. Also, the emulator supports cartridge files now, which can be loaded in
  135. the same way as snapshots.  These are started by performing a hard reset
  136. of the emulator.  To purge a cartridge from memory, use the 
  137. 'Wipe Cartridge' option on the main control window.
  138.  
  139. Oh yes, also you can now switch between Dragon 32, 64 & Tandy Coco
  140. emulation!
  141.  
  142.  
  143.  
  144. Features
  145. ========
  146.  
  147. As previously mentioned, the emulator supports the vast majority of the
  148. Dragon's hardware including display, 6809, Peripheral Interface Adaptors
  149. (including Sound and Parallel port emulation).
  150.  
  151. The emulator also allows the loading and saving of cassette data through
  152. use of 'virtual cassettes'.  Virtual cassettes are files that hold the
  153. binary content of Dragon audio cassettes, and are used by the T3,
  154. PC-Dragon and CoCo Dragon / Tandy CoCo emulators available for the PC.
  155.  
  156. DREaM can load and save these files without any conversion.
  157.  
  158. Currently there is no program in the Amiga that converts Dragon audio
  159. cassettes into the virtual cassette format, although PC-Dragon and CoCo
  160. both contain programs to perform this task.  This is something I hope
  161. to include with the emulator at a later date.
  162.  
  163. The emulator also supports snapshots, which allows programs to be saved
  164. during execution of the emulator, and reloaded at a later point in time.
  165.  
  166. The snapshot format used by the emulator is not compatible with the .PAK
  167. snapshots saved by CoCo and PC-Dragon, or the .D32,.D64,.D96 snapshots 
  168. saved by PC-Dragon.  There are two utilities supplied with the emulator
  169. which convert files between the .PAK/.D?? formats saved by PC-Dragon and
  170. those used by this emulator, and vica versa.
  171.  
  172.  
  173. Please note that the emulator now supports loading snapshots packed with 
  174. XPK, if the relevant compression library is available.  However, the 
  175. emulator will not saved compressed snapshots.  I would ask that you do 
  176. not upload compressed snapshots to anywhere, as it may be that the 
  177. downloader does not have XPK, and so cannot use the snapshot.
  178.  
  179. As you may already be aware, there are actually two versions of the 
  180. emulator supplied.  The emulators are the same in all but two respects.
  181.  
  182. The first difference is that one version (DREaM_Cyc) allows the speed of
  183. emulation to be controlled, whereas the other (DREaM_NoCyc) does not allow
  184. this facility.  You may think that it is strange that this has been done.
  185.  
  186. The reason for the two versions is that the speed is controlled by counting
  187. the number of cycles elapsed in a given time, and if this total is exceeded
  188. then the emulation is paused for a short while.  However, every instruction
  189. executed needs to have the number of cycles it 'consumes' taken into 
  190. account, which causes execution of the emulator to be slowed.  
  191.  
  192. For those with faster machines, the cycle counting makes very little 
  193. difference, but for those who have slower machines the difference can mean
  194. that the speed of execution is slower by a fair amount.  For more 
  195. information on this facility, see the section on "The control windows".
  196.  
  197. The second difference concerns the generation of sound.  For more 
  198. information, on this see the section on "Sound Support".
  199.  
  200.  
  201.  
  202.  
  203. The virtual cassettes
  204. =====================
  205.  
  206. As previously mentioned, the emulator supports saving and loading of 
  207. virtual cassette files, using the normal CLOAD, CLOADM, CSAVE and CSAVEM
  208. commands in basic.
  209.  
  210. When the user attempts to load a cassette when no opened cassette exists, 
  211. the user will be asked to specify a cassette file to use using a requester.
  212.  
  213. This cassette file will be used for all input until the end is reached, 
  214. the user resets the input cassette file, or a hard reset is issued.
  215.  
  216. The save cassette file works in a similar way.  When the user first
  217. attempts to save a file (using CSAVE, CSAVEM) the user is asked for the 
  218. name of a file that output is to be sent to.
  219.  
  220. All cassette output will be directed to this file until the output
  221. cassette is reset, or a hard reset occurs.
  222.  
  223. Any open cassette files are closed on a hard reset.
  224.  
  225.  
  226.  
  227.  
  228. The emulator display and control windows
  229. ========================================
  230.  
  231. The emulator is split into three parts, the control window, the 
  232. configuration window and the main emulator display screen.
  233.  
  234. The control window (resides on the Workbench screen) is used to (amongst 
  235. other things) start, stop reset the emulator.
  236.  
  237. The configuration window (obtained using the 'Set Config' button on the
  238. control window) allows various parts of the emulator to be configured.
  239.  
  240. (Please note that the emulator is paused whilst the window is displayed,
  241. and that the control window is also inactive until the configuration window
  242. is closed).
  243.  
  244. The emulator display screen is used when 'communicating' with the Dragon.
  245. When the emulator is started, the display flips to the emulator display.
  246.  
  247. The pointer should then change to a Dragon to indicate that all
  248. keypresses are re-directed to the emulated Dragon.  In order to select an 
  249. operation from the control window, flip back to the workbench screen and 
  250. select it, or press the F10 key.
  251.  
  252. Note, it is important to remember to click on the emulator screen
  253. again in order to 'talk' to the Dragon if you manually flip to the 
  254. workbench!
  255.  
  256. The Buttons on the Control Window
  257. ----------------------------------
  258.  
  259. Load Snapshot , Save Snapshot
  260. -----------------------------
  261.  
  262. Allows snapshots and cartridge files to be saved and loaded.
  263.  
  264.  
  265. Reset Inp Cassette , Reset Output Cassette
  266. ------------------------------------------
  267.  
  268. These buttons are used to reset the input and output virtual cassettes.
  269. These are used to allow new virtual cassettes to be selected for reading
  270. or writing.
  271.  
  272.  
  273. Hard Reset , Soft Reset
  274. -----------------------
  275.  
  276. Performs either a hard (power off) or a soft (reset button) reset on the
  277. emulator.  Soft resets can be used to get back to BASIC without destroying
  278. the contents of the Dragon's RAM.  However, some programs bypass this to the
  279. only way to get back to BASIC is to perform a hard reset.
  280.  
  281.  
  282. Set ParRecord / Stop ParRecord
  283. ------------------------------
  284.  
  285. This button is used to start and stop the re-direction of parallel port
  286. output to a file.
  287.  
  288.  
  289. Sound On / Off
  290. --------------
  291.  
  292. This button is used to switch on or off sound output for the emulator.
  293.  
  294.  
  295. Set Config
  296. ----------
  297.  
  298. This button is used to display the configuration window which is used to
  299. configure various parts of the emulation.
  300.  
  301.  
  302. Save Config
  303. -----------
  304.  
  305. This button is used to save the current configuration to disk, so as it
  306. will be reloaded when the emulator is next started.
  307.  
  308.  
  309. Pause / Run
  310. -----------
  311.  
  312. This button is used to pause or allow the emulation to run.
  313.  
  314.  
  315. Wipe Cartridge
  316. --------------
  317.  
  318. This button is used to remove a currently loaded cartridge from memory,
  319. and also resets the emulated machine at the same time.
  320.  
  321.  
  322. Configuration Window
  323. --------------------
  324.  
  325. The configuration window allows the user to configure certain parts of the
  326. emulation's operation.  The window is divided up into the following 
  327. sections:
  328.  
  329. Machine:
  330.  
  331. This section allows you to select the architecture that you wish the 
  332. emulator to run in.  The actual architectures that can be selected 
  333. depends on the ROM files available and also available RAM (D64 emulation
  334. requires more memory than D32 / Tandy Coco).
  335.  
  336.  
  337. Artifacing:
  338.  
  339. This section allows the user to select whether atrifacing is emulated.
  340. Artifacing is a fringing effect which is generated when viewing monochrome
  341. modes (white on black) on televisions.  These effects were used by some 
  342. games programmers to improve the look of Dragon/CoCo games.
  343.  
  344. The effect is the same as PC-Dragon and CoCo emulators on the PC perform it
  345. (I like the effect anyway).  This is only available in monochrome modes
  346. with a black and white palette.  If you're not convinced that this looks
  347. good, look at Buzzard Bait, Mr Dig or Zaxxon!
  348.  
  349. Blue, Red or No artifacing can be selected.  Also in this group the
  350. intensity of the artifacing can be selected.
  351.  
  352. The following keys can be used during the emulation to select the 
  353. artifacing mode:
  354.  
  355. Key    | Artifacing Mode
  356. -------+---------------------------------------------
  357. F6     | Blue
  358. F7     | Red
  359. F8     | Normal
  360.  
  361.  
  362. Display Config:
  363.  
  364. The display configuration section allows the user to configure the frame
  365. update rate and text block update rate (for text modes) for the major
  366. modes supported by the emulator.
  367.  
  368. The button at the top of the section is a cycle button, which allows the
  369. mode currently being configured to be selected.  (Apologies that it 
  370. doesn't look like a cycle button, hopefully the next version will fix 
  371. this!).
  372.  
  373. The 'frames before display update' slider allows the number of frames
  374. before the screen is updated to be altered.  A 'Frame' is a 50th of a
  375. second.
  376.  
  377. The 'text blocks per update' slider is used to define the maximum number 
  378. of blocks that can be updated per screen update in text modes.
  379.  
  380. Text modes only update the display when a change occurs, so the number 
  381. of text blocks to update will not have a significant impact on 
  382. performance if little changes on the display.
  383.  
  384. However, if large sections of the display change in text modes (especially
  385. high-resolution ones), then this can severely reduce the performance of
  386. the emulator if many 'blocks' are updated at a time.
  387.  
  388. The values are set (by default) so as the whole screen in each mode can be
  389. updated at once.  However, the user may which to change this to reduce
  390. the overhead of screen updates.
  391.  
  392. A 'block' (as the emulator counts them) is equal to the number of bytes
  393. displayed in the mode, divided by 2.  Therefore, in 32 x 16 text mode
  394. there are 256 such blocks.
  395.  
  396. Miscellaneous Options:
  397.  
  398. This section contains two sliders.
  399.  
  400. The topmost slider is used to set the number of 50ths of a second which 
  401. elapse before an IRQ is generated by the emulated Dragon's hardware.
  402. On the Dragon, IRQ interrupts occur every 50th of a second.
  403.  
  404. The lower slider is used to control the speed of the emulation.  
  405.  
  406. (NOTE: This is disabled on the non-cycle counting version of the 
  407. emulator.)
  408.  
  409. The slider allows the maximum speed of the emulation to be set from
  410. %50 of the speed of a normal Dragon to %500, in increments of %50.
  411.  
  412. The slider actually shows the speed in terms of cycles per 50th of a
  413. second.  This ranges from 9,000 up to 90,000.  This is based on a 
  414. 0.9 Mhz 6809 performing 18,000 cycles in a 50th of a second.
  415.  
  416. Please note that any time that the emulator is not using for the
  417. emulation is made available to other tasks - no busy waiting
  418. occurs.
  419.  
  420. Joystick / Keyboard Sections:
  421.  
  422. The joystick and keybaord sections allow the type of joystick and
  423. keyboard emulation emulation to be altered.
  424.  
  425. The joystick option allows the emulation of digital, analogue or
  426. self-centering analogue joysticks.  The keybaord section allows
  427. either the normal Dragon keyboard to be emulated, or for the
  428. keybaord emulation to emulate a Tandy Coco keyboard at the hardware
  429. level.
  430.  
  431. See the section below on "Joystick / Keyboard Support" for more 
  432. information.
  433.  
  434.  
  435.  
  436. Keyboard / Joystick Support
  437. ===========================
  438.  
  439. The emulator allows the emulation of the Coco keyboard at hardware level
  440. in addition to the normal Dragon keyboard.  This can be selected in the
  441. configuration window, but can also be selected whilst viewing the 
  442. emulator's screen.
  443.  
  444. The following keys are used to select the keyboard mode:
  445.  
  446. Key    | Emulation
  447. -------+---------------------------------------------
  448. F4     | Hardware emulates the Dragon keyboard.
  449. F5     | Hardware emulates the Coco keyboard.
  450.  
  451.  
  452. Both of the right and left joysticks on the Dragon are supported by the
  453. emulator, and the user also has the option to change the joystick
  454. emulation used by the emulator.
  455.  
  456. The Dragon's right joystick is used by plugging a digital joystick into
  457. the left hand port (?!) (the one not used for the mouse).
  458.  
  459. The left hand joystick is emulated using the cursor keys on the keypad,
  460. with the Help key being used as the fire button for the left joystick.
  461.  
  462. The joystick emulation methods are as follows:
  463.  
  464. Key     | Emulation
  465. --------+--------------------------------------------
  466. F1      | Digital joystick emulation, the default
  467. F2      | A non-centring analogue joystick emulation
  468. F3      | A self-centring analogue joystick
  469.  
  470. Digital Joystick       Whatever direction(s) you press, the emulation
  471.                        assumes that the joystick is being pushed in those
  472.                        directions fully.
  473.  
  474. Analogue Joystick      An emulated analogue joystick, the more you hold
  475.                        down a direction, the more the emulated joystick is
  476.                        moved toward the direction pressed.  This occurs
  477.                        until the user stops pushing the joystick in that
  478.                        direction.
  479.  
  480. Self-Centring Analogue This is similar to the analogue emulation, but when
  481.                        the user stops pressing the joystick or key for a
  482.                        direction, the joystick automatically moves toward
  483.                        the centre.
  484.  
  485. The emulator does not support use of analogue joysticks in the left
  486. joystick port on the Amiga, because the gameport.device does not
  487. support them.
  488.  
  489. Please note: If the emulator is not able to allocate the left joystick
  490. port for it's own use on startup, then both left and right joysticks are
  491. emulated using the keypad keys.
  492.  
  493. A short note about the A1200:
  494. -----------------------------
  495.  
  496. As you may already be aware, the A1200's keyboard is not able to determine
  497. when more than one key is pressed at a time with certain key combinations.
  498.  
  499. Unfortunately, this means that the joystick emulation for the left 
  500. joystick (which uses the keyboard) is affected by this limitation.
  501. This stops a horizontal direction and a vertical direction being selected 
  502. at the same time.  Obviously, this isn't good, and I may solve this by
  503. moving the Dragon's cursor keys to the keypad and using the Amiga's cursor
  504. keys for the joystick emulation.  However, at present this is something 
  505. that will have to be lived with.
  506.  
  507.  
  508.  
  509. Sound Support
  510. =============
  511.  
  512. The Dragon has a very basic sound output, in the form of a 6-bit DAC and
  513. a single bit sound output.  Both are supported by the emulator.
  514.  
  515. The sound on the emulator is disabled by default.  The Audio.device is
  516. used to allocate a channel for the sound when it is selected by the user,
  517. and the user will be informed of any problems due to lack of channels.
  518.  
  519. When sound output is switched off, no sound channels are used by the
  520. emulator.
  521.  
  522. So, you can play a soundtracker module whilst using the emulator if you 
  523. wish!
  524.  
  525. The sound on the cycle couting version of the emulator and the non-cycle
  526. couting version of the emulator are produced in different ways.  The
  527. non-cycle counting version uses the audio.device for sound output and
  528. does not access the sound hardware directly. 
  529.  
  530. However, the cycle-counting version does, although the audio.device is
  531. allocated.  My apologies for this, but I have been unable to get the
  532. audio.device to work as I need it to (and as the rom kernel 
  533. reference manual documents it), and have had to resort to direct 
  534. access to the audio hardware.  If you don't like this, don't switch 
  535. on the sound!
  536.  
  537.  
  538.  
  539. Parallel Port/Serial Port Emulation
  540. ===================================
  541.  
  542. All parallel port output on the Dragon and Serial Port output on the 
  543. Tandy can be redirected to a file by using the 'Set ParRecord' option 
  544. on the control window.  The user can then specify a file to which output
  545. to the parallel/serial port is redirected.
  546.  
  547. The user is advised that the option is switched off before running any 
  548. games on the emulator in D32/D64 mode, as many send garbage to the 
  549. parallel port as a result of generating sound.
  550.  
  551. The capture can be switched off by pressing the 'Stop ParRecord' 
  552. button.
  553.  
  554. NOTE:
  555.  
  556. The D64 serial port is not supported by the emulation at this point.
  557.  
  558.  
  559.  
  560. Speed
  561. =====
  562.  
  563. One question that's always asked of an emulation - how fast does it 
  564. go?
  565.  
  566. On the development systems the speed is as follows for the non-cycle
  567. counting version:
  568.  
  569. A500, 68020 20MHz, Kick 2.04, 1 Mb Chip, 1 Mb Fast, Wb 2.1 -  73%
  570. A1200, 68020 14Mhz, Kick 3.0, 2 Mb Chip, Wb 3.0            -  33%
  571. A1200, 68030 50Mhz, Kick 3.0, 2 Mb Chip. 8 Mb Fast, Wb 3.0 - 190%
  572.  
  573. These results were obtained using the speedtest3.cas BASIC program.
  574.  
  575. These figures are not incredibly accurate, because the speed depends 
  576. on the instruction mix, and display mode that is being displayed on
  577. the emulator.  For example, 256 pixel 2 colour modes have a low 
  578. overhead, whilst 64 pixel 4 colour modes are more CPU intensive.
  579.  
  580. I would expect a 68040 and 68060 users will very probably have an 
  581. incredibly fast Dragon, unless they use the cycle-counting version!
  582.  
  583. Any other performance information for other configurations is
  584. welcomed.
  585.  
  586. NOTE:
  587.  
  588. This version is a fair amount slower than the previous version,
  589. (exactly how much will depend on your machine).  The reason for this
  590. is that previously the 6809 emulation only had to trap writes to 
  591. the upper 32K of memory.
  592.  
  593. However, now the emulator need to trap both reads and writes which
  594. has resulted in a performance hit :(.  I've attempted to keep this
  595. as small as possible, but it can be as much as 25% in some cases.
  596.  
  597.  
  598.  
  599. Example Programs
  600. ================
  601.  
  602. A few example virtual cassettes are supplied with the emulator in the
  603. examples directory.
  604.  
  605. All are basic programs:
  606.  
  607. modetest.cas    - Shows the various Graphical screen modes available
  608. joytest.cas     - Shows the positions of the left & right joysticks
  609. speedtest3.cas  - A basic speed test using a For..Next loop
  610. speedtest4.cas  - A speed test, draws a line accross the display & times
  611.                   it.
  612. semitest.cas    - Shows the semigraphics modes supported.
  613.  
  614. A snapshot is also provided.  This shows an example 'starfield' program
  615. written to test the emulator:
  616.  
  617. Starfield.dsn
  618.  
  619. Press the left joystick's fire button ('Help' key) to exit the starfield.
  620.  
  621.  
  622.  
  623. The Conversion utilities
  624. ========================
  625.  
  626. Here follows a description of the conversion utilities provided with the
  627. emulator.
  628.  
  629. ConvROM
  630. -------
  631.  
  632. The ConvROM utility is supplied in order to allow the conversion of the
  633. D32ROM.DGN file into a format that can be used with the emulator.
  634.  
  635. (All that it actually does is to strip the first 16 bytes of the file and 
  636.  copy the next 16Kb into the specified file.)
  637.  
  638. Usage:
  639.  
  640. ConvROM <infile> <outfile>
  641.  
  642. <infile>  - The path and name of the .DGN file to convert.
  643. <outfile> - The path and name of the binary image to be output.
  644.  
  645. E.g.
  646.  
  647. ConvROM d32rom.dgn dragon32.rom
  648.  
  649. DSNtoPAK
  650. --------
  651.  
  652. The DSN to PAK program is uncluded with the emulator to convert DSN 
  653. snapshots to the .PAK format used by CoCo and PC-Dragon.  The utility 
  654. does not currently support the extensions introduced by PC-Dragon, nor 
  655. does it support compression.
  656.  
  657. However, conversion to PAK 1.2, 1.3 and 1.4 formats are supported.
  658.  
  659. Usage:
  660.  
  661. DSNtoPAK [-1.2 | -1.3 | -1.4] [-V] <DSN file> <PAK file>
  662.  
  663.  
  664. The -1.2, -1.3, -1.4 switched are used to specify the version of the PAK 
  665. file to produce.  The most recent (1.4) is used by default. 
  666.  
  667. The -V (verbose) switch is used to obtain more detailed information about 
  668. the conversion.
  669.  
  670. Please note that DSN snapshots must first be uncompressed before 
  671. conversion if they have been packed with XPK.
  672.  
  673. PAKtoDSN
  674. --------
  675.  
  676. The PAKtoDSN program performs the reverse conversion of DSNtoPAK.  
  677. The utility supports PAK version 1.2, 1.3 and 1.4 and also supports 
  678. PC-Dragon extensions and compressed snapshots (using the PC-Dragon 
  679. compression method).
  680.  
  681. Usage:
  682.  
  683. PAKtoDSN [ -D32 | -D64 | -T ] [ -V ] <PAK file> <DSN file>
  684.  
  685. The -D32, -D64 and -T switches are used to convert the snapshot to a 
  686. specific architecture (Dragon 32, Dragon 64 and Tandy Coco respectively).
  687.  
  688. If no switch is supplied, the snapshot is analysed and the architecture 
  689. which appears to be the one the snapshot uses is selected.
  690.  
  691. the -V (verbose) switch is used to obtain additional information about the 
  692. conversion.
  693.  
  694. NOTE:
  695. -----
  696.  
  697. Although the snapshot conversion utilities have been given some testing, 
  698. they are not guaranteed to perform perfect conversions, and some files 
  699. may trip them up.  You are therefore encouraged to keep the original 
  700. files just in case the conversion doesn't work.
  701.  
  702.  
  703.  
  704. Restrictions on distribution and use
  705. ====================================
  706.  
  707. The emulator is released as freeware, though the author retains copyright
  708. on it, all are free to use it.  The archive must be distributed in an 
  709. unmodified form *only*.
  710.  
  711. However, it must *not* be released on any CD compilation (except the 
  712. Aminet series) without the author's consent.  I have given consent for it
  713. to appear on the Amiga Format Cover CD.
  714.  
  715. The author has tested the emulator as widely as possible, but please 
  716. remember:
  717.  
  718. If the emulator or utilities supplied with it cause your system to crash,
  719. or causes some other damage (data loss, e.t.c.) I am not responsible!
  720.  
  721. There is no warranty and you use the program at your own risk.
  722.  
  723. By using the program you agree to these rules!
  724.  
  725. I stress that I have used the emulator alongside other programs with no 
  726. problems, but that is just my system..
  727.  
  728. And finally:
  729.  
  730. If you don't like it, remember how much I charged you for it - nothing.
  731.  
  732.  
  733.  
  734. Acknowledgements
  735. ================
  736.  
  737. Thanks to Paul Burgin and Kelton Turvey for information on the Dragon and
  738. 6809 microprocessors.
  739.  
  740. Also thanks to Kelton for the icon.
  741.  
  742. Thanks to Nico François / Magnus Holmgren for the great Reqtools.library.
  743.  
  744. Also, thanks go to Doug and Allan for having a look at the previous 
  745. version of the emulator.
  746.  
  747.  
  748.  
  749. The Author
  750. ==========
  751.  
  752. I've always been interested in emulators, so I decided to write an 
  753. emulator for a machine which (as far as I know) hadn't been emulated
  754. on the Amiga.  I hope that you enjoy using the emulator, and think that
  755. it was worth writing - I do!
  756.  
  757. If you wish to tell me what you think of the emulator, how to improve it,
  758. or just to say hello, my current E-Mail address is:
  759.  
  760. seansi@mail.globalnet.co.uk
  761.  
  762. Also, any information on the Tandy Coco 3 would be appreciated.
  763.  
  764. I will just add that if you criticise the emulator, i'd appreciate it if
  765. it was constructive :').
  766.  
  767.  
  768.  
  769. Current problems with the emulator:
  770. ===================================
  771.  
  772. 'Undocumented' effects of 6809 Transfer and Exchange instructions are not
  773. implemented.
  774.  
  775. Glaxxons currently 'locks up' (does not start).  I know why this is,
  776. as I haven't implemented the 35ns IRQ interrupt.  Maybe later!
  777.  
  778. Soft resets may cause problems with the joystick.  Hard-resetting the 
  779. emulator seems to cure this.
  780.  
  781. It's too slow - perhaps i'll be able to make it faster..
  782.  
  783.  
  784.  
  785. Future Work
  786. ===========
  787.  
  788. Well, I seem to have got around to some of the future work that i'd said
  789. i'd do in the last version, so here's what *might* be next:
  790.  
  791. Some work has already gone into:
  792.  
  793. Implementing the serial port on the Dragon 64.
  794.  
  795. Disk emulation.
  796.  
  797. Allow the display to be shown as a window in the Workbench / or a public 
  798. screen (anyone who is willing to share a good colour re-mapping algorithm
  799. with me would be appreciated, as would any programming information on 
  800. public screens!).  A version is working at present on the workbench, 
  801. but is restricted in the palette it uses and isn't ready for release.
  802.  
  803. And what may be happen after that..:
  804.  
  805. Real analogue joystick support by the Emulation (If you don't mind me
  806. banging the metal)..
  807.  
  808. A program to convert dragon cassettes into .cas virtual cassette files.
  809.  
  810. Perhaps a 6809 Disassembler/Debugger..
  811.  
  812. One person (Hi Doug!) has asked me to consider Coco 3 emulation.  I'll 
  813. certainly do that if anyone can send me some information on the Coco 3,
  814. as I know very little about it's differences as opposed to the Dragon 32.
  815.  
  816.  
  817.  
  818. Development History of the Emulator
  819. ===================================
  820.  
  821.  
  822. DREaM 1.0ß
  823. ----------
  824.  
  825. First released version. (July 1996).
  826.  
  827. D32 Emulation only.
  828.  
  829.  
  830. DREaM 1.01
  831. ----------
  832.  
  833. Internal version, never released.
  834.  
  835. Added:
  836.  
  837.     GUI.
  838.     Cycle counting.
  839.     Artifacing.
  840.     Configuration file.
  841.  
  842. Removed:
  843.  
  844.     Copper display tricks!
  845.  
  846. (Completed around December 1997)
  847.  
  848.  
  849. DREaM 1.02
  850. ----------
  851.  
  852. Second released version.
  853.  
  854. Added:
  855.  
  856.     D64 and Tandy Coco support.
  857.     Conversion Utilities.
  858.     Cartridge support.
  859.  
  860. (Completed June 1997).
  861.