1541pi and Raspberry Pi 0 W 1.1

May 7th, 2022

In this post I would share my config.txt file that allow a raspberry Pi 0 W v1.1 (old model) to work properly with th 1541pi emulator by Steve White

On the web there are many resource and video that explain how to configure many raspberry pi models to use as 1541 drive, but here I would show the proper setting to use raspberry Pi 0 W v1.1. This is an old model that is still available on many webstore. Due the raising ICs price, now a raspberry pi zero w 2 cost over 100€! The price of raspberri zero w v1 instead is about 40 € less. Obiouvsly the new version is more powerfull, it have a ARM quad core Soc at 2.4 GHz vs single core at 1 GHz of the old model.

But if your scope is to use raspberry as 1541pi, the old rpi zero w 1 is OK.

Other than the raspberry pi you have to buy or build yourself a 1541pi hat that hallow to connect the raspberry pi to the commodore64 (or other models), show the directories, moving and mounting d64 images.

I found a very well made PCB from the huckup.net. This PCB mount a an additional 7406 inverter IC that is used for driving the output signals from the Raspberry Pi to the serial bus. Using this solution, multiple devices on the bus should no longer be a problem.

After you have properly setting the SD card and edited the options.txt file in accorthing to the step-by-step guide on 1541pi website, you have to overclock the rpi. This is necessary to guarantee cicle exact emulation of the original 1541 drive.

All you have to do is edit the config.txt file as shown:

kernel_address=0x1f00000
arm_freq=1150
over_voltage=2
sdram_freq=533
sdram_over_voltage=1
core_freq=515
temp_limit=75
force_turbo=1
disable_auto_turbo=1
boot_delay=1

Litlte photo gallery

I have make also a short video that that show the 1541pi in action. In the end of the video I show how to mount multiple disk images, so take a look!

PlayPiano64 Synthesizer

April 29th, 2022

Here we are with my new fresh c64 program. I have spend many time to study SID registers and how to play sounds with it πŸ™‚ I’m owner of an old cmk49 keyboard by Siel (very similar to wersiboard keyboard). My goal was to make a synthesizer like the famous cynthcart that was able to play music not only using the c64 keyboard but cmk 49 keyboard too, in mono or polyphonic mode. After I have discover how to cmk49 works, I started to write the routine to read keys from the cmk49 after that I have study the rob hubbard sid player routine and used that for my synthesizer. I have added portamento, transpose, filter modulation effect and put PAL and NTSC frequency table.

The program allow to edit any single SID registers and modify any sound effects. In in monophonic mode there are 26 preset instruments, and 12 instruments in polyphonic mode.

There are two PlayPiano64 programs: playpianoM.prg and playpianoS.prg. M stand for mono SID and S stand for stereo SID (second SID at address OxDE00).

The GUI (graphics user interface) is quite easy, anyway I have put many text to guide in the use of the program and an HELP that explain in more detail some functions.

Links to download the files:

Source code are available from here:

You can listen a very rough demo live performance played with a seal cmk 49

Below some screen shoot

PS As recently I’m join to Hokuto Force Group, I have make frontend with Hokuto Force logo. The the program was release on CSDB on 02 May 2022

GeoPlayer

March 27th, 2022

