Pi1541 Zero edition

This version of the Pi1541 is made just as small as the Raspberry Pi Zero. It will run on Raspberry Pi 1, Zero, Pi2 and Pi3, but the small size makes it perfect for the Pi Zero computer. Size limitation made no room for a screen, but all the other accessories are there, like Power LED, activity LED, Buzzer to emulate drive sound, reset button and 5X menu buttons.

Note: currently the Pi’s HDMI screen is not suppported on the Pi Zero, 1 or 2.
Note: currently the USB keyboard and drives are not suppported on the Pi Zero, 1 or 2.
Note: currently the emulated drive sounds are not suppported on the Pi Zero, 1 or 2.
These will be supported later, and the hardware is already set up for it when it is supported.

So what is this Pi1541? The Pi1541 is a real time, cycle exact 1541 emulator by Steve White. It basically connects to a Raspberry Pi 1, Zero, 2 or 3 to emulate a Commodore 1541 floppy drive. (If you want to overclock those older Pi models, Use the config.txt to set the values. The sign # is used to make the Pi ignore the text. Remove it to enable the settings.) Why do we need this when there is the SD2IEC? Its because a lot of games and demos utilize the chips inside the 1541 floppy drive, so without them, the program or game will not work. Here, the Pi is emulating those chips, so that the games will work. No more games that wont load due to incompatibility. The Pi1541 has all the buttons, LEDs, connectors and stuff that ports the Pi to your old computer. It can be used with your Commodore 64 or 128, VIC20, C16 or even the Plus/4. All you have to do is to copy the files over to the root of the Pi memory card, and copy your games and program into the same SD-card and insert it into the Raspberry Pi. You should check out the authors website for the latest version of the software. Link is below.

There are several ways to use this, but I decided to use it the same way I used to use the SD2IEC. I just start the File Browser and use the C64 keyboard to select my game. When everything is connected and turned on, I just use it as if it was a normal 1541 floppy. The latest news it that now, it also can emulate the Commodore 1581 floppy drive, it supports more file versions and it now also supports USB thumbdrives too!

Look at the size difference between the Zero and the “normal” Pi1541. The one in the picture has the limited edition 1.3″ OLED screen.

SD CARD SETUP FOR Option A version (NON SMD)

1. Format an SD card to Fat32.

2. Download the Raspberry Pi Firmware from the Raspberry Pi Foundation.

3. Copy the files bootcode.bin, fixup.dat and start.elf (found in firmware-master\boot)) into the root folder of your SD card.

4. Copy over a file that contains a 1541 ROM image into the root folder of the SD card. The ROM must be called dos1541 or d1541.rom or d1541II or Jiffy.bin.

5. (OPTIONAL) Copy over a file that contains a CBM font ROM (eg vice-3.1\C64\chargen) into the root folder of the SD card. The ROM must be called chargen. This will enable Commodore charset on the screen.

6. Copy your disk images and folders into the 1541 folder now found on the SD card. Or, simply download the below pre made setup and extract it to a SD card. You can start with that to be up and running right away.

This is the root contents on my SD card when using a Pi3. Just an example.

This is the root contents on my SD card when using a Pi2. Just an example.

This is the root contents on my SD card when using a Pi Zero. Just an example.

This is the root contents on my SD card when using a Pi 1. Just an example.

This is the root contents on my SD card when using a Pi Zero SMD Version. Just an example.

The only 2 differences between this setup and the one from my full version, is this setting in the options.txt file found in the root folder of the SD card: “splitIECLines = 1” must be used on Option B setups, and if it is Option A, it must be changed to: “// splitIECLines = 1” and Each version of Raspberry Pi needs their own files due to different CPU and speed. Choose the one you have from the list above.

The SMD version of this is a Option B, and in this file setup, the Pi Zero is 10% overclocked. If you dont want to use overclocking, you can edit the config.txt and add a # in front of these lines:

# 10% overclock
arm_freq=1100
over_voltage=8
sdram_freq=500
sdram_over_voltage=2

 

Partslist

  • PCB
  • R1                   220 or 330 Ohm
  • R2                   220 or 330 Ohm
  • ACT LED 3MM Green
  • PWR LED 3MM Red
  • 4 channel Level Shifter with pin headers
  • 6mm RESET tactile switch
  • SW1 tactile switch 6x6x6
  • SW2 tactile switch 6x6x6
  • SW3 tactile switch 6x6x6
  • SW4 tactile switch 6x6x6
  • SW5 tactile switch 6x6x6
  • 2×20 pin female connector
  • BUZZER
  • SPKR Enable jumper + pins
  • IEC1 din6

Assembly:

The assembly is very straight forward. Just follow the markings on the PCB and look at the images of the already soldered Pi1541 boards here. I like to start with the shortest parts first. The R1 and R2 resistors are for the red and green LEDS. If you think that the red LED is too bright, you can replace R2 with a different value resistor. Anything between 220 Ohm and 680 Ohm looks good. Resistors are not polarized, so put them in any direction you want.

Next part is the 2×20 pin female connector. Make sure you solder it on the correct side. Look at the pictures to make sure. There might be several versions of the PCB, so make sure you follow the markings on the PCB.

