Difference between revisions of "Atari800 emulator"


From SamyGO
Jump to: navigation, search
m (fix links)
(update info for version 2.1 R3; fix some links; add promo image; some stylish changes)
Line 1: Line 1:
'''Atari800 emulator 2.1.0 RELEASE 2 for Samsung TV'''
+
[[File:Atari800_promo.png|500px|right]] '''Atari800 emulator 2.1.0 RELEASE 3 for Samsung TV'''
  
 
== What is it? ==
 
== What is it? ==
 
  
 
This is fully-functional Atari XL/XE (8-bit) emulator for Samsung TV-sets equipped with Content Library feature. Using this emulator you can run your favourite 8-bit software for Atari computers on your Samsung TV-set. This emulator has been ported from open-sourced Atari800 available earlier for many operating systems. This port is based on SDL version of the original.
 
This is fully-functional Atari XL/XE (8-bit) emulator for Samsung TV-sets equipped with Content Library feature. Using this emulator you can run your favourite 8-bit software for Atari computers on your Samsung TV-set. This emulator has been ported from open-sourced Atari800 available earlier for many operating systems. This port is based on SDL version of the original.
Line 10: Line 9:
 
== Requirements ==
 
== Requirements ==
  
 
+
* Samsung TV set with Content Library feature (like LE40B650)
- Samsung TV set with Content Library feature (like LE40B650)
+
* USB keyboard (although many functions are available through remote control)
 
+
* ca. 2 MB of flash memory for emulator files + additional space for Atari software
- USB keyboard (although many functions are available through remote control)
+
* ca. 50% of CPU power
 
 
- ca. 2 MB of flash memory for emulator files + additional space for Atari software
 
 
 
- ca. 50% of CPU power
 
  
  
Line 23: Line 18:
 
== How to start ==
 
== How to start ==
  
 +
[[File:moras_atari.png|120px|right]] Atari800 emulator can be downloaded from:
  