GeoPlayer is a commodore 64 program that play wave file. In order to use this program you have to use a Georam memory expansion cartridge and a 1541disk drive emulator like SD2IEC. GeoPlayer may reproduce sound in two manner. The first is using register 0xD018 of the SID (sound interface device 6581 or 8580), the second and the better is using DigiMax that allow to reproduce sound at 8 bit resolutions. The supported sample rate is 8, 11, 16, 22KHz, sample resolution 8 bit (16 bit is supported too but the program make a downsampling during the upload the file in the GeoRam memory. To create compatibile wave file I use audacity or sox (command line program for unix like os).

Other than play wave file tha program have other feature like play .sid file, show koala image, and last but not least an old fully works assembler monitor SuperMon64 written in the late 1980 by famous guys beind the commodore scene like Wozniak, Baum Jim Russo, Bill Seiler and Jim Butterfield.

The routine that play wave file was from Greg Nacu, the the file browser is a ported of GeoUplod by Skoe ( the aouthr of the famous easyflash cartridge).

If you want to try GeoPlayer without real hardware you can use vice64 emulator. In VICE is possible to emulate all necessary hardware devices like GeoRam, DigiMax, 1541 drive etc.

But if you have solder electronic skills, I suggest too build your own devices. You can find DigiMax gerber in the Vanessa archive, and on HuckUp.net website all neccessary file with step by step istructions to to build a NeoRam cartridge (a GeoRam clone).

The GeoPlayer program can be downloaded from CSDB

I made a video that you can see on YouTube at this link

Have fun πŸ™‚

STM32 SID PLAYER

March 26th, 2022

Here I post a project that I build some time ago. For you that like SID music, this is a very cost effective and fun solution. The author of the project is Branko Simic (Bakisha) and you can find all source in your github repository. From here you can download my customized version with with a small i2c oled screen that show information about the current sid tune played.

You can compile the source using the official STM32 core that you can install from arduino IDE or using Roger Clark arduino STM32 core. If you use Roger Clark core you can overclock your bluePill (STM32F103C8) at 128 Khz but you have to use an ST-LINK v2 adapter to upload the code

Bellow some pictures that haep in wiring the hardware and compiling the source.

You can view a small video about my stm32 sid player published on youtube

Have fun πŸ™‚

SDBOX for Amiga

August 12th, 2020

Hello, in this post I would point out a new device for amiga computers. Niklas EkstrΓΆm is the author of this project and you can download the source code from github. The PCB and case are made by jbilander . Clone both repository on you computer. Fist of all read the istructions in the readme files, then buy all necessary stuffs to build the SDbox. I ordered the PCB from JLCPCB. To assemble the circuit isn’t so difficult because of you have to solder only arduino nano, the sd card module and few more discrete components. Below you can see the final result πŸ™‚

Flashing the firmware on atmega328

In avr folder there are 2 file build.bat and flash.bat, the first is for compile the firmware, the second is for flashing the firmware on arduino nano. You have to modify the above file in according to the path where you have the arduino IDE:

build.bat :

“C:\Users\matteo\Desktop\arduino-1.8.9\hardware\tools\avr/bin/avr-gcc” -Os -mmcu=atmega328p main.c -o main.elf
“C:\Users\matteo\Desktop\arduino-1.8.9\hardware\tools\avr/bin/avr-objcopy” -O ihex main.elf main.hex

flash.bat :

Check the correct COM port in (in my case was COM6)

“C:\Users\matteo\Desktop\arduino-1.8.9\hardware\tools\avr/bin/avrdude” -C”C:\Users\matteo\Desktop\arduino-1.8.9\hardware\tools\avr/etc/avrdude.conf” -patmega328p -carduino -PCOM6 -b57600 -D -Uflash:w:main.hex:i

For your convenience I can download the compiled source main.hex

In order to compile the C code for SD amiga driver, you have to compile the source using amigaos-cross-toolchain .

I installed amigaos-toochain in my ubuntu 14.04. In order to install amiga-toochain, you have to compile it too, so run the command that you find in dockerfile to install all necessary packages than run toolchain-m68k or toolchain-ppc script (with --prefix option to specify where to install the toolchain). Note, that the destination directory must be writable by the user.

After amigaos gcc-2.95.3 toolchain was installed you can compile the spisd.device driver. For that simply write make command when you are inside SD folder.

For you convenience I have put the compiled spisd.device, the fat95 file system handler and SD0 files on a ready to use adf image that you can put on a memoru stick and read with and amiga floppy emulator like Gotek.

I have amiga 600HD with workbench 3.1 (v40.42) but the folder tree are the same for all amiga OS (I suppose:)).

Copy the binary spisd.device into the DEVS: directory.

Copy fat95 file system handler in L: and copy the mountfile SD0 to some suitable place e.g. Devs where it can be used to mount the SD card on demand by simply double-clicking the icon. For automatic mount on boot put the SD0 file in the Devs/DOSDrivers folder.

Have fun πŸ™‚

Raspberry Pi Zero Gameboy Replica

June 22nd, 2020

How to build

In this video, you can see the final result. The project was made by GreatScollLab and is available on instructables.com website.

I have buy all necessary staff on Aliexpress:

  • 3.5 Inch TFT LCD display
  • PCB controller card common ground for Raspberry Pi Nintendo Game Boy
  • Gameboy Console Shell Case
  • Mini PAM8403 3w stereo amplifier module
  • Raspberry Pi Zero W (wifi and bluetooth 1 GHz CPU 512 Mbyte Ram)
  • little speaker 8 ohm
  • wires

VFD Clock

May 25th, 2020

Tiny IV-21 VFD Clock

Preview(opens in a new tab)

Hello, I have build this beautifull clock some time ago, the author have share all necessary stuff to buil it in hackaday.io website. I have encontered some problems that I have solved and I hope to help someone else:

All neccessary files taken from the above link can download from here

PCB

The JLCPCB PCB manufacter have reported to me a problem in traces space distance that is too small, so I have modified the gerber inaccording the of JLCPCB rules, in addition I have substitute the power connector.

Components