Next in line is the 2 LEDs. Green is for activity, and red is for power. You can swap them if you want. Maybe you got a fancy color LED you want to substitute? There is a trick I use to find the orientation of LEDS, just look at the pin holes. One of them is connected to the ground plane, and that is the cathode, (shorter pin) You can see how the ground plane pin has connections to all sides in a cross pattern. Look at both and you will soon see which is the correct one. If you are still unsure, you can also use a multimeter to verify which one is ground. The LED itself also has a tell. If you look inside, you will see a small pin, and a bigger “chunk” of metal. The big one is cathode (GND)

Next in line is all the tactile switches, including the one marked reset. Just pop them carefully in and remember to solder all 4 legs. Note that the reset button only works on C64 revisions that support reset via the serial port. It will do no damage to unsupported machines, it will simply not work.

The 2 pin jumper is easy. Just solder it on one leg first, then reheat and align if its crooked. Then you can solder the second pin. The jumper is there to enable the buzzer.

Next put in the buzzer. It has a + sign on the component and on the PCB, so align those. The buzzer is there to simulate the stepper motor drive sounds.

The large DIN connector are next. Notice that the legs have a flat side. It can be smart to put the soldering iron on the flat side to transfer enough heat for a good solder joint. Make sure to solder all pins.

Now for the level shifter. On this model, the levelshifter is to be mounted on the top side.  The easiest way to mount it, is to first put the 2 pin headers in the 6 holes short end of the pins facing down, and then the level shifter pcb on top, while making sure that the letters and numbers on the level shifter match the text on the PCB. Make sure that the level shifter is as close to the PCB as possible, It looks better that way. Solder only one pin, and check if the level shifter is flat and nice befor soldering the rest.  Confirm that the pins are long enough on both sides of the PCB. If they are short on one side, you must turn the pin headers over. Start by soldering the pins on top of the level shifter, and then afterwards you flip the PCB over and solder the ones on the underside. Keep the soldering iron on the outside of the level shifter so that you wont accidentally disturb or heat the SMD parts in the middle.

What to do if it wont work? The usual suspects when this device does not work, is the PSU, the SD card and the contents of your memorycard. Many people try to use a phone charger or a cheap chinese power supply. Im not saying all of these are crap, but these are known to have issues with the Pi, so getting a genuine Pi power supply will save you from a lot of hassle. Second, the Pi are known for not accepting all SD cards. Even some good quality ones. So try several cards just to be sure. The contents of your card is also essential. Please try my sample file if you get into trouble. For legal reasons the ROMS are not included in the setup. This device fully support the cheaper Raspberry Pi 3A, but make sure you use the latest files from Pi foundation.

Note that these instructions are only for the Bruktmoped designs.

 

This project with PCB and parts can be purchased on ebay:  https://www.ebay.com/usr/kirsti_73
or from Sellmyretro.com

4 player adapter for Commodore 64/128

 

This little adapter plugs to the user port of the C64, C128, VIC-20 or CBM 610 computers. Here is a list of some of the games that support this adapter:
 
    • Alone in the Green
    • Amazing Maze
    • Bomb Mania
    • Garrison
    • Hockey Mania
    • IK+ Gold
    • Marble Madness
    • M.U.L.E.
    • Pac It
    • Phong!
    • Quadris
    • Quadtron
    • Rampage Gold
    • Snacks 4 Snakes
    • Space Lords
    • Square Attack
    • Ivan ‘Ironman’ Stewart’s Super Off Road
    • Tanks 3000
    • Team Patrol
    • Tour de France 2005
When I made this, I wanted more than just to add 2 more joystick ports.
Since a lot of C64 models does not support a reset via the serial port. (I made the Pi1541 with a reset button on the serial port) I figured I should at least add a reset button on this device. Using the user port to reset the C64 is probably the safest and easiest way to ensure a reset that works on all models. But, I did not stop there. The user port is also a port that connects to both the internal AC 9V, and the DC 5V. So I made one LED for each of these power rails, so that this module can be used to verify if the computer actually gets any power. When the power light on the computer lights up, it does not mean that the AC 9V is working, and to test it, you will have to open it up and do the measurements manually. Measuring the PSU at the plug is risky business, since a slip can short your PSU. Now, all you have to do is to plug this in to verify that the power is working. Since LEDs use power, and might be annoying, I made sure they can be disabled with a jumper too. Notice how none of the other 4 player adapters have all these features! Most don’t even have pullup resistors!
This one is FULLY LOADED!
Why a reset button?
The reset button is useful in several ways. For a gamer, it is handy is if you have some resident code in high part of the memory, beyond what many programs use. For example “Turbo Tape 64” relocates itself to SYS 50000 [$C350] which mean after loading a game with the turbo, you can often hit the reset button, type in SYS 50000 and the turbo was reenabled and ready to load the next program. Of course if the loaded program extended beyond this address you would have to reload the turbo program from tape or disk.
A reset button will retain almost all the RAM contents, so you can recover from a crash. Powering the computer off and on will clear the memory completely
Another use would be to enter cheats to games, which came as POKEs to various locations in memory to give you infinite lives etc., with a SYS call to restart the game.
As a coder: Hit the reset button and sys 32768 and you are back in Turbo Assembler. All other resident programs would still be there, like a tape turbo. Best of all, you’d keep on hacking the night away without having to reload your source.
Partslist:

2x D-SUB 9
2x LEDs
8x 10k Resistors
1x Diode
1X 220R resistor
1x 1k resistor
1x Custom PCB
1x 100nF Capacitor
2x Jumpers
2x 2 pin
1x Tactile switch
1x User port connector
1x Data Selector/Multiplexer

This project with PCB and parts can be purchased on ebay:  https://www.ebay.com/usr/kirsti_73
or from Sellmyretro.com

Commodore 64 Deadtest Cartridge

This particular diagnostics cartridge does not require a test harness, and are specifically useful when your C64/128 has no picture. What sets this cartridge apart from the other test cartridges, are that they all require the RAM to be functioning to boot, (unfortunately, one of the most common fault is defective RAM) This cartridge not only work with defective RAM, but it also can tell you which RAM is broken. The reason why this is possible, is that a correctly made DEAD TEST CART will not require the system RAM, but it will instead temporarily overwrite the kernal ROM bypassing a lot of functions needed to boot the computer. A random person can obviously just program his all purpose C64 cartridge PCB with the ROM file from the DEAD TEST Cart, but it will be useless when you really need it. Thats why I made this PCB specially for this one purpose, and did not just throw a ROM into a all purpose PCB.

Here is a link to the user manual.

This project with PCB and parts can be purchased on ebay:  https://www.ebay.com/usr/kirsti_73
or from Sellmyretro.com

Pi1541 Pennysaver Edition

Some people just want a SD card solution for their Commodore 64/128/VIC20 the cheapest way possible. So I came up with the “Pennnysaver Edition”. It has the bare minimum you would need to load your games and programs from a SD card, but with the possibillity for upgrades later. It can be used with your Commodore 64 or 128, VIC20, C16 or even the Plus/4. It will run on Raspberry Pi 1, Zero, Pi2 and Pi3. If you want to overclock those older Pi models, Use the config.txt to set the values. The sign # is used to make the Pi ignore the text. Remove it to enable the settings.

Note: currently the Pi’s HDMI screen is not suppported on the Pi Zero, 1 or 2.
Note: currently the USB keyboard and drives are not suppported on the Pi Zero, 1 or 2.
Note: currently the emulated drive sounds are not suppported on the Pi Zero, 1 or 2.
These will be supported later, and the hardware is already set up for it when it is supported.

Picture of the product.

The simplest working Pennysaver PCB only needs 3 parts to work..

This is the version Im listing on Ebay for my cheapest option. It has most of the important stuff, and the rest can easily be added by the customer if they want.

 

So what is this Pi1541? The Pi1541 is a real time, cycle exact 1541 emulator by Steve White. It basically connects to a Raspberry Pi 1, Zero, 2 or 3 to emulate a Commodore 1541 floppy drive. Why do we need this when there is the SD2IEC? Its because a lot of games and demos utilize the chips inside the 1541 floppy drive, so without them, the program or game will not work. Here, the Pi is emulating those chips, so that the games will work. No more games that wont load due to incompatibility. The Pi1541 has room for all the buttons, LEDs, connectors and stuff that ports the Pi to your old computer, includind OLED screen. It can be used with your Commodore 64 or 128, VIC20, C16 or even the Plus/4. All you have to do is to copy the files over to the root of the Pi memory card, and copy your games and program into the same SD-card and insert it into the Raspberry Pi. You should check out the authors website for the latest version of the software. Link is below.

There are several ways to use this, but I decided to use it the same way I used to use the SD2IEC. I just start the File Browser and use the C64 keyboard to select my game. When everything is connected and turned on, I just use it as if it was a normal 1541 floppy. The latest news it that now, it also can emulate the Commodore 1581 floppy drive, it supports more file versions and it now also supports USB thumbdrives too!

Pros:
– You will never face the potential compatibillity problems assosiated with the much discussed 7406 chip, since its not needed.
– Its extremely cheap to make and easy to solder with a minimum of parts.
– The PCB is ready for all the extras that I made for the full version, including reset switch, 5x menu switches, output for OLED screen, speaker that can be disabled with a jumper, power LED, activity LED, output so you can solder your own cable for the Commodore serial port, and it even fits my 3D printed case!!

Cons:
– You will not be able to use other devices at the same time on the same serial port as the Pi1541 Pennysaver, since I removed the 7406 chip and its assosiated parts. I recommend the full version if you plan to do so.

Underside of the product.

SD CARD SETUP

1. Format an SD card to Fat32.

2. Download the Raspberry Pi Firmware from the Raspberry Pi Foundation.

3. Copy the files bootcode.bin, fixup.dat and start.elf (found in firmware-master\boot)) into the root folder of your SD card.

4. Copy over a file that contains a 1541 ROM image into the root folder of the SD card. The ROM must be called dos1541 or d1541.rom or d1541II or Jiffy.bin.

5. (OPTIONAL) Copy over a file that contains a CBM font ROM (eg vice-3.1\C64\chargen) into the root folder of the SD card. The ROM must be called chargen

