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.
- 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.
- 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.
- 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%.
- The program is still under active development, so previously saved state files (.ty64 file) may not work after a next version is released.
- The emulator remembers its state when it was closed, meaning that when you reopen the website, the emulation will continue exactly where it left off. If anything goes wrong, or if you want to restore factory settings, open the reset link: https://ty64.krissz.hu/reset/
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.
|
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.
Have fun using the emulator!
Krisztián Tóth