Atari800 emulator can be downloaded from:
+
* [[Content_Library_applications_list#Atari800_emulator|'''Content Library Applications list''']]
 
+
* or direct [http://samygo.ugu.pl/pliki/lista/Atari800 here]
[http://download.samygo.tv/B%20Series/Games/SamyGO%20Atari800%202.1.0%20R2%20emulator.zip] (SamyGO Content Library Applications)
 
  
  
 
'''*** VERY IMPORTANT ***'''
 
'''*** VERY IMPORTANT ***'''
  
First, you have to copy Atari ROM files (not included) on your pendrive. If you don't know how to dump ROM files from your Atari computer, then you can download Atari ROM files from:
+
First, you have to copy Atari ROM files (not included) on your pendrive. If you don't know how to dump ROM files from your Atari computer, then you can download Atari ROM files from: [http://sf.net/projects/atari800/files/ROM/Original%20XL%20ROM/xf25.zip '''PC XFormer emulator''']
 
 
[http://sourceforge.net/projects/atari800/files/ROM/Original%20XL%20ROM/xf25.zip] (PC XFormer emulator)
 
  
 
Then extract all *.ROM files into '''Atari800/ROM''' subfolder on your pendrive.
 
Then extract all *.ROM files into '''Atari800/ROM''' subfolder on your pendrive.
Line 58: Line 51:
 
  clmeta.dat
 
  clmeta.dat
 
  loader.so
 
  loader.so
 
  
 
You may copy Atari files (binaries, disk images) into [files] subdirectory. Create subfolders if you want to. Connect USB keyboard to your TV. You don't need to load HID modules, because emulator will load them for you. Insert pendrive with Atari800 folder into your TV's USB port, hit CONTENT (library) button, choose GAME, look for Atari800 and start. You may also copy it to the internal memory. You'll probably see SELF TEST screen first time. Please hit F1 key (MENU button) to configure or load a game or other tool.
 
You may copy Atari files (binaries, disk images) into [files] subdirectory. Create subfolders if you want to. Connect USB keyboard to your TV. You don't need to load HID modules, because emulator will load them for you. Insert pendrive with Atari800 folder into your TV's USB port, hit CONTENT (library) button, choose GAME, look for Atari800 and start. You may also copy it to the internal memory. You'll probably see SELF TEST screen first time. Please hit F1 key (MENU button) to configure or load a game or other tool.
Line 123: Line 115:
 
  `                    Atari/Inverse key
 
  `                    Atari/Inverse key
 
  CAPSLOCK            CapsToggle (+Shift = CapsLock)
 
  CAPSLOCK            CapsToggle (+Shift = CapsLock)
 
  
  
 
== Joysticks ==
 
== Joysticks ==
 
  
 
Apart from standard joysticks (handled by the SDL) up to two keyboard joysticks are supported. The keys used for joystick directions and the trigger can be freely defined in the config UI (Controller Config -> Define layout). Keyboard joystick emulation can be enabled/disabled in the Controller Config. By default, joy 0 is enabled and joy 1 is disabled (to not steal normal AWDS keys in the emulator).
 
Apart from standard joysticks (handled by the SDL) up to two keyboard joysticks are supported. The keys used for joystick directions and the trigger can be freely defined in the config UI (Controller Config -> Define layout). Keyboard joystick emulation can be enabled/disabled in the Controller Config. By default, joy 0 is enabled and joy 1 is disabled (to not steal normal AWDS keys in the emulator).
Line 174: Line 164:
  
 
[[File:C64joy.png]]
 
[[File:C64joy.png]]
 +
  
 
== Mouse ==
 
== Mouse ==
 
  
 
Paddles, Atari touch tablet, Koala pad, light pen, light gun, ST/Amiga mouse, Atari trak-ball, joystick and Atari 5200 analog controller are emulated using mouse.
 
Paddles, Atari touch tablet, Koala pad, light pen, light gun, ST/Amiga mouse, Atari trak-ball, joystick and Atari 5200 analog controller are emulated using mouse.
Line 187: Line 177:
  
 
== Samsung remote control buttons ==
 
== Samsung remote control buttons ==
 
  
 
In general, prefered device is USB keyboard, but you can use remote control as well to emulate some Atari keys or call some special functions:
 
In general, prefered device is USB keyboard, but you can use remote control as well to emulate some Atari keys or call some special functions:
Line 229: Line 218:
  
 
[[File:Atari800 remote control buttons.jpg]]
 
[[File:Atari800 remote control buttons.jpg]]
 +
  
 
== How to exit emulator ==
 
== How to exit emulator ==
 
  
 
'''By remote control''': hit EXIT, CONTENT or POWER button or hit MENU button (UI menu), then select "Exit Emulator"
 
'''By remote control''': hit EXIT, CONTENT or POWER button or hit MENU button (UI menu), then select "Exit Emulator"
Line 250: Line 239:
 
  [http://www.atari800.net/ http://www.atari800.net]
 
  [http://www.atari800.net/ http://www.atari800.net]
 
  [http://www.atarimania.com/ http://www.atarimania.com]
 
  [http://www.atarimania.com/ http://www.atarimania.com]
 +
  
 
== How to access external USB device (pendrive or HDD) ? ==
 
== How to access external USB device (pendrive or HDD) ? ==
 
  
 
'''FOR ADVANCED USERS! YOU NEED TELNET ACCESS!'''
 
'''FOR ADVANCED USERS! YOU NEED TELNET ACCESS!'''
Line 262: Line 251:
 
  ln -s /dtv/usb/sda1 USB1
 
  ln -s /dtv/usb/sda1 USB1
  
NOTES: verify if you have /mtd_tlib/GGame/Atari800 directory with copied emulator files before. Check your external pendrive path (/dtv/usb/sda1 in this example). You can add more links (USB2 to /dtv/usb/sdb1 for instance). Links are permanent. To remove them, simply remove created subdirectories (by command: rm -r USB1).
+
NOTES: verify if you have ''/mtd_tlib/GGame/Atari800'' directory with copied emulator files before. Check your external pendrive path (''/dtv/usb/sda1'' in this example). You can add more links (USB2 to ''/dtv/usb/sdb1'' for instance). Links are permanent. To remove them, simply remove created subdirectories (by command: ''rm -r USB1'').
  
  
  
 
== Known bugs ==
 
== Known bugs ==
 
  
 
  - delayed sound
 
  - delayed sound
Line 290: Line 278:
 
PROBLEM:
 
PROBLEM:
  
[[File:Atari800_no_ROM_files.gif‎]]
+
[[File:Atari800_no_ROM_files.gif]]
  
 
SOLUTION:
 
SOLUTION:
Line 321: Line 309:
  
 
----
 
----
 +
  
 
== More information ==
 
== More information ==
 
  
 
You can find detailed information and source code on Atari800 project website:
 
You can find detailed information and source code on Atari800 project website:
http://atari800.sourceforge.net/
+
http://atari800.sourceforge.net
  
  
Line 332: Line 320:
  
 
  Credits for original project:
 
  Credits for original project:
  http://atari800.cvs.sourceforge.net/atari800/atari800/DOC/CREDITS?rev=HEAD&content-type=text/vnd.viewcvs-markup
+
  http://atari800.cvs.sf.net/atari800/atari800/DOC/CREDITS?rev=HEAD&content-type=text/vnd.viewcvs-markup
 
   
 
   
  Samsung TV port (c)2010 by geo650 (SamyGO forum, Atari.Area forum) / sam650 (HDTV.com.pl forum)
+
  Samsung TV port (c)2010-2011 by geo650 (SamyGO forum, Atari.Area forum) / sam650 (HDTV.com.pl forum)
 
   
 
   
 
  with help of the following people:
 
  with help of the following people:
 
  - Fox (Atari.Area forum)
 
  - Fox (Atari.Area forum)
  - Krótki (Atari.Area forum)
+
  - Krótki (Atari.Area forum)
 
  - maw (Atari.Area forum)
 
  - maw (Atari.Area forum)
 
  - arris69 (SamyGO forum)
 
  - arris69 (SamyGO forum)
Line 348: Line 336:
  
  
USB HID drivers come from SamyGO Files: [http://download.samygo.tv/B%20Series/Content%20Library%20Applications/Mouse%20and%20Keyboard%20%28v0.01%29.zip] (SamyGO Mouse and Keyboard Modules v0.01.zip)
+
USB HID drivers come from SamyGO Files: [[Content_Library_applications_list#Mouse_and_Keyboard|SamyGO Mouse and Keyboard Modules v0.01]]
 +
 
  
  
--[[User:Geo650|Geo650]] 12:59, 15 September 2010 (UTC)
+
<small>
 +
--[[User:Geo650|Geo650]] 12:59, 15 September 2010 (UTC)<br>
 +
small update: --[[User:Moras86|Moras86]] 17:34, 8 August 2011 (UTC)
 +
</small>

Revision as of 17:34, 8 August 2011

Atari800 promo.png

Atari800 emulator 2.1.0 RELEASE 3 for Samsung TV

What is it?

This is fully-functional Atari XL/XE (8-bit) emulator for Samsung TV-sets equipped with Content Library feature. Using this emulator you can run your favourite 8-bit software for Atari computers on your Samsung TV-set. This emulator has been ported from open-sourced Atari800 available earlier for many operating systems. This port is based on SDL version of the original.


Requirements

  • Samsung TV set with Content Library feature (like LE40B650)
  • USB keyboard (although many functions are available through remote control)
  • ca. 2 MB of flash memory for emulator files + additional space for Atari software
  • ca. 50% of CPU power


How to start

Moras atari.png

Atari800 emulator can be downloaded from:


*** VERY IMPORTANT ***

First, you have to copy Atari ROM files (not included) on your pendrive. If you don't know how to dump ROM files from your Atari computer, then you can download Atari ROM files from: PC XFormer emulator

Then extract all *.ROM files into Atari800/ROM subfolder on your pendrive.

You need ATARIBAS.ROM, ATARIOSB.ROM and ATARIXL.ROM files in there.

You should see such Atari800 directory structure:

[..]
[files]
   [..]
   (put Atari software files or disk images here)
[ROM]
   [..]
   ATARIBAS.ROM
   ATARIOSB.ROM
   ATARIXL.ROM
[DRV]
   [..]
   evdev.ko
   usbhid.ko
atari800.png
atari800.so
clmeta.dat
loader.so

You may copy Atari files (binaries, disk images) into [files] subdirectory. Create subfolders if you want to. Connect USB keyboard to your TV. You don't need to load HID modules, because emulator will load them for you. Insert pendrive with Atari800 folder into your TV's USB port, hit CONTENT (library) button, choose GAME, look for Atari800 and start. You may also copy it to the internal memory. You'll probably see SELF TEST screen first time. Please hit F1 key (MENU button) to configure or load a game or other tool.


You cannot use command line options as in classic Atari800 emulator. Command line options are not editable for user.

Keyboard

F1                   Built in user interface
F2                   Option key
F3                   Select key
F4                   Start key
F5                   Reset key ("warm reset")
Shift+F5             Reboot ("cold reset")
F6                   Help key (XL/XE only)
F7                   Break key
F8                   (not used)
F9                   Exit emulator
F10                  Save screenshot (may not work)
Shift+F10            Save interlaced screenshot (may not work)
LAlt+R               Run Atari program
LAlt+D               Disk management
LAlt+C               Cartridge management
LAlt+Y               Select system
LAlt+O               Sound settings
LAlt+W               Sound recording start/stop
LAlt+S               Save state file
LAlt+L               Load state file
LAlt+A               About the emulator
LAlt+F               Switch fullscreen (not used; always fullscreen)
LAlt+G               Switch WIDTH_MODE (so you can set 320x240)
LAlt+B               Switch BLACK-AND-WHITE
LAlt+J               Swap joysticks 0 and 1
LAlt+E               Switch bpp (for debug only)
LAlt+M               Grab mouse (prevents mouse pointer from leaving the window)
Insert               Insert line (Atari Shift+'>')
Ctrl+Insert          Insert character (Atari Ctrl+'>')
Shift+Ctrl+Insert    Shift+Ctrl+'>'
Delete               Delete line (Atari Shift+Backspace)
Shift+Backspace      Delete line (Atari Shift+Backspace)
Ctrl+Delete          Delete character (Atari Ctrl+Backspace)
Ctrl+Backspace       Delete character (Atari Ctrl+Backspace)
Shift+Ctrl+Delete    Shift+Ctrl+Backspace
Shift+Ctrl+Backspace Shift+Ctrl+Backspace
Home                 Clear (Atari Shift+'<')
Ctrl+Home            Ctrl+'<' (also clears screen)
Shift+Ctrl+Home      Shift+Ctrl+'<'
Up                   Up (Atari Ctrl+'-')
Down                 Down (Atari Ctrl+'=')
Left                 Left (Atari ctrl+'+')
Right                Right (Atari ctrl+'*')
Ctrl+Up              -
Ctrl+Down            =
Ctrl+Left            +
Ctrl+Right           *
Shift+Up             _ (Atari Shift+'-')
Shift+Down           | (Atari Shift+'=')
Shift+Left           \ (Atari Shift+'+')
Shift+Right          ^ (Atari Shift+'*')
Shift+Ctrl+Up        Shift+Ctrl+-
Shift+Ctrl+Down      Shift+Ctrl+=
`                    Atari/Inverse key
CAPSLOCK             CapsToggle (+Shift = CapsLock)


Joysticks

Apart from standard joysticks (handled by the SDL) up to two keyboard joysticks are supported. The keys used for joystick directions and the trigger can be freely defined in the config UI (Controller Config -> Define layout). Keyboard joystick emulation can be enabled/disabled in the Controller Config. By default, joy 0 is enabled and joy 1 is disabled (to not steal normal AWDS keys in the emulator).


Default joystick keys for first joystick device

numeric 8   - stick up
numeric 5   - stick down
numeric 4   - stick left
numeric 6   - stick right
right SHIFT - fire (trigger)


How to attach original Atari/Commodore joystick?

Atari joystick for USB keyb1.jpg

You can build a simple interface to translate original joystick signals to USB HID device commands. It requires some knowledge and is not very easy.

For more information you can check these websites: V-USB A Firmware-Only Driver For Atmel AVR Microcontrollers or USBjoy - V-USB.

In my opinion, the easiest way to connect Atari joystick is to attach it to the USB keyboard. How to do it? Open your USB keyboard, then locate PCB pins that are shorted by keyboard's keys. Search and choose 5 keys shorted to one common pin. In my keyboard, I found such keys: C, D, W, -, 2 and [ (even one extra key as you can see). Do not choose keys often used in games or operating system itself, like SPACE, ESC or ENTER.

Then connect this common pin to pin 8 of Atari joystick (DB9 male connector - pin 8). All other keys can be connected in any order to the Atari joystick pins: 1 (up), 2 (down), 3 (left), 4 (right) and 6 (fire). Then you have to configure your "keyboard" joystick in UI menu. That's all.


This is the whole thing made in 2-3 hours:


Atari joystick for USB keyb2.jpg


And this is the PCB itself (note that there are many different keyboards so there is no common schematic for every keyboard). Treat this description as an example. In your particular keyboard you have to use a piece of wire to test which PCB pins to attach to.


Atari joystick for USB keyb3.jpg


What is missing? You may add some protection circuits or devices (parts) to protect your keyboard's IC against electromagnetic fields or radio interferences.

Please don't use long cables to prevent troubles. Do not connect other devices than Atari joystick to your DB-9 connector.

Reference image: Atari/Commodore original joystick schematic:

C64joy.png


Mouse

Paddles, Atari touch tablet, Koala pad, light pen, light gun, ST/Amiga mouse, Atari trak-ball, joystick and Atari 5200 analog controller are emulated using mouse.

USB mouse is supported but disabled by default. To enable mouse please select mouse mode in user interface menu.

Note that emulated mice like touch-tablet mice may not work.


Samsung remote control buttons

In general, prefered device is USB keyboard, but you can use remote control as well to emulate some Atari keys or call some special functions:

REMOTE    KEYBOARD/FUNCTION
------    -----------------
POWER     F9 (exit emulator)
TV        F7 (BREAK)
0...9     0...9 or ["],[A]...[I] or [-],[J]...[R] or [,],[S]...[Z],[.]
PRE-CH    letters/numbers mode for remote control keypad
SOURCE    LALT+G (screen width mode)
CH.LIST   LALT+C (cartridge management)
MENU      F1 (UI menu)
FAV CH    LALT+Y (select system)
cursors   cursors
ENTER     ENTER (RETURN)
INTERNET  F6 (HELP)
TOOLS     F1 (UI menu)
RETURN    ESC
EXIT      F9 (exit emulator)
red       F4 (START)
green     F3 (SELECT)
yellow    F2 (OPTION)
blue      F5 (RESET)
VOL+/-    master volume control
MUTE      mute/unmute sound
TTX/MIX   LALT+B (black and white mode)
MEDIA P.  LALT+O (sound settings)
CONTENT   F9 (exit emulator)
INFO      LALT+A (about emulator)
GUIDE     LALT+R (run Atari program)
SUBT      LSHIFT+F5 (cold RESET)
REWIND    BACKSPACE
PAUSE     CTRL+1 (Atari pause)
FORWARD   SPACE
RECORD    LALT+W (sound recording start/stop)
PLAY      F5 (START)

Other buttons are unused or blocked.


Atari800 remote control buttons.jpg


How to exit emulator

By remote control: hit EXIT, CONTENT or POWER button or hit MENU button (UI menu), then select "Exit Emulator"

By USB keyboard: press F9 key or press F1 key (UI menu), then select "Exit Emulator"

Where to get Atari games (ROMs) from ?

First, use Google or other web search engine to look for them. There are many websites hosting ROM files for old machines.

Here is an example list of websites holding Atari ROM files:

ftp://ftp.pigwa.net
ftp://atari.fornax.sk
ftp://ftp.funet.fi
http://vjetnam.hopto.org
http://www.atari800.net
http://www.atarimania.com


How to access external USB device (pendrive or HDD) ?

FOR ADVANCED USERS! YOU NEED TELNET ACCESS!

If you copied Atari800 emulator to the internal memory, you can access only internal files. But you can create a symbolic link that will allow you to acces external directories like USB device. Run telnet, login to your tv, then type:

cd /mtd_tlib/GGame/Atari800/files
mkdir USB1
ln -s /dtv/usb/sda1 USB1

NOTES: verify if you have /mtd_tlib/GGame/Atari800 directory with copied emulator files before. Check your external pendrive path (/dtv/usb/sda1 in this example). You can add more links (USB2 to /dtv/usb/sdb1 for instance). Links are permanent. To remove them, simply remove created subdirectories (by command: rm -r USB1).


Known bugs

- delayed sound
- SOURCE and TTX/MIX buttons produce too fast actions (screen may flash)
- dirty margins in narrow width mode before UI menu was called
- PC USB tablets (even in mouse mode) may not work
- limited access to pendrive when executed from internal memory
- remote control buttons cannot be pressed simultaneously (quite obvious)
- remote control buttons cannot be used for joystick simulation
- not all Atari software works well (common problem for all software emulators)
- recorded WAV files or screen capture files cannot be deleted easily; they can be accessed using telnet or FTP
- ROM memory failed in SELF TEST; this is normal
- sometimes: abnormal termination on exit command called from "Crash Menu"
- sometimes: emulator slows down and sound is broken; please restart emulator
- screenshots may not be made correctly

PLEASE KNOW THAT THIS EMULATOR HAS NOT BEEN FULLY TESTED! SOME BUGS STILL CAN BE UNKNOWN!


Common problems

PROBLEM:

Atari800 no ROM files.gif

SOLUTION:

Delete atari800.cfg configuration file or create pendrive again. Make sure that all system ROM files reside inside "ROM" subdirectory.


PROBLEM:

I cannot remove (old version of) Atari800 emulator from Content Library (internal memory).

SOLUTION:

Probably it cannot delete configuration file created later (.atari800.cfg). Use telnet command to remove the whole Atari800 directory with all files inside. For example:

rm -r /mtd_tlib/GGame/Atari800

and restart your TV.


PROBLEM:

USB keyboard or USB joystick is not working.

SOLUTION:

Turn off your TV, then turn it on again. USB keyboard or joystick must be initiated while drivers are loaded.



More information

You can find detailed information and source code on Atari800 project website: http://atari800.sourceforge.net


Credits

Credits for original project:
http://atari800.cvs.sf.net/atari800/atari800/DOC/CREDITS?rev=HEAD&content-type=text/vnd.viewcvs-markup

Samsung TV port (c)2010-2011 by geo650 (SamyGO forum, Atari.Area forum) / sam650 (HDTV.com.pl forum)

with help of the following people:
- Fox (Atari.Area forum)
- Krótki (Atari.Area forum)
- maw (Atari.Area forum)
- arris69 (SamyGO forum)
- moras86 (SamyGO forum, HDTV.com.pl forum)
- nbd (SamyGO forum)
- doodlecz (SamyGO forum)
- erdem_ua (SamyGO forum founder)
- and other people from SamyGO forum


USB HID drivers come from SamyGO Files: SamyGO Mouse and Keyboard Modules v0.01


--Geo650 12:59, 15 September 2010 (UTC)
small update: --Moras86 17:34, 8 August 2011 (UTC)