6. Copy your disk images and folders into the 1541 folder now found on the SD card.

Or, simply download the below pre made setup and extract it to a SD card. You can start with that to be up and running right away.

This is the root contents on my SD card when using a Pi3. Use it as it is, or edit if you want.

This is the root contents on my SD card when using a Pi2. Use it as it is, or edit if you want.

This is the root contents on my SD card when using a Pi Zero. Use it as it is, or edit if you want.

This is the root contents on my SD card when using a Pi 1. Use it as it is, or edit if you want.

 

The only difference between this setup and the one from my full version, is this setting in the options.txt file found in the root folder of the SD card: “splitIECLines = 1” must be changed to:
// splitIECLines = 1

 

This project with PCB and parts can be purchased on ebay:  https://www.ebay.com/usr/kirsti_73
or from Sellmyretro.com

Magic Desk Cartridge Clone

[001705]

This cartridge is a modified reproduction of the Magic Desk Cart made for Commodore 64. That particular cartridge had several tools accessible via a menu. This cartridge is built with the same idea, only with a bigger ROM, and by using a ROM that can be erased electrically without using a UV eraser. This cart is wired to support the more modern W27C512 roms, and W27C020 roms, selectable by a jumper, instead of those older roms that is no longer made.

Partlist:
1pcs 74LS174N
1pcs 74LS02N
1pcs W27C512
1pcs reset switch
1pcs PCB
Optional: IC sockets

To program this, you need the working games or programs that you want to install in the correct format, and a tool to generate the .bin file that goes into the rom. You can download the tool here.

First of all, all programs must be in .prg format. Just place the .prg files you want to use in the prg folder, the name of the file will be used as menu name.

This project with PCB and parts can be purchased on ebay:  https://www.ebay.com/usr/kirsti_73
or from Sellmyretro.com

Power Healer 64

Due to several friends have contacted me about my old Commodore 64 power saver, the Power Healer 64, Ive decided to revive the project and has made brand new design to this old gizmo from 2006. This time, I made 2 versions. One that is basically the same original design but with a few SMD parts to make sure that I keep the same old size that fits inside those cheap plastic cases they sell on ebay, and make room for a few smal improvements. The original size will also ensure that it will fit inside a C64 for those that want to make it invisible.PCB image

The second XL version is more like a replacement PSU with included Saver circuitry and extra fuses. The bigger one will be a nice alternative for people with no PSU at all.

[003955]

More information will be published within a few days or so.

Commodore 64 diagnostic Cartridge rev 586220

DSCF0694

I made a reproduction of the Commodore 586220 test cartridge. This cartridge was actually used by Commodore themselves to test every unit that came from the assembly line. They called it the “Commodore 64 Final Test Diagnostic Cartridge Rev 586220” and to fully test every single port and function of the C64, a special cable harness is required to terminate all the external ports for a loop test. But this cartridge is still useful without the harness, and it is a great addition to my collection.

DSCF0685

The PCB itself is a standard 8K Cartridge that uses a 2764 eprom in address $8000-$9FFF which means there are many games you could burn into the rom, and make a cartridge out of your favourite 8k game to avoid the boring loading process.

You can download the official instruction manual here 

This project with PCB and parts can be purchased on ebay:  https://www.ebay.com/usr/kirsti_73
or from Sellmyretro.com

Commodore 64 9600 baud WiFi Adapter

If you are a Commodore 64 user from back in the 80’s you probably remember the term Bulletin Board System or BBS.

It was basically a computer connected to several phone lines, and other computers could connect to it via a phone number. The computer used a modem to do the calling.

You could use it to talk to your friends, play online games, and to download files. It was all text based, but they usually managed to make the welcome screen and menus appealing with colors and ascii art, maybe something like this?

__________        __                 
\______   \ _____/  |________  ____  
 |       _// __ \   __\_  __ \/  _ \ 
 |    |   \  ___/|  |  |  | \(  <_> )
 |____|_  /\___  >__|  |__|   \____/ 
        \/     \/
Today we dont really have the old telephones anymore, and modems are a thing of the past. But many of the old BBS sites still exist, and if you want to access these old sites via your Commodore 64 it is still possible, but with a bit more modern approach.
DSCF0454
Thats where this Commodore 64 WiFi adapter comes into play. It lets you use your WiFi router to “dial” any BBS in the world for free using telnet.
This device turns your C64 user port into a WIFI-modem capable of dialing into BBS sites just like the old days
All you have to do is to connect it to your Commodore 64/128/PET user port and perform a few simple configuration steps to connect to your WiFi and you are up an running in minutes. My guide is based on the free program CCGMS 2017. You can easily download it from your PC, put it on a SD card, and load it into your Commodore via the Pi1541 that I make. The first time you need to setup your WiFi adapter. It needs to be done only once unless you later change your WiFi settings. This is how easy it is:
  • Plug the WiFi adapter into your Commodore User Port with the chip facing up.
  • Load latest version of CCGMS 2017
  • Press F7 to access the settings after the program has loaded.
  • Select modem type as User Port by pressing M several times.
  • Select 300 baud by pressing B several times
  • Press RETURN to go back to the terminal.
  • You can press return once more to get your modem info if you want. Its a nice way to verify your modem is working.
  • Go to Ascii mode by pressing F8 (SHIFT + F7)
  • Now we will connect to the WiFi. Enter your ssid like this: at$ssid=ssid
  • Enter your password like this: at$pass=password
  • After the = you obviously will write your local WiFi ssid and password.
  • Now press F8 to go back.
  • Type atc1 to connect. You may have to do this a few times if it wont connect.
  • Type the command at&p0 and press ENTER
  • Type the command at&k1 and press ENTER
  • Change the baud rate by typing at$sb=9600
  • Press F7 and select modem type as Up9600 Baud and then 9600 Baud
  • Press Return and type at&w to save the settings to the modem
  • Visit your favourite BBS. Try this command:  atdtparticlesbbs.dyndns.org:6400
  • Enjoy!

