summaryrefslogtreecommitdiff
blob: 3484b327e6f259f70dd66035c2866f49b2291b43 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
.TH ATARI800 1 "26 February 2002"
.SH NAME
atari800 \- Atari 800 Emulator, Version 1.2.2
.SH SYNOPSIS
\fBatari800\fP [options] [diskfiles...]
.SH DESCRIPTION
\fIatari800\fP emulates the Atari 800, Atari 800 XL, Atari 130 XE and
Atari 5200 Games System.
.SS Options
.TP
\fB-help
Print emulator version.
.TP
\fB-v
Print emulator version.
.TP
\fB-verbose
Display framerate when exiting
.TP
\fB-configure
Starts emulator in run-time configuration mode.
.TP
\fB-config filename
Specify an alternative configuration filename.

.TP
\fB-osa_rom filename
Path to file containing Atari Rev.A Operating System.
Used to override paths defined at compile time.
.TP
\fB-osb_rom filename
Path to file containing Atari Rev.B Operating System.
Used to override paths defined at compile time.
.TP
\fB-xlxe_rom filename
Path to file containing Atari XL/XE Operating System.
Used to override paths defined at compile time.
.TP
\fB-5200_rom filename
Path to file containing Atari 5200 Games System ROM.
Used to override paths defined at compile time.
.TP
\fB-basic_rom filename
Path to file containing Atari BASIC ROM.
Used to override paths defined at compile time.

.TP
\fB-xl
Emulate Atari 800 XL.
.TP
\fB-xe
Emulate Atari 130 XE - but Antic accesses the same bank the CPU is using.
.TP
\fB-320xe
Emulate Atari 320 XE (Compy Shop)
.TP
\fB-rambo
Emulate Atari 320 XE (Rambo)
.TP
\fB-5200
Emulate Atari 5200 - Games controller emulation has not been implemented yet!
.TP
\fB-emuos
Use EmuOS

.TP
\fB-a
Use Atari OS/A.
.TP
\fB-b
Use Atari OS/B.
.TP
\fB-c
Enable RAM between $c000 and $d000.

.TP
\fB-pal                
Emulate PAL TV mode
.TP
\fB-ntsc               
Emulate NTSC TV mode

.TP
\fB-nobasic
Used to disable Basic when starting the emulator in XL/XE mode.
Simulates the Option key being held down during system boot.
.TP
\fB-basic
Turn on Atari BASIC ROM

.TP
\fB-cart <filename>    
Insert cartridge (CART or raw format)
.TP
\fB-run <filename>     
Run Atari executable file (EXE, COM, XEX)
.TP
\fB-tape <filename>    
Attach cassette image (CAS format or raw file)
.TP
\fB-boottape <filename>
Attach cassette image and boot it

.TP
\fB-nopatch
Normally the OS is patched giving very fast I/O. This options prevents
the patch from being applied so that the OS accesses the serial port
hardware directly. This option will probably never be needed since
programs that access the serial hardware should work even if the OS
has been patched.
.TP
\fB-nopatchall         
Don't patch OS at all, H: and P: devices won't work

.TP
\fB-H1 <path>          
Set path for H1: device
.TP
\fB-H2 <path>          
Set path for H2: device
.TP
\fB-H3 <path>          
Set path for H3: device
.TP
\fB-H4 <path>          
Set path for H4: device
.TP
\fB-hdreadonly <onoff> 
Enable (1) or disable (0) read-only mode for H: device
.TP
\fB-devbug             
Put debugging messages for H: and P: devices in log file

.TP
\fB-rtime <onoff>      
Enable (1) or disable (0) R-Time 8 emulation

.TP
\fB-mouse off          
Do not use mouse
.TP
\fB-mouse pad          
Emulate paddles
.TP
\fB-mouse touch        
Emulate Atari Touch Tablet
.TP
\fB-mouse koala        
Emulate Koala Pad
.TP
\fB-mouse pen          
Emulate Light Pen
.TP
\fB-mouse gun          
Emulate Light Gun
.TP
\fB-mouse amiga        
Emulate Amiga mouse
.TP
\fB-mouse st           
Emulate Atari ST mouse
.TP
\fB-mouse trak         
Emulate Atari Trak-Ball
.TP
\fB-mouse joy          
Emulate joystick using mouse
.TP
\fB-mouseport <num>    
Set mouse port 1-4 (default 1)
.TP
\fB-mousespeed <num>   
Set mouse speed 1-9 (default 3)

.TP
\fB-refresh
Controls screen refresh rate. A numerical value follows this option
which specifies how many emulated screen updates are required before
the actual screen is updated. This value effects the speed of the
emulation: A higher value results in faster CPU emulation but a
less frequently updated screen.