Parts List

  • C1 0.1uF
  • C2 22pF
  • C3 22pF
  • C4 0.1uF
  • C5 33uF
  • C6 100uF
  • C7 0.1uF
  • C8 0.1uF
  • D1 1N5817-B
  • DBG TSW-104-07-G-S
  • H MOMENTARY-SWITCH-SPST-PTH-RIGHT-ANGLE
  • J1 ICSP
  • J3 DC_POWER_JACK-PJ-102AH
  • L Red
  • L1 2mH
  • M MOMENTARY-SWITCH-SPST-PTH-RIGHT-ANGLE
  • N LSP11
  • P LSP11
  • Q1 32.768kHz
  • R1 10K
  • R2 10K
  • R3 1K
  • R5 10K
  • RFIL
  • SP1 SPEAKER/AL60P
  • SV1
  • T1 3904
  • T2 2N3904
  • U1 MAX6921
  • U1 DS1302S+
  • U2 ATMEGA328P_TQFP
  • X1 TSW-102-07-G-S
  • Y1 16MHz

Because of I haven’t all neccessary component in SMD package, I have adapted some throught hole component to the PCB (see the pictutes above for detail) .

About DS1302S+, I have used a separate module that I have connected to PCB using wires.

IV21 pinout identification

A big problem that I have encoutered was pins identification of IV21 VFD valve. In the hackaday.io project post no mention how to do that. From here is a post where is described the pinout or you can download pdf datasheet in cyrillic πŸ˜‰

But the problem was where is located pin 1? The pins apparently have the same distance between each others! Pins 1 and 10 are connected to cathod filament, so just use a continuity tester and when you find no resistance between 2 pins, you have found pins 1 and 10. After locating pin 1 you have to count clockwisw to locate pin 2,1…19.

24 Game

April 22nd, 2020

The 24 Game is an arithmetical card game in which the objective is to find a way to manipulate four integers so that the end result is 24. For example, for the card with the numbers 4, 7, 8, 8, a possible solution is ( 7 βˆ’ ( 8 Γ· 8 ) ) Γ— 4 = 24.



RTC, Temperature, Pressure and Humidity for C64

April 13th, 2020

With a BME280 module and a DS3231 or DS1307 RTC module is possible to equip your C64 with a real time clock and a termometer barometer

You can take a look to this link…shortly I update this post to show how to build it

To be continue …

64NIC+ Ethernet interface How to use it

April 5th, 2020

I have bough this excellent device from RetroInnovations
In this guide, I’will try to explain the easy and fast way to connect to a BBS or a telnet server or use your c64 as a web server.

The heart of the cartridge is Crystal CS8900a 10 megabit Ethernet interface processor. The interface emulates the RR-NET solution as well as the NET64 and TFE systems.
In addition to Ethernet capabilities, the system also includes an on board ROM socket that can be loaded with up to 16 cartridge images. With the appropriate ROM, the 64NIC+ can autoboot and load your favorite games and utilities via TCP/IP, no disk drive required.
As you can see in the picture above, you will notice on the left side of the cartridge 4 switch.

Follow are the description of these switch starting from top to down (near c64 expansion port) position:

  • Register Configuration
    • Up –> RR-NET (most used configuration)
    • Down –> TFE The Final Ethernet
  • EPROM ON/OFF
    • Up –> EPROM socket disabled
    • Down –> EPROM socket enabled
  • C64/C128 mode ( up to 256kB ROMs )
    • Up –> c128
    • Down –> c64
  • Select IO area
    • Up –> IO1
    • Down –> IO2

In the top left corner of the cartridge you notice a small 16 position rotary switch, this can be used (with an appropriately programmed EPROM) to select 1 of 16 ROM images.

How to connnect

Connect a RJ45 cable to the ethernet socket then using ie sd2iec device, load and run a program like KipperTerm64 .
The network configuration will take place automatically in the presence of DHCP (which is the most common situation). Otherwise, youhave to set manually the IP, netmask, gateway and DNS server.
After network is configured, press F1 key and enter a telnet or BBS domain. A good example of 80 column telnet server is telehack.com port 23.
Then a question is asked about the encoding to be used:

  • VT100
  • PETSCII
  • ANSI

If we want to use UN * X machines, the protocol to be used is VT100, while if we connect to BBS dedicated to Commodore computers, we choose PETSCII. Telehack.com uses VT100.

An example of BBS server is afterelife.dynu.com port 6400 encoding PETSCII. To download or upload files, after staring download/upload from ie BBS, press F1 then chose to download (F1) or upload (F3) a file. KipperTerm use Xmodem as file tranfer protocol.

By installing a telnet server (telnetd) on a machine on your local network you can connect to it and “control” i.e x64 PC by your little 8bit C64.

For more resouces about 64NIC+ visit this link

Adding programs to EEPROM

As you have read before, you can put 16k cartridge programs or games in an EEPROM. You can use 64Kb eprom like 27C512 28pins or 256kb eeprom like 27C020 32pins (default).

You can put up to 16x16kb commodore64 compatible .crt images in a 256kb (2Mbit) EEPROM. You can use .bin images and put all in one file using for example HxD or you can use this tools Games Cart Creator (unfortunately not compatible with windows 10)

To be continue …