Warning! Do NOT connect the USB connector when the device is connected to the C64. It will destroy the device. It is only there for firmware upgrades via your PC.

UPDATED PCB!

The latest modems being sold now, feature a way to be able to use USB as powersupply to power the modem.
I added a jumper footprint at the edge of the PCB. It is by default set to use the internal power, but if you want, you can
cut the connection between the jumper pins. This will disconnect the modem power from the C64. Now you can use USB to
power the modem. Optional: You can solder in 2 jumper pins and use a jumper to enable/disable external power.

Common issues people ask about:
You can’t write anything.. no text appear on the screen, or text is only garble.
-It is usually because the user did not follow all steps in the setup above.
-Check your settings by pressing F7.
-Make sure you are on ASCII or ANSII mode while setting up the modem. (F8)
-Disconnect any cartridges and other devices connected to see if that helps.
-If your CIA chips are socketed, try to re-seat them. CIA chips can go bad.
-Make sure that your C64 is working properly. Try to clean the userport.
-If possible, try another computer or try a different power supply.

The device wont connect to your router.
-You might have to change your SSID or password if they contain unknown letters or signs.
Try to set it up with something simple, like all lowercase SSID and a simple password like 123456
-Sometimes a key on your keyboard is not working or needs to be pushed hard to register.
You could try to write the password and SSID in your startupscreen several times to make sure that
every keystroke is registering. Also make sure that all the F keys are actually registering the keystroke.

If you encounter problems or the firmware needs to be updated, here is how you do it.

  • Download the files from here
  • Disconnect the wifi adapter from the C64
  • Connect the card to a PC via the USB port on the adapter
  • Unzip the files and start the program ESP8266Flasher32.exe
  • Select the available serial port
  • If the wifi card serial port is not found, install the drivers from the zip file.
  • Go to the config tier in the flasher and select the flash file by clicking on the button that looks like a sprocket.
  • Go to operation and hit the flash button.
  • If your computer cant find the modem serial port, google and look for drivers for ESP8266 adapters.
  • Note that the tool might have problems on a Windows 10 computer. The problem is usually that it cant find the serial port.

This project with PCB and parts can be purchased on ebay:  https://www.ebay.com/usr/kirsti_73
or from Sellmyretro.com

The Final Cartridge III+

DSCF9700DSCF9699

The Final Cartridge III Plus is a remake of the original Final Cartridge III, but it has several awesome new upgrades. The best one is that it can also speed up modern SD-Card solutions like SD2IEC and Pi1541. This cartridge is fun to assemble, and many people think that the fact that there is no SMD parts, its way easier to solder.
Visit this link for an extensive user guide: https://www.c64-wiki.com/wiki/Final_Cartridge_3

Part Value

C1    1nF Capacitor
C2    1µF Capacitor
C3    10µF Capacitor
D1    1N4148 DIODE
D2    1N4148 DIODE
D3    1N4148 DIODE
D4    1N4148 DIODE
D5    1N4148 DIODE
D6    LED 3mm
FREEZE 6x6x8mm switch
IC1    74LS273 DIL20
IC2    74LS163 DIL16
IC3    74LS133 DIL16
IC4    74LS04 DIL14
IC5    74LS09 DIL14
JP1    020/512 jumper not included since PCB is hardwired for 020
R1    1K2 Resistor
R2    18k Resistor
R3    4k7 Resistor
R4    4k7 Resistor
R5    4k7 Resistor
RESET 6x6x8mm switch
U$1 27C020 DIL32 EEPROM

I like to start by soldering all the resistors first. Then I do the diodes. The diodes needs to be put the correct orientation. Follow the markings on the PCB. You can also use the pictures here to verify if you want. Next, I do all the IC chips. I double check the orientation and placement before I solder them. Feel free to add sockets to the chips (not included) but beware that doing so makes it impossible to fit the cartridge inside a standard size case. For the LED, the long (Anode) leg is supposed to be towards left, when seen from the component side. You can easily verify where the ground wire is (cathode) by following the top trace on the solder side. It goes all the way on the top. That trace is also connected to the negative side of the capacitors on top in case you need that information. I finalize the assembly by soldering the caps and the 2 switches. Now to plug that bad boy into the C64 for some lightning fast loading and cool features!

