Arduino ide software esp8266 board support ft232 or similar usb uart. The commodore 64 had documented cartridge port pins which could be crossed to achieve a. I decided to try and connect a commodore 64 across the user port, using rs232, to the arduino. Software on the pc side makes the strikelink act as a virtual hayes modem at 2400 baud. The most features rich are novaterm and striketerm. Set baudrate to 2400 and device to the correct name. Commodore 64 revamp with raspberry pi, arduino and lego.
Connect a c64 to a raspberry pi or a pc to transfers data on. Youll find thats not quite that easy since the c64 doesnt have a standard rs232 serial port. I eventually want to let the c64 tweet but for now i am just sending a string. The c64 is able to display the state of the led, relay and servo outputs, as well as read the arduino s button and potentiometer inputs. Make sure your commodore 64 or whichever commodore youre using is setup on your desk and will load to the basic screen. The setup and the outcome is relatively simple, but it works fine for me and what i need it for. Connection is achieved at 2400bps over the user port, which is plenty fast for most ui applications. Modern clone of the commodore vic1011 with up9600 enhancements. The resulting modification enabled the commodore 64 to play sound in 6channel stereo with the appropriate software. New firmware or user created arduino sketches may be uploaded directly to the mcu via the commodore 64 or other external device. Controlling relays through webserver with an arduino and.
Once you have your disk images, youre ready to make some floppies. Interface your c64 with arduinos through firmata hackaday. I got a code from the net which works great and i can control the relays perfectly. Below are some of the options to burn disk images for your commodore 64. Before actually connecting the module rxtx lines to the arduino, the software sketch has to be prepared and flashed to the board in a special mode for a onetime software configuration of baudrate, pincode and device name.
The commodore original had a cartridge sized box as part of the user port, which housed the circuitry for the control ports, but that meant a lot of wires going from there to the control ports, the user port tests is just a series of loopback connections, all it got from there was power, which can also be got from the control ports, so i just made this as a loopback. Up9600 mode for 9600 baud operation with custom software. Taihaho, westridge, and so on, plug into the user port directly, supplying 2400 baud. Refer to the getting started page for installation instructions. The opensource arduino software ide makes it easy to write code and upload it to the board. Connect usb joystick to commodore c64 arduino project hub. The uno2iec project is a 1541 iec interface emulator using the arduino uno as the direct iec interfacing link between the cbm c64, c128, pet, plus4 and a. Once your there turn off the computer and unplug the power connector from it. The ultimate 64 is a commodore 64 clone in an fpga format. On the other hand, if i make a bypass after the two resistors to gnd for the voltage divider to work, the c64atari would detect that the direction pin has been connected to ground and thus interpret this as the joysticks move in that direction. They allow you to plug in the harness so your 586220 or 785260 can test all the ports on your commodore 64 or 128. Id use the spi interface on the arduino to the user port. As a result, the 5v from the joystick port would then again be applied directly to the esps pins. How to interface a c64atari joystick port with the.
Attach the usb micro side of the usb cable to the dues programming port this is the port closer to the dc power connector. Common uses include wifi modem connection, arduino interfacing, controlling leds or relays. Using a real c64 user port arduino n gnd m rx1 b,c tx0 power up the arduino using a usb power plug or a power adapter. If i can do it worlds or cool c64 arduino home automation and internet projects will be within retro reach. So, in my previous post, i was heading towards building an archaic circuit to control trains with the user port. C64wifimodem, as the name suggests, is a user port addon for an 8bit commodore 64 home computer that enables you to connect your retro machine to. Of course, youll also need an adapter that plugs into the c64 user port to give you standard rs232 signals.
Sd2iec manual how to use the sd2iec on the c64 the. From memory the shift register pins are brought out to the user port. Here is how to construct a basic commodore 64 midi interface. When you select user port mode the maximum baud rate you can set is 2400. Connection from the c64 user port to the xbee via a level shifter from adafruit. Well also use one at the other end for the arduino. Esp8266 txd gpio15 c64 user port b and c but through a switch esp8266 rxd gpio c64 user. User port connector esp01 esp8266 module 3v3 regulator a couple of 3v3 zener diodes resistors. Unlike the cartridge port, which basically just exposes the entire address and data buses of the 6510 cpu, the user port is tied into one of the c64 s two cia chips. Eight of the ports bottom pins interface with a mos6522 via and act as a parallel ttl input when the data direction register is configured as such. Its just the normal user port, used as a rs232 port. These provide the usb, hdmi and network ports on the commodore 64 to plug into. The parts listed below will allow you to hook your c64 to any usb port on a pc.
I have a software problem, im controlling relays through ethernet shield and arduino. My idea is to make a program that input data on a c64 and make it processing on a bigger. This article or section is in the process of an expansion or major. The environment is written in java and based on processing and other opensource software.
So these routines dont actually use the shift register capabilities of the cia, and have to do the shifting, parity calculation and bitbanging in software. Turn off the commodore computer and plug the rs232 serial adapter into the user port. Posted in retrocomputingtagged arduino, c64, commodore 64, firmata. Makers, developers and hobbyists that are considering building a retrostyled pc system, may be interested in a new diy commodore 64 based mos 6502 microcomputer system, that has been built by. Ive connected each user port pin to an arduino digital pin 2 through 9.
Board plugs into the user port and supports 2400 baud from basic and using the standard commodore kernal routines. The mcu has full access to the following onboard modules and interfaces. Yesterday when i got it working with the sidlibrary it got me to want to boot the original c64roms on it. What were the 9 vac pins used for on the commodore 64 user. So it was time to perform some communication tests between the c64 and a listener device. If youre not using windows, or have some other arduino style flashing tool, you can use the. Enhanced commodore 64 rs232 serial adapter from hals. However, noncommodore printers and modems will only connect via an rs232 adapter. The arduino due is programmed using the arduino software ide, our integrated development environment common to all our boards and running both online and offline. Its a fun project, which allows one to use the c64s charming retro graphics to interface with an arduino based project. A commodore cbm 1541 emulator on the arduino uno, using any desktop pc or. On the c64 side, i needed to keep things simple so that my code would be portable to project. Thanks to my colleague alex, an arduino uno was the first test subject with a small lcd, because no voltage level conversion is needed, so it can be connected directly to the user port.
Diy commodore 64 style allinone powered by 8bit mos. The user port on the c64 also has serial connections. The c64 did not come as a kit, of course, but it did come with a user port a port really, just the exposed edge of the circuit board on the back of the machine that you could plug your own electronics projects into. We should have the harness in stock later in the summer. The arduino due is a microcontroller board based on the atmel sam3x8e arm cortexm3 cpu. Build your own strikelink c64 user port usb device. Upload the keyboard mapping software to the arduino micro. Eight of the port s bottom pins interface with a mos6522 via and act as a parallel ttl input when the data direction register is configured as such. C64esp8266 wifi adaptor beta testers wanted commodore. The mainboard is similar in design to the c64 and offers much of the same ios as the original, including joystick ports, tape port, and user port, which isnt in the original position but accessed through an onboard header. It gives you access all the pins from the user port.
If youre lucky to have a terminal program already on floppy on your c64, you can do the serial route. The c64 and c128 share the same user port standard, but it differs from other commodore. Sometimes you just need a good software interface between chip and computer. Connect to the db25 port on the back the serial device you want to use and load the terminal software. Both supplies were rated for 100 ma, so you could carry significantly more load by utilizing both supplies. The user port supports several different kinds of io including an rs232 serial connection thats used by most c64 modems.
I eventually want to let the c64 tweet but for now. Rs232 interface for commodore 8bit computers with a user port vic20,c64,sx64,c128,c128d,plus4. To upload a sketch, choose arduino due programming port from the tools board menu in the arduino ide, and select the correct serial port from the tools serial port menu. My earlier experiments with spi used the c64 user port, which is connected to one of two 6526 cia chips. Max speed is 250kbit per second with only a few wires. Controlling electronics with the commodore 64 user port.
In arduino land, we dont talk about port c, bit 7, we talk about pin and in almost all arduinos pin is the notification led the ones you use for your very first blink program the underlying arduino wiring library hides the actual hardware port and bits from you. As long as the arduino pin can drive sufficient current it should be able to and is operating at 5v, a direct connection will work. Connect the arduino directly to the c64 user ports tx,rx connector using the table below. In conjunction with the opencbm software, this allows files and whole disk images to be transferred to and. It gives the user realtime control over the sid chip via midi data in terms of basic synthesis. The c64 did not come as a kit, of course, but it did come with a user port a port. I think it is possible but for all the books i have read i cannot actually find out how to command the c64 to send the text, say as a char byte array or whatever is possible, out of the user port. These can be difficult to come by if you dont have one, like the commodore made vic1011a.
The third part of a series where i explore the possibility to use the user port on an old commodore 64 8bit computer from the 80s, to communicate with. This wouldve worked, had i spent a lot more time and built a very complex circuit. But the problem im getting is when i add too many buttons on the html page, the html page just doesnt load. I didnt want to use the 5v output of the c64 control port to not put any. Gideons ultimate64 is fpgabased, which implements the logic gates of the original c64, so theres no need for emulation. These are ttl and so need to be brought up to the rs232 5v standard. One is powered from the user port, while the other is powered from the tape port. User port of a c64 the user port connects external devices such as modems and printers to the commodore 64. Unlike the cartridge port, which basically just exposes the entire address and data buses of the 6510 cpu, the user port is. Jans code isnt limited to the due, and can be used with any chip. Connection is achieved at 2400bps over the user port, which is plenty. Comet plus internet modem allinone internet access. If you already have access to an arduino, then this could be quite affordable. To represent a logical 0, a pin is to be coupled to ground.
Connect a ground pin from the arduino to the bluetooth ground as well. Connection is achieved at 2400bps over the user port, which is. Using a real c64 user port arduino n gnd m rx1 b,c tx0 power up the arduino using a usb power plug or a. Im brand new to the world of arduino and electronics in general, approaching from a background in programming im attempting to interface a duemilanove to the user port of a commodore pet 4032. Plug in the arduino, note down the device name of the arduino dev. I would love to see someone come up with a way to hack the c64s serial port so it would handle standard usb thumb.
It is the first arduino board based on a 32bit arm core microcontroller. According to the maker, the user port breakout board is probably the most simplistic accessory you could have for your commodore. A modification could be made to older model commodore 64 motherboards to piggyback a secondary sid sound chip to the original sid chip. This is a cheap wifi telnet adaptor for the c64 based on the dirt cheap esp8266 wifi transceiver. Controlling electronics with the commodore 64 user port part 3 with arduino. The rs232 routines in the rom of the c64 use port b of the cia pb0pb7 on the userport to inputoutput all rs232 signals including tx and rx. Spi interface, which controls the flash ram, sram, sd card and gpio along with any user created spi devices rs232.
573 1355 466 313 1324 1522 1473 1583 429 539 392 1330 909 1403 1366 58 1456 1431 169 712 1639 831 1615 726 1555 82 1506 908 989 339 1220 1300 1033 785 1341 1120 1343 1380