ty64 Commodore 64 emulator

magyar english

ty64 is a brand new Commodore 64 emulator for web browsers, written completely from scratch, in native javaScript. My primary goal with this project is to learn and understand the C64 as thoroughly as possible. My other goal is to create a lightweight, easy-to-use, lovely, user-friendly emulator by taking the advantages of the on-line platform.

The ty64 emulator is currently under active development, but because of the high interest, it is freely available even during the development, so anyone can follow the progress of the project. The current version is far from perfect, but it already meets 99% of use cases.

Important information

It is essential to use a modern web browser to run the emulator. Brave, Opera, Chrome, and Firefox provide the best performance, in that order, but any other modern browser with a similar engine can be used.

A few tips for smooth use of the application:

Control buttons

Turning the computer on and off, hard reset.
Pause or continue emulation.
The function can also be accessed using the PAUSE key.
Turbo mode, which makes the emulation run at double speed.
(It means a double load on your computer.)
Open and load a file into the machine. The following file types are available:
.prg - C64 binary
.t64 - C64 cassette
.d64 - C64 disc
.sid - SID music file
.ty64 - the ty64 emulator's own save format

If you hold down the SHIFT key while clicking on the icon, the loaded program will not automatically start, but will only be loaded into the machine. This is useful for listing BASIC code, for example, or entering POKE cheat commands.
Opens an URL. You don't need to download the files from the net what you want to open. Just enter their path and the emulator will open them automatically. You can also enter a csdb release URL or a HVSC SID path, and the emulator will automatically open the found C64 contents.
Save the state of the emulated machine to a .ty64 file. In SID music player mode, it saves the .sid file.
Quick save of the emulated machine state. No file is downloaded, the save is kept by the browser, so you can quickly press it even while playing. The function is also available with the F12 key.
Quick restore of quick save. Pressing a button will immediately restore the quick save version. The function is also available with the F9 key.
Insert a D64 file (disk) into the disk drive. If there is a disk in it, clicking on the icon will show the disk directory. The files in the list can be loaded by clicking on them.
Open the graphical keyboard. If you can't find a C64 key on your keyboard, you can press it on this virtual C64 keyboard.
Open the joystick mapping panel. You can set which keys represent the joystick directions. Or, if you want to play with a gamepad, pressing one of its buttons will add the device to the list of available controllers. Using a gamepad is more convenient because it doesn't cover any buttons on the keyboard.
By clicking on the joystick icons next to the panel's button, you can pull out or plug the joysticks into the given control port.
The button and the SCROLL LOCK allows you to quickly swap between the two joysticks, as if you were pulling both out and plugging them into the other port.
You can adjust the image size, color palette, and apply visual filters in this pop-up. Enabling a filter may also involve changing the palette.
Button to switch between day and night color themes.
Take a screenshot of the foreground in 320x200 pixel resolution.
Pressing it with the SHIFT key captures the entire screen in 384x272 pixel resolution.
This function can also be quickly accessed by pressing the PAGE DOWN key while playing.
Open SID panel. The ty64 emulator supports 3 SID chips. The memory addresses and chip models can be set. There is a separate volume control for the SID sound and the environment sounds (keyboard, joystick).
This panel opens automatically when you open a SID file.
Computer sharing, shared computer use. Choose whether you want to share your computer or join a share. Pairing is very simple. The host sending the eight-character code generated for him to his invited partner, who copies it into the pop-up field. And the connection is live! (More on the netplay function below.)
Switch to full screen mode. The F11 button also works.
A collection of less important menu items. This pop-up contains functions that are not so important that they occupy a fixed place in the status bar.
This document. :)
Pastes text from the clipboard into the C64. Suitable for quick type of BASIC codes.
Reads the text content of the screen and copies it to the clipboard. It is used to convert the "texts" displayed on the C64 into real text.
Turn the performance meter on/off.
Loads and plays a random SID file from the HVSC database.
Opens a random C64 game in a new tab.
You can support the project clicking on it.

Network gaming / shared computer use

The shared computer feature allows the invited partner to connect to the computer of the user sharing his computer. The concept is as if the two people were physically sitting in the same room, in front of a computer, and using it together. This means that the keyboard and joysticks are shared, meaning that if either party presses a key, moves the joystick, or rewrites the key assigned to the joystick control, so if they set anything, it is also seen and happens synchronously on the other side. The feature is obviously also suitable if you just want to show your gameplay to your buddy, your partner does not need to intervene, he can remain an observer.

Only the host of the machine, the inviting party can load programs, mount disks, and save states. If the connection is interrupted for some reason, the guest party returns to its own emulation, while the shared emulation stops at the host, so that when the two parties reconnect later, they can continue their activity from exactly the same state where they left off. Or if there is no internet for a longer period of time, the host can save the state of the machine, so that they can continue at a later time, meaning that the work/game created together is not lost.

During network gaming tests, I found that there are two key factors for a consistent gaming experience:

Contact

You can send your remarks to .
You can find the list of dedicated game pages here. You can support the project by clicking here!


Have fun using the emulator!
Krisztián Tóth