This project with PCB and parts can be purchased on ebay:  https://www.ebay.com/usr/kirsti_73
or from Sellmyretro.com

Pi1541

The Pi1541.

 

DSCF9885

Latest news! My version now also can be used with Raspberry Pi1, Pi2, Pi3 and Zero!

Use the pre made SD card setups down below. It will run on Raspberry Pi 1, Zero, Pi2 and Pi3. If you want to overclock those older Pi models, Use the config.txt to set the values. The sign # is used to make the Pi ignore the text. Remove it to enable the settings.

All my versions now works with the Pi1, Pi2, Pi3 and Zero.

Note: currently the Pi’s HDMI screen is not suppported on the Pi Zero, 1 or 2.
Note: currently the USB keyboard and drives are not suppported on the Pi Zero, 1 or 2.
Note: currently the emulated drive sounds are not suppported on the Pi Zero, 1 or 2.
These will be supported later, and the hardware is already set up for it when it is supported.

Notice how I made a IEC output for cable in the middle there. I did it because the 6PIN DIN cables are hard to find, and expensive too. With this, soldering your own would be easy. I put the IEC connectors on the same side as all the other Pi connectors, freeing up the other side for the screen, and keeping the Display Flex Slot available too. The activity LED is useful if you find yourself wondering if the thing is actually loading, or if the computer froze up, leaving you to wait untill spring before you realize it has stopped loading. I included a small piezo speaker that can make drive sounds. I also made sure it has a jumper so it can be easily disabled. 😉

DSCF9814

3D printed case!

DSCF0389.JPG

So what is this Pi1541? The Pi1541 is a real time, cycle exact 1541 emulator by Steve White. It basically connects to a Raspberry Pi to emulate a Commodore 1541 floppy drive. Why do we need this when there is the SD2IEC? Its because a lot of games and demos utilize the chips inside the 1541 floppy drive, so without them, the program or game will not work. Here, the Pi is emulating those chips, so that the games will work.

No more games that wont load due to incompatibility. There is a potential issue with the 7406 chip, so I always test them one by one by loading the Game Ghosts ‘n Goblins to see if it works. I have never found a chip with issues so far. 

The Pi1541 has all the buttons, LEDs, connectors and stuff that ports the Pi to your old computer. It can be used with your Commodore 64 or 128, VIC20, C16 or even the Plus/4.

All you have to do is to copy the files over to the root of the Pi memory card, and copy your games and program into the same SD-card and insert it into the Raspberry Pi. You should check out the authors website for the latest version of the software. Link is below.

There are several ways to use this, but I decided to use it the same way I used to use the SD2IEC. I just start the File Browser and use the C64 keyboard to select my game. When everything is connected and turned on, I just use it as if it was a normal 1541 floppy. The latest news it that now, it also can emulate the Commodore 1581 floppy drive, and it now also supports USB thumbdrives too!

DSCF9570

The file browser will now start, and all you have to do is to use the arrow buttons to select the content of the memory card, and enter to select. Dont you just love the fact that you get to use the same commands as you did way back? Personally, I just ignore all the fancy buttons and features, and just use it from the C64 itself.

There is also a great feature in the options.txt file. If you want, you can let the machine boot straight into File Browser. No typing needed. I just fell in love with that option, and with the Final Cartridge III installed, the load time is boosted to a mean 10X original speed, so browsing games and Demo’s are now so much more fun since the wait is gone. As if that is not all, the Final Cartridge III also has a reset button, so now you wont have to wear out that on/off button. I’ve replaced or refurbished tons of those over the years.

The software is in constant development, but already it support a lot more games than the old SD2IEC did. Sooner or later, it will probably be more or less 100% compatible, and have many new features, which is awesome!

The hardware was made from the authors schematics, but several features was added, such as extra LED for activity, OLED screen and reset button etc.

SD CARD SETUP

1. Format an SD card to Fat32.

2. Download the Raspberry Pi Firmware from the Raspberry Pi Foundation. (Or use all the files from my setup)

3. Copy the files bootcode.bin, fixup.dat and start.elf (found in firmware-master\boot)) into the root folder of your SD card.

4. Copy over a file that contains a 1541 ROM image into the root folder of the SD card. The ROM must be called dos1541 or d1541.rom or d1541II or Jiffy.bin.

5. (OPTIONAL) Copy over a file that contains a CBM font ROM (eg vice-3.1\C64\chargen) into the root folder of the SD card. The ROM must be called chargen. This will enable Commodore character set on the OLED.

6. Copy your disk images and folders into the 1541 folder now found on the SD card.

Or, simply download the below pre made setup and extract it to a SD card. You can start with that to be up and running right away!

This is the root contents on my SD card when using a Pi3. Use it as it is, or edit if you want.

This is the root contents on my SD card when using a Pi2. Use it as it is, or edit if you want.

This is the root contents on my SD card when using a Pi Zero. Use it as it is, or edit if you want.

This is the root contents on my SD card when using a Pi 1. Use it as it is, or edit if you want.

I did not include a ROM file here, so copy over a file that contains a 1541 ROM image (eg vice-3.1\DRIVES\dos1541) into the root folder of the SD card. The ROM must be called dos1541 or d1541.rom or d1541II or Jiffy.bin

