/[projet1]/public/pc/tools/osdk/main/Osdk/_final_/Oricutron/ReadMe.txt
Defence Force logotype

Contents of /public/pc/tools/osdk/main/Osdk/_final_/Oricutron/ReadMe.txt

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1243 - (show annotations)
Fri Dec 12 20:38:39 2014 UTC (4 years, 11 months ago) by dbug
File MIME type: text/plain
File size: 11674 byte(s)
Osdk 1.4
- Updated Oricutron to version 1.2
- Updated Ym2Mym to version 1.5
1 Oricutron 1.2
2 -------------
3
4 (c)2009-2014 Peter Gordon (pete@petergordon.org.uk)
5
6 This is a work in progress.
7
8
9 Current status
10 ==============
11
12 6502: 100% done (apart from any unknown bugs :)
13 VIA: 95% done.
14 AY: 99% done.
15 Video: 100% done
16 Tape: 99% done (.TAP, .ORT and .WAV supported)
17 Disk: Reading/Writing sectors works. No track read/write.
18
19
20
21 Credits
22 =======
23
24 Programming
25 -----------
26
27 Peter Gordon
28
29
30 Additional Programming
31 ----------------------
32
33 Francois Revol
34 Alexandre Devert
35 Stefan Haubenthal
36 Ibisum
37 Kamel Biskri
38 Iss
39 Christian from defence-force forum
40
41
42 Amiga & Windows ports
43 ---------------------
44
45 Peter Gordon
46
47
48 MacOS X port
49 ------------
50
51 Francois Revol
52 Kamel Biskri
53 Patrice Torguet
54
55
56 MorphOS & AROS ports
57 --------------------
58
59 Stefan Haubenthal
60
61
62 Linux port
63 ----------
64
65 Francois Revol
66 Ibisum
67 Alexandre Devert
68
69
70 Pandora port
71 ------------
72
73 Ibisum
74
75
76 ACIA & Pravetz disk support
77 ---------------------------
78
79 Iss
80
81
82
83
84 Thanks
85 ======
86
87 Thanks to DBug and Twilighte for letting me distribute their demos and
88 games with Oricutron.
89
90 Thanks to DBug, Twilighte, Chema, kamelito, Yicker, JamesD, Algarbi, ibisum,
91 jede, thrust26 and everyone else for their help and feedback!
92
93
94
95 AVI export notes
96 ================
97
98 The AVI export uses the MRLE codec. Your favourite player might not support
99 it, but MPlayer plays it, ffmpeg converts it and you can upload it directly
100 to youtube.
101
102 Note that the MRLE codec shows up some endian-issues on the Amiga OS4 port
103 of MPlayer, so it will sound crappy and have wrong colours until those bugs
104 are fixed :-(
105
106
107 Command line
108 ============
109
110 You can specify certain options on the command line. All options have
111 both short and long versions. For example:
112
113 -mblah
114
115 or
116
117 --machine blah
118
119 Is the same thing. Note that the short version doesn't have a space, but
120 the long version does.
121
122 Here are all the options:
123
124
125 -m / --machine = Specify machine type. Valid types are:
126
127 "atmos" or "a" for Oric atmos
128 "oric1" or "1" for Oric-1
129 "o16k" for Oric-1 16k
130 "telestrat" or "t" for Telestrat
131 "pravetz", "pravetz8d" or "p" for Pravetz 8D
132
133 -d / --disk = Specify a disk image to use in drive 0
134 -t / --tape = Specify a tape image to use
135 -k / --drive = Specify a disk drive controller. Valid types are:
136
137 "microdisc" or "m" for Microdisc
138 "jasmin" or "j" for Jasmin
139
140 -s / --symbols = Load symbols from a file
141 -f / --fullscreen = Run oricutron fullscreen
142 -w / --window = Run oricutron in a window
143 -R / --rendermode = Render mode. Valid modes are:
144
145 "soft" for software rendering
146 "opengl" for OpenGL
147
148 -b / --debug = Start oricutron in the debugger
149 -r / --breakpoint = Set a breakpoint
150 -h / --help = Print command line help and quit
151
152 --turbotape on|off = Enable or disable turbotape
153 --lightpen on|off = Enable or disable lightpen
154 --vsynchack on|off = Enable or disable VSync hack
155 --scanlines on|off = Enable or disable scanline simulation
156
157 NOTE: If you are not sure what machine or drive type is required for a disk or
158 tape image, just pass the filename without any options and Oricutron will
159 try and autodetect for you.
160
161
162 Examples:
163
164 oricutron tapes/tape_image.tap
165 oricutron disks/disk_image.dsk
166 oricutron --machine atmos --tape "tape files/foo.tap" --symbols "my files/symbols"
167 oricutron -m1 -tBUILD/foo.tap -sBUILD/symbols -b
168 oricutron --drive microdisc --disk demos/barbitoric.dsk --fullscreen
169 oricutron -ddemos/barbitoric.dsk -f
170 oricutron --turbotape off tapes/hobbit.tap
171
172
173
174 Keys
175 ====
176
177 In emulator
178 -----------
179
180 F1 - Bring up the menu
181 F2 - Go to debugger/monitor
182 F3 - Reset button (NMI)
183 F4 - Hard reset
184 Shift+F4 - Jasmin reset
185 F5 - Toggle FPS
186 F6 - Toggle warp speed
187 F7 - Save all modified disks
188 Shift+F7 - Save all modified disks to new disk images
189 F9 - Save tape output
190 F10 - Start/Stop AVI capture
191 F11 - Copy text screen to clipboard (BeOS, Linux & Windows)
192 F12 - Paste (BeOS, Linux & Windows)
193 Help - Show guide (Amiga, MorphOS and AROS)
194 AltGr - Additional modifier
195
196
197 In menus
198 --------
199
200 Cursors - Navigate
201 Enter - Perform option
202 Backspace - Go back
203 Escape - Exit menus
204 (or use the mouse)
205
206
207 In Debugger/Monitor
208 -------------------
209
210 F1 - Go to the menu
211 F2 - Return to the emulator
212 F3 - Toggle console/debug output/memwatch
213 F4 - Toggle VIA/AY/disk information
214 F9 - Reset cycle count
215 F10 - Step over code
216 F11 - Step over code without tracing into
217 subroutines.
218 F12 - Skip instruction
219
220
221 In the console:
222 ---------------
223
224 Up/Down - Command history
225
226
227 In memwatch:
228 ------------
229
230 Up/Down - Scroll (+shift for page up/down)
231 Page Up/Page Down - Page up/down
232 Hex digits - Enter address
233 S - Toggle split mode
234 Tab - Switch windows in split mode
235
236
237
238 Monitor instructions
239 ====================
240
241 In the monitor, number arguments are decimal by default, or prefixed with $ for
242 hex or % for binary. Pretty much everything is output in hex.
243
244 In most places where you can enter a number or address, you can pass a CPU or
245 VIA register. (VIA registers are prefixed with V, e.g. VDDRA). Anywhere you can
246 pass an address, you can also use a symbol.
247
248 Commands:
249
250 ? - Help
251 a <addr> - Assemble
252 bc <bp id> - Clear breakpoint
253 bcm <bp id> - Clear mem breakpoint
254 bl - List breakpoints
255 blm - List mem breakpoints
256 bs <addr> - Set breakpoint
257 bsm <addr> [rwc] - Set mem breakpoint
258 bz - Zap breakpoints
259 bzm - Zap mem breakpoints
260 d <addr> - Disassemble
261 df <addr> <end> <file>- Disassemble to file
262 m <addr> - Dump memory
263 mm <addr> <value> - Modify memory
264 mw <addr> - Memory watch at addr
265 nl <file> - Load snapshot
266 ns <file> - Save snapshot
267 r <reg> <val> - Set <reg> to <val>
268 q, x or qm - Quit monitor
269 qe - Quit emulator
270 sa <name> <addr> - Add or move user symbol
271 sk <name> - Kill user symbol
272 sc - Symbols not case-sensitive
273 sC - Symbols case-sensitive
274 sl <file> - Load user symbols
275 sx <file> - Export user symbols
276 sz - Zap user symbols
277 wm <addr> <len> <file>- Write mem to disk
278
279
280
281 Breakpoints
282 ===========
283
284 There are two types of breakpoints. "Normal" breakpoints trigger when the CPU
285 is about to execute an instruction at the breakpoint address. "Memory" breakpoints
286 trigger when the breakpoint address is accessed or modified.
287
288 There are three ways a memory breakpoint can be triggered; when the CPU is about
289 to read the address (r), and the CPU is about to write the address (w), or after the
290 value at the address changes for any reason (c).
291
292 You specify which ways you'd like the breakpoint to trigger when you set the memory
293 breakpoint:
294
295 bsm $0c00 r <-- Break when the CPU is about to read from $0c00
296 bsm $0c00 rw <-- Break when the CPU is about to access $0c00
297 bsm $0c00 c <-- Break after then contents of $0c00 change
298 bsm $0c00 rwc <-- Break just before the CPU accesses $0c00, or just after it
299 changes for any reason.
300
301
302
303 International Keyboards under Linux and Mac OS X
304 ================================================
305
306 There are lots of problems with some international keyboards under Linux and Mac OS X.
307 The best way to cope with them is to install an UK or US keyboard definition and to
308 switch to it *before* starting oricutron.
309
310 Under Mac OS X you can do that in the "System Preferences", "Keyboard", "Input sources".
311 Click on the + and search for the UK or US keyboard.
312
313 Under Ubuntu you can do that in the System menu, select Preferences, and then select
314 Keyboard. In the Keyboard Preferences dialog, select the Layouts tab, and click Add.
315
316 For a better solution look under "Visual Keyboard" down here.
317
318
319
320 Visual Keyboard
321 ===============
322
323 Oricutron can display a visual keyboard which also adds a keyboard mapping redefinition feature.
324
325 It's accessible through a submenu called "Keyboard options".
326
327 In the submenu you can find:
328 - a toggle that shows/hides the visual keyboard (you can click on the keyboard keys to enter key presses/releases) ;
329 - a toggle that gets you in the key mapping definition mode (you can then click on a visual keyboard key ; press a real key on your keyboard and the mapping will work) ;
330 - a toggle that allows mod keys (ctrl, shift, funct) to be sticky (ie you first click on a key to press it and then either re-click it to release it or click on another key and it will generate a modded key press - e.g. a Ctrl-T instead of T - and then auto release the key) ;
331 - an option to save a keyboard mapping (.kma file) ;
332 - an option to load a keyboard mapping ;
333 - an option that resets the keyboard mapping to the default one.
334
335 You can also add the following in your oricutron.cfg to autoload a keyboard
336 mapping (here Test.kma in the keymap directory found in Oricutron's directory):
337
338 ; automatically load a keyboard mapping file
339 autoload_keyboard_mapping = 'keymap/Test.kma'
340
341 Other options let you display the keyboard and activate sticky mod keys automatically:
342 show_keyboard = yes
343 sticky_mod_keys = yes
344
345
346
347 Serial card (ACIA) emulation
348 ============================
349
350 Oricutron can emulate ACIA at address #31C (standard address for Telestrat).
351 The emulation works for Oric, Atmos, Telestrat and Pravetz and can be used
352 together with any disk type.
353
354 The emulated ACIA communicates with the out-side world trough back-ends.
355 Back-ends can be configured from 'oricutron.cfg' or from command line
356 (see default 'oricutron.cfg' for usage).
357
358 Back-ends are:
359 - none - disables ACIA support
360 - loopback - every transmitted byte is returned to receive buffer (for testing purposes)
361 - com - Oricutron uses any real or virtual COM port in the host machine and communicates with the hardware attached to this serial port
362 - modem - unites ACIA with attached modem linked to internet with server and client sockets
363
364 In 'modem' mode are available folowing 'AT' commands:
365 AT - returns 'OK'
366 ATZ - initialize the modem
367 AT&F - initialize the modem
368 ATS0=0 - disable auto answering (close sever socket)
369 ATS0=1 - enable auto answering (open sever socket and start listening on selected port (default is telnet port 23))
370 ATA - same as 'ATS0=1'
371 ATS0? - returns 'AUTOANSWER OFF' or 'AUTOANSWER ON' depend on current sever socket state
372 ATH0 - disconnect currently connected sockets
373 +++ - if connected switches to command mode
374 ATO - returns from command mode to online
375 ATD ip:port - connects as client to ip:port. 'ip' can be any host name (ex.:localhost) or the real IP (ex.:127.0.0.1) on LAN or in Internet. ADTP and ATDT are alternative for compatibility.
376
377
378
379 ROM patch files
380 ===============
381
382 For detailed usage see included '.pch' files in roms subdirectory.
383
384 Additionaly unlimited number of binary patches can be added:
385
386 $XXXX:00112233445566778899AABBCCDDEEFF....
387 $YYYY:AA55AA55....
388 $ZZZZ:FF00FF00....
389
390 where XXXX,YYYY,ZZZZ - are hex addresses relative to ROM start address
391 (i.e. to set byte at C000 to 00 use: $0000:00)

  ViewVC Help
Powered by ViewVC 1.1.26