.TP
\fB-artif <mode>       
Set artifacting mode 0-4 (0 = disable)
.TP
\fB-palette <filename> 
Read Atari colors from ACT file
.TP
\fB-black <num>        
Set black level 0-255
.TP
\fB-while <num>        
Set white level 0-255
.TP
\fB-colors <num>       
Set color intensity
.TP
\fB-colshift <num>     
Set color shift
.TP
\fB-realpal            
Use palette created by Zdenek Eisenhammer
.TP
\fB-oldpal             
Use old Atari800 palette
.TP
\fB-foxpal             
Use palette created by Piotr Fusik

.TP
\fB-sound              
Enable sound
.TP
\fB-nosound            
Disable sound
.TP
\fB-dsprate <freq>     
Set mixing frequency (Hz)
.TP
\fB-snddelay <time>    
Set sound delay (milliseconds)


.SS Curses Options
.TP
\fB-left
Use columns 0 to 39.
.TP
\fB-central
Use columns 20 to 59.
.TP
\fB-right
Use columns 40 to 79.
.TP
\fB-wide1
Use columns 0 to 79. In this mode only the even character positions
are used. The odd locations are filled with spaces.
.TP
\fB-wide2
Use columns 0 to 79. This mode is similar to \fB-wide1\fP except that
the spaces are in reverse video if the previous character was also
in reverse video.


.SS Falcon Options
.TP
\fB-interlace <x>      
Generate Falcon screen only every x frame
.TP
\fB-videl              
Direct VIDEL programming (Falcon/VGA only)
.TP
\fB-double             
Double the screen size on NOVA
.TP
\fB-delta              
Delta screen output (differences only)

.SS SVGALIB Options
.TP
\fB-interlace
Enable screen interlace option


.SS DOS/VGA Options
.TP
\fB-interlace          
Generate screen with interlace
.TP
\fB-video <mode>       
0=320x200, 1=320x240, 2=320x480 interlaced with black lines, 3=320x480 interlaced with darker lines
.TP
\fB-novesa             
Do not use VESA 2 video modes
.TP
\fB-vretrace           
Use vertical retrace control

.TP
\fB-LPTjoy1            
Read joystick connected to LPT1
.TP
\fB-LPTjoy2            
Read joystick connected to LPT2
.TP
\fB-LPTjoy3            
Read joystick connected to LPT3
.TP
\fB-joyswap            
Swap joysticks

.TP
\fB-keyboard 0         
PC keyboard layout
.TP
\fB-keyboard 1         
Atari keyboard layout


.SS X11 Options
.TP
\fB-small
Runs the emulator in a small window where each Atari 800 pixel is
represented by one X Window pixel.
.TP
\fB-large
Runs the emulator in a large window where each Atari 800 pixel is
represented by a 2x2 X Window rectange. This mode is selected by
default.
.TP
\fB-huge
Runs the emulator in a huge window where each Atari 800 pixel is
represented by a 3x3 X Window rectange.
.TP
\fB-clip_x number-of-pixels
Sets left offset for clipping.
.TP
\fB-clip_width number-of-pixels
Sets the width of the clipping-area.
.TP
\fB-clip_y number-of-pixels
Sets top offset for clipping.
.TP
\fB-clip_height number-of-pixels
Sets the height of the clipping-area.
.TP
\fB-private_cmap
Tells the Emulator to use its own private colormap.
.TP
\fB-fps                
Show framerate
.TP
\fB-sio                
Show SIO monitor
.TP
\fB-x11bug             
Enable debug code in atari_x11.c

.TP
\fB-keypad             
Keypad mode

.SS SDL Options
.PP
No SDL-specific options at this time

.PD 0

.SH KEYBOARD, JOYSTICK & PADDLE CONTROLS

.SS Curses
.TP
\fBF1
Built in User Interface
.TP
\fBF2
Option
.TP
\fBF3
Select
.TP
\fBF4
Start
.TP
\fBF5
Warm Reset
.TP
\fBF6
Toggle RAM/ROM between 0x8000 and 0xbfff (PIL Mode)
.TP
\fBF7
Break Key
.TP
\fBF8
Cold Reset
.TP
\fBF9
Exit Emulator
.TP
\fBF10
---
.TP
\fBF11
---
.TP
\fBF12
---

.PP
Some control have special meaning within curses and should not be used.

    Avoid Control + C, J, M, Q, S and Z

The remaining control characters can be typed. Control characters are
displayed on the screen with the associated upper case character in bold.

No Joystick or Paddle support in this version.

.SS Falcon
.TP
\fBF1
Built in User Interface
.TP
\fBF2
Option
.TP
\fBF3
Select
.TP
\fBF4
Start
.TP
\fBF5
Warm Reset
.TP
\fBShft+F5
Cold Reset
.TP
\fBF6
Toggle RAM/ROM between 0x8000 and 0xbfff (PIL Mode)
.TP
\fBF7
Break Key
.TP
\fBF8
Enter monitor
.TP
\fBF9
EXIT Emulator
.TP
\fBHelp
HELP key (800XL/130XE)