Partslist

  • PCB
  • R1                   220 Ohm
  • R2                   220 Ohm
  • R3                     1k Ohm
  • R4                     1k Ohm
  • SN7406N or 74LS06 Hex inverter/buffer
  • ACT LED 3MM Green
  • PWR LED 3MM Red
  • C1 100nF capacitor
  • 4 channel Level Shifter with pin headers
  • 6mm RESET tactile switch
  • SW1 tactile switch 6x6x6
  • SW2 tactile switch 6x6x6
  • SW3 tactile switch 6x6x6
  • SW4 tactile switch 6x6x6
  • SW5 tactile switch 6x6x6
  • 2×20 pin female connector
  • BUZZER
  • SPKR Enable jumper + pins
  • IEC1 din6
  • IEC2 din6
  • Optional: OLED screen
    (0.96″ IIC Serial OLED Display Module 128X64 I2C SSD1306)

Assembly:

The assembly is very straight forward. Just follow the markings on the PCB and look at the images of the already soldered Pi1541 boards here. I like to start with the shortest parts first. The R1 and R2 resistors are for the red and green LEDS. If you think that the red LED is too bright, you can replace R2 with a different value resistor. Anything between 220 Ohm and 680 Ohm looks good. Dont forget to solder the R3 and R4 pullups too. Resistors are not polarized, so put them in any direction you want.

The 7406 hex inverter is easy. The orientation is marked on the PCB. Look for the small notch on the chip and align it with the one drawn on the PCB. You can add a socket for this chip if you want, but it’s not included in the KIT.

Next part is the 2×20 pin female connector. Make sure you solder it on the correct side. Look at the pictures to make sure.

Next in line is the 2 LEDs. Green is for activity, and red is for power. You can swap them if you want. Maybe you got a fancy color LED you want to substitute? There is a trick I use to find the orientation of LEDS, just look at the pin holes. One of them is connected to the ground plane, and that is the cathode, (shorter pin) You can see how the ground plane pin has connections to all sides in a cross pattern. Look at both and you will soon see which is the correct one. If you are still unsure, you can also use a multimeter to verify which one is ground. The LED itself also has a tell. If you look inside, you will see a small pin, and a bigger “chunk” of metal. The big one is cathode (GND)

Next in line is all the tactile switches, including the one marked reset. Just pop them carefully in and remember to solder all 4 legs. Note that the reset button only works on C64 revisions that support reset via the serial port. It will do no damage to unsupported machines, it will simply not work.

The C1 100nF capacitor are not polarized, so just pop it in. Same with the 2 pin jumper. The jumper is there to enable the buzzer.

Next put in the buzzer. It has a + sign on the component and on the PCB, so align those. The buzzer is there to simulate the stepper motor drive sounds.

The large DIN connectors are next. Notice that the legs have a flat side. It can be smart to put the soldering iron on the flat side to transfer enough heat for a good solder joint. Make sure to solder all pins. Sometimes the buzzer gets too close to the DIN connector. If that happens, snip off some of the plastic on the DIN connector with a side cutter or knife. You can even solder the buzzer on the underside of the PCB to avoid it getting in the way of the DIN connector.

Now for the level shifter. Turn the pcb over, because this is going on the under side of the PCB. The easiest way to mount it, is to first put the 2 pin headers in the 6 holes short end of the pins facing down, and then the level shifter pcb on top, while making sure that the letters and numbers on the level shifter match the text on the PCB. Make sure that the level shifter is as close to the PCB as possible, so it wont come in contact with anything on the Raspberry Pi later. Confirm that the pins are long enough on both sides of the PCB. If they are short on one side, you must turn the pin headers over. Start by soldering the pins on top of the level shifter, and then afterwards you flip the PCB over and solder the ones on the top side. Keep the soldering iron on the outside of the level shifter so that you wont accidentally disturb or heat the SMD parts in the middle.

If you plan to buy a OLED, make sure it has the correct pinout. Look at the images for pinout.

What to do if it wont work? The usual suspects when this device does not work, is the PSU, the SD card and the contents of your memorycard. Many people try to use a phone charger or a cheap chinese power supply. Im not saying all of these are crap, but these are known to have issues with the Pi, so getting a genuine Pi power supply will save you from a lot of hassle. Second, the Pi are known for not accepting all SD cards. Even some good quality ones. So try several cards just to be sure. The contents of your card is also essential. Please try my sample file if you get into trouble. For legal reasons the ROMS are not included in the setup. This device fully support the cheaper Raspberry Pi 3A, but make sure you use the latest files from Pi foundation.

Note that these instructions are only for the Bruktmoped designs.

This project with PCB and parts can be purchased on ebay:  https://www.ebay.com/usr/kirsti_73
or from Sellmyretro.com

DSCF0357.JPG

 

C64 PSU 5v mod.

