-
Notifications
You must be signed in to change notification settings - Fork 12
Home
See Assembler User's Guide at ASM
The Kernal64 emulator can execute programs taken, mainly, from four types of devices:
- D64,G64 1541 disk format
- D71 1571 disk format
- D81 1581 disk format
- TAP/T64 tape format
- PRG files
- CRT, cartridges
Here a list of sites where you can find games, applications, utilities, etc:
- http://www.cbm8bit.com/
- http://www.elysium.filety.pl/tools/cartridges/pack.2/%3D%3D%3Dindex.html
- http://www.haddewig.de/nogames64/tools.html
- http://www.c64.com/
- http://csdb.dk/
- https://www.lyonlabs.org/commodore/onrequest/geos/index.html
- http://old.c64warez.com/
The joystick can be emulated via keyboard or via a real USB joystick. The joystick with keyboard emulation can be done via keypad (INS key is fire) or via custom keys chosen by the user. See Settings -> Joysticks menù.
For the keyboard I'm using the Italian Keboard Layout:from 1.4.0 the layout can be modified with the Keyboard Editor and saved in an external file.
Yes, it's possible, still today, to connect to an old Bulletin Board System. For a list of BBS see http://cbbsoutpost.servebbs.com/
To connect to the external world, the RS-232 interface is used: Two ways are possible, the User Port and the Expansion Port. The first one was used, mainly, for the old Commodore modems. The RS-232 Kernal routines work on this implementation but are limited to 1200/2400 baud. The latter one was used by cartridges, like SwiftLink and can run up to 38400 baud.
To activate an RS-232 implementation go to the Settings Menu, and select RS-232. Here you can choose the available implementations. The Telnet implementation must be used to connect to telnet BBS or in general to a telnet server: in the pop-up insert the host:port references followed by modem parameters baud,bits,parity,stop bits. For example: borderlinebbs.dyndns.org:6502,1200,8,n,1.
The Tcp implementation can be used to connect to a tcp endpoint, like CommodoreServer.com. In the pop-up use the following parameters: www.commodoreserver.com:1541,1200,8,n,1
The Process implementation executes an external process and uses its input/output stream to read/write bytes that will be exchanged with the RS-232. A good example is the Slack client from http://1amstudios.com/2016/11/27/c64-slack-client. In this case the external process is the nodejs executable that runs the app.js application.
For SwiftLink, choose "SwiftLink $DF00" (if you want to put it on IO2) or "SwiftLink $DE00 + REU" to install a SwiftLink on $DE00 + 512K of REU on $DF00. Then it asked to type the configuration string: here you can type the bbs server and port, to connect immediately, or you can type 'modem' to postpone the connection. If you postpone the connection remember to connect inside your terminal program: in the terminal type ad host:port + RETURN. I suggest you to use NovaTerm v9.6 as a terminal program. Remember to select the SwiftLink RS-232 driver.
Here some examples:
Under Settings -> IO -> Flyer internet modem you can enable the Flyer card on device 7.
The implementation does not support the cloud functionalities.
The Flyer is also a disks repository: you can set the local directory where you want to store the disks (Settings -> IO -> Flyer internet modem -> Set disks repository.
Try out the Flyer software
Here an example, the IRC program:
Some games used sophisticated fast loaders: it can happen that the default settings are not able to permit those software to run properly. Try to change the drive speed in the drives panel (Settings -> Drives) checking "Max speed". I found some demo scene software to run with this setting only.
Another settings to change can be the drive auto-sleep: uncheck "Can go sleep" in the panel; I found this useful, for example, for the Nostalgia games (https://www.n0stalgia.org/)
Yes, there is a support for the old (and probably unuseful) CP/M cartridge. Under the Settings -> I/O menù select the CP/M item: now you're ready to use the wonderful world of Z80 processor. In order to get ready with CP/M you have to download the Commodore CP/M boot disk (ftp://www.zimmers.net/pub/cbm/demodisks/c64/cpm/index.html) and run it. For further reading see also http://www.z80.eu/c64.html
Here you can see the emulator running the MBasic from Microsoft:
To make CP/M disks, please visit https://github.com/mist64/ctools
Try to activate the second SID from Settings -> SID -> Dual SID on $DE00 or $DF00 (as if it were an external CRT). Now you have 2 SID running together in stereo mode. To appreciate this new sound, go to http://www.lyonlabs.org/commodore/stereo-sid/stereoplayer-10_3.d64 and run it. Try to play on of the stereo songs contained in the d64 and enjoy it (remember to set the external 2nd sid address to the same set in the emulator and to disable fast loading).
Share your Kernal64's screen and input devices with another player on the network! Go to Settings -> Remoting -> On and select the local listening port. From now on you will see a (?) blinking in the window's title bar, meaning that it is listening for an incoming connection.
Now the other player can run the remoteclient script with the host and port parameters (host and port of the Kernal64's listening server) on the command line.
On the server the blinking (?) become (R), meaning that a connection has been established. The server screen has been remoted on the client and the player on the client can use his own keyboard as if it were on the server.
To play a game in a two-player mode on the server select the input devices: On the server you can use both the keyboard or the USB joystick, while on the client you have to use just the keyboard (custom keys or keypad).
Here an example of the Pit Stop 2 game (I did not make an instant snapshot on both client and server...) :