.PP
Joystick 0 is operated by the numeric keypad (make sure that the numeric
keypad has been enabled).
 
        7 8 9
         \\|/
        4 5 6
         /|\\
        1 2 3
 
        And 0 is the fire key.
 
At the moment it is not possible to use a Paddle with this version.

.SS SVGALIB
.TP
\fBF1
Built in User Interface
.TP
\fBF2
Option
.TP
\fBF3
Select
.TP
\fBF4
Start
.TP
\fBF5
Warm Reset
.TP
\fBShft+F5
Cold Reset
.TP
\fBF6
Toggle RAM/ROM between 0x8000 and 0xbfff (PIL Mode)
.TP
\fBF7
Break Key
.TP
\fBF8
Enter monitor
.TP
\fBF9
Exit Emulator
.TP
\fBF10
Save Screenshot (+Shift=interlaced screenshot)
.TP
\fBF11
Joystick Autofire On/Off
.TP
\fBF12
---
.TP
\fB`
This character replaces the CAPS lock key because I have not found a
way of detecting it. A future solution maybe to automatically issue a
CAPS lock key when a transition is made between lower and upper case
keys. i.e. If svgalib return 'a' followed by 'A' it could send 'a'
'CAPS' 'A' to the Atari.

.PP
The CTRL+SHIFT keyboard combinations are implemented using the left
ALT key.

Joystick 0 is operated by the numeric keypad (make sure that the numeric
keypad has been enabled).

        7 8 9
         \\|/
        4 5 6
         /|\\
        1 2 3

        And 0 is the fire key.

At the moment it is not possible to use a Paddle with the SVGALIB
version.

.SS DOS/VGA
.TP
\fBF1
Built in User Interface
.TP
\fBF2
Option Key
.TP
\fBF3
Select Key
.TP
\fBF4
Start Key
.TP
\fBF5
Warm Reset
.TP
\fBShft+F5
Cold Reset
.TP
\fBF6
PIL Mode (Atari800) / Help Key (XL/XE)
.TP
\fBF7
Switch between Emulated joysticks mode and Normal keyboard
.TP
\fBF8
Enter monitor
.TP
\fBF9
EXIT Emulator
.TP
\fBF10
Save Screenshot (+Shift=interlaced screenshot)

.PP
Control-C terminates the program; to type Control-c, type ALT-c instead.
` is used as the Atari-Invers key

Joysticks can be either real one connected to game port, or old 8-bit
digital CX-40 joysticks connected to parallel port or keyboard joysticks
(try out JOYCFG.EXE).
 
At the moment it is not possible to use a Paddle with this version.

.SS X11
.TP
\fBF1
Built in User Interface
.TP
\fBF2
Option
.TP
\fBF3
Select
.TP
\fBF4
Start
.TP
\fBF5
Warm Reset
.TP
\fBShft+F5
Cold Reset
.TP
\fBF6
Toggle RAM/ROM between 0x8000 and 0xbfff (PIL Mode)
.TP
\fBF7
Break Key
.TP
\fBF8
---
.TP
\fBF9
Exit Emulator
.TP
\fBF10
---
.TP
\fBF11
Vertical Positioning: Scroll Screen Downwards
.TP
\fBF12
Vertical Positioning: Scroll Screen Upwards
.TP
\fBALT
Atari Key (Either ALT Key will work)

.PP
Joystick 0 is operated by the mouse position relative to the center of
the screen. The mouse button acts as the trigger.  On Linux, standard
joysticks are also supported.

Paddle 0 is operated by moving the mouse pointer across the window.

.SS SDL
.TP
\fBLALT+f
switching FULLSCREEN (probably doesn't work in Windows)
.TP
\fBLALT+g
switching WIDTH_MODE (so you can set 320x240)
.TP
\fBLALT+b
switching BLACK-AND-WHITE (feel to power of BW monitor!)
.TP
\fBLALT+j
swapping _keyboard_emulated_ joysticks
.TP
\fBLALT+e
switching bpp (for debug only, will be removed soon)

.PP
To redefine keys for joystick emulation you must modify SDL_TRIG_* and
SDL_JOY_* in atari_sdl.c, then recompile Atari800. In source you can
also turn off sound or change defaults (FULLSCREEN, BW,
SWAP_JOYSTICKS, WIDTH_MODE).

On Linux, standard joysticks are supported.


.PD 1

.SH FILES
.TP
\fI/usr/share/atari800/ATARIOSA.ROM\fR
Atari O/S A
.TP
\fI/usr/share/atari800/ATARIOSB.ROM\fR
Atari O/S B
.TP
\fI/usr/share/atari800/ATARIXL.ROM\fR
Atari 800 XL O/S
.TP
\fI/usr/share/atari800/ATARI5200.ROM\fR
Atari 5200 O/S
.TP
\fI/usr/share/atari800/ATARIBAS.ROM\fR
Atari Basic
.SH BUGS
A few programs cause the emulator to enter its built in debugger. The
reason for this is unknown at the moment.

The SDL port doesn't seem to recognize the
.B -help
option.