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

Open and load a file into the machine. The following file types are available:
.prg - C64 binary
.t64 - C64 cassette
.d64 - C64 disc
.crt - C64 cartridge
.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. Loading files also works using the drag and drop method.
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 valid csdb release URL or a HVSC SID path, and the emulator will automatically open the found C64 contents.
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.)
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.
Shows the status of the 1541 floppy drive. You can insert a floppy disk (d64 file) into the disk drive or remove the floppy. If there is a disk in the drive, the popup also lists the disk directory. The PRG files in the list can be loaded by clicking on them.
Shows the status of the expansion port. Here you can insert and remove cartridge chips (crt files) into the port. If there is a cartridge, the popup also shows its basic information. The cartridge always takes control when the machine starts, so the cartridge must be removed first for normal use of the machine.
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.
You can click on the joystick cords to pull them out or plug them into the machine.
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.
Turning the computer on and off, hard reset.
Pause or continue emulation.
The function can also be accessed using the PAUSE key.
Stepping the emulation frame by frame.
Turbo mode, which makes the emulation run at double speed. Holding down the NUMPAD DELETE button allows you to access this function faster than clicking the icon, making it ideal for speeding up during gameplay.
Viewing the timeline and rewinding time. You can go back to any point in the last two minutes of the emulation. It's like rewinding a film, forward and backward, and then you can continue the emulation at any point you want. In case of difficult games, this is a much more useful function than quick saving. By holding down the NUMPAD INSERT button, you can instantly rewind to the past while playing without opening the panel, making it the ultimate unlimited life cheat.
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.
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.
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.
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 documentation.
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.
Pastes text from the clipboard into the C64. Suitable for quick type of BASIC codes.
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.


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