There are many ways to prevent the original PSU on the Commodore 64 from destroying your beloved computer. Its a well documented fact that the design of the PSU is somewhat flawed. The most dreaded issue is when the regulator used to regulate the 5vdc fails in a way that will harm your circuits. Here is one of the cheapest way I know to fix the 5v issue on a PSU of this type. You can eighter use the well known and reliable but power consuming LM7805, or you can use a less power hungry modern switch mode solution like the UBEC. I found that this particular model works fine on the C64 psu. This is what I use for this project. On the left there is a LM7805 kit which works great, but this time I will be using the UBEC. The tool on the left I use to carefully pry open the bottom lid.DSCF9057.JPG

This is how it looks on the inside of the PSU. The red square shows where the problematic regulator is. I usually just snip the legs of it and desolder the legs from the PCB. Make sure to unplug the unit from the mains! 🙂

DSCF9060_square

Normally one would also swap out the capacitor, but this one seems to be in good shape, so I will leave it alone. I can always go back and exchange it later. This cap shows normal ESR and are within 5% of the rated capacitance, so I see no point in putting in a new one. I used the very reliable Peak Atlas ESR 70+ to measure the cap.

DSCF9061

The deed is done. I used the legs of the capacitor for the input, and I used the traces that leads to the original 5v output wires for the UBEC output. I also used some hot glue to seat the wires, even if its not necessary. Below you can see the legs from the original Sanken SI-3052 regulator. (the original schematics from Commodore falsely claim its a transistor.)

My Commodore 64 PSU project.

 

Ive been asked to explain how I made my first C64 “saver” back in the 1990’s I sold the thing many years ago, so I have no pictures of the original thing, so I’m going to explain how to make one today, with the tools and equipment that are available now.

I did not want a solution that is more expensive than a full computer setup with games and accessories. After all, its just a PSU. Second, I want to avoid any legal or insurance problems by making a homemade PSU that connects directly to the mains. The rules here are strict, its not enough to use components that are certified, the assembly itself must also be certified. That would cost more than a house. So how do we work around this? Simple. We use already made and certified off the shelf solutions! Background: A well known and well documented fact about the C64 PSU is that it has a tendency to fail in a bad way. Sometimes the 5v output regulator fails intermittently and delivers a too high voltage to the C64. The RAM and TTL circuitry usually wont tolerate more than 5.5v before it craps out. Especially the RAM is vulnerable to small fluctuations to the 5v rail.  Part of the problem is that the powersupply seem to work great for a while and when cold, but after a while it suddenly fails. My solution is designed to attack this specific 5v problem without destroying the original PSU. I also made a solution for machines with no PSU at all. Now, what is so special with this C64 psu anyway? Well, its not THAT special. It uses a standard 7pin DIN plug, where only 4 pins are used. Next it has 2 different outputs. One is 5VDC, and one is 9VAC. Not at all complicated. These are the components I use to make my C64 PSU solutions.

DSCF8765.JPG

This is all you need for a full replacement of the original PSU. You can easily make small adjustments to change the setup. If you plan to use the 9vac for the original PSU, you can swap out the red plug with a 7 pin DIN female connector to “steal” the 9vac from the original PSU. A 9vac PSU are not the easiest to get hold of these days, so using the original PSU for this is a great solution. Its perfectly safe too, because the 9vac from the original PSU are pure unregulated power straight from the transformer. It eighter dont work or it works as it should. Other things you can save money on is to not use the LCD voltmeter display, its only there to keep an eye on the 5v and is not needed. You can also skip the PCB shown at the lower left side. The reason why I put that in, is to be able to use any power supply I might have handy, and no matter what I connect, his puppy regulates it down to a clean 5vdc. I can now use anything from 9vdc to 30vdc as long as the plus (+) is in the center pin. Like a good quality psu from a laptop, which is usually anything from 12vdc to 20vdc, well inside the capabilities of the converter. The PCB also has over voltage and polarity protection. If you skip the pcb, then I would recommend putting a fuse and a diode on the dc input.

The red connector I use to connect the external 9vac from a wall adaptor. The small black is for the dc input. If you dont use the pcb, you must use a 5vdc adaptor in that plug. I found a D-link psu for an old router. Its perfect for this project. Maybe you can find one at home or at a fleemarket. The original psu are rated 1A for the 9vac, and 1.5A for the 5vdc. For the 5vdc, I would recommend 2A (2000mA) or more.

Make sure you dont use too long cable from the box and into the C64, because you can easily get a voltage drop big enough to make the machine behave weird. You can compensate by using thicker cables if you need longer cable, or by measuring the voltage inside the machine, and compensate for the loss by lightly increasing the voltage on the pcb. (if you use one)

Its worth to mention that using the 9vac from the original psu is better, because then there is no chance of you connecting 9vac to the 5vdc plug or vive-versa. The reason why I went with red plug for the 9vac is to avoid plugging it in the wrong hole. You can of course use different connectors for the ac and dc inputs to avoid problems. Using a Micro USB for the 5vdc would be perfect, since those always provide 5v.

Your end result might look something like this.

DSCF8771

DSCF8779

This version have a 7pin DIN input at the top of the picture to “steal” the perfectly safe 9vac from the original Commodore PSU. I usually make a version depending on which machine it’s supposed to be used on. I have even used the plug and wire from a dead Amiga PSU to make a PSU for the C128. They are extremely hard to get hold of, so never throw away a dead PSU from any Commodore product. Someone definitely have use for it! 😀