ty64 Commodore 64 emulator
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:
- This is a desktop application. The recommended minimum browser window size is 1440 pixels wide and 720 pixels high.
- The program mainly uses the processor, and secondarily the video card. The optimal running speed is when the performance meter shows a value below 50%.
- I recommend disabling browser extensions on the emulator page, as they can significantly degrade performance.
- I recommend that you enable automatic sound playback for the emulator page in your browser's security settings. Otherwise, the emulator will only play sounds after the first user interaction.
- The program is still under active development, so previously saved state files (.ty64 file) may not work after a next version is released.
- Be careful not to use key combinations that browsers have reserved for their own functions. These combinations cannot be overridden. For example, do not use the CTRL as the fire button and the W as the up arrow, as pressing these keys together will close the browser tab.
- If anything goes wrong, or if you want to restore factory settings, open the reset link: https://ty64.krissz.hu/reset/
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.
|
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:
- The most important thing is the performance of the computers (mainly the processor performance matters). If the performance meter shows a value above 50% for any party in offline mode, then delays, hangs, and data packet congestion may occur during network games, because then the machines cannot send/receive data packets at the speed that would be expected.
- The second most important thing is the physical distance between the two machines. Even with two very powerful machines, there can be delays when data packets have to be sent to the other side of the Earth.
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