G's Blog


Read the latest posts from G's Blog.

from G's Blog

Making “Retro” Home Movies

So if you follow me on the fediverse you will know that i recently picked up a nice Panasonic PV-007-K. It is a camcorder from 1997 that uses VHS-C tapes. I grew up playing around with camcorders and wanted to capture some memories with one again. Why? you might ask. Couple reasons. One just because i figured it would be fun to use and show off. And two because ain't no way google or anyone else is going to get there hands on this footage LOL.

So i finally captured some footage today. Let me tell you we are spoiled these days when it comes to image stabilization. It's very hard to get a stable shot with this camera. Luckily i found a way to stabilize it some using FFMPEG. It's a two step process.

First you issue this command

ffmpeg -i input.mp4 -vf vidstabdetect=stepsize=32:shakiness=10:accuracy=10:result=transforms.trf -f null -

You follow that up with

ffmpeg -y -i input.mp4 -vf vidstabtransform=input=transforms.trf:zoom=0:smoothing=10,unsharp=5:5:0.8:3:3:0.4 -vcodec libx264 -tune film -acodec copy -preset slow output.mp4

And that will produce a more stable version of the input. It's not perfect but it's much better. See for yourself.

Source video

Stabilized video

The biggest give away that something is up is the date/time display. Lesson is don't enable that i guess.

I also need to work on my capture method(I'll detail that in another post). The audio does not seem to come out very loud. Or maybe this camera just has a really bad mic. I also suspect that the capture device(or software) i use is negatively affecting the quality greatly. We'll see in time as i mess around.


from G's Blog

So long GTube

As i write this the DNS servers of the world are forgetting all about video.gcfam.net.

If you follow me on the fediverse then you will already know that i am shutting down my Peertube instance and moving to https://spectra.video . I have downloaded all my videos and will be re-uploading them there in the coming days.

Peertube is a great service i just got tired of the instance maintenance for the amount i actually used it. This will probably be the only “service” i shutdown. At least for the foreseeable future.

That's all for now


from G's Blog

Writing D64 images to real floppies

Hello everyone.

When I started my #retrocomputing journey i knew that i would end up with a floppy drive at some point. Had to upgrade from tapes right? One thing i was always unsure of was would i be able to really put it to use. Well when i went looking for a drive i also looked for floppies. Luckily i did find some NOS floppies. Now i had to find a way to get some content on them. In comes the Pi1541. This lovely project turns a Raspberry Pi into a 1541 disk drive. It actually emulates the 1541 in a cycle perfect way. This changed everything for me. With this it was now like i had 2 1541 drives.

So using VIC 2 disk backup i was now able to take a D64 disk image and write it to a real floppy. The software requires at least 16k of memory expansion. It can also use 24k. The way it works is actually quite simple. Here is what the software does.

  1. Prompts for a disk name and ID
  2. Format the new disk.
  3. Read in as many blocks as the available memory will allow
  4. Write those blocks to the floppy.

Repeat 3-4 till all blocks are copied.

It works fairly well. I’ve not had it fail on me yet. I’ve captured a small but probably uninteresting video of the process.

If you have a system compatible with the commodore 1541 disk drive you should get yourself a Pi1541. I can’t directly compare it to regular SD2IEC devices as i’ve not used those. But this thing works great. Now i can load DOOM from a real floppy (-:

Also just a little housekeeping. Its been a while since i posted again. Things are slowing down here and i might find myself with extra free time on my hands. That might turn into more posts again. I'll also acknowledge my failure to complete the 100 days to offload challenge. I'm a little disappointed but at the same time it did get me to write more posts. If only for a short period of time.

Well that's all for now


from G's Blog

Back to the 80's AKA Got me a VIC-20 (#100DaysToOffload Day32)

So this is something i have been wanting to get into for a while. #RetroComputing. I could never find the right listing at the right price. Well this time when i went looking all was right and i scored a (what i consider) mint condition VIC-20. Also got a tape drive for it, some educational software on tape and a couple cart games.

See pics here

So now what to do with this. Well i discovered that there is still an active community of people making games for this system so that's been fun. Downloading games and converting to a format that i can then record to cassette since that's the only way i have(for now) of getting things to/from the VIC. That's worked out pretty well so far. I have also found Compute Gazette on archive.org and have embarked on a semi quest of archiving the program listings from them. I'll document that better here some day but for now you can find .tap files of what I've done here. I'll also post it all over on the Denial forum(linked above) under the games section.

I have also made .tap files for the above mentioned educational software.

That's all for now.

Till next time. Be safe!



from G's Blog

Keeping FreeBSD up-to-date on Raspi-B from Linux (#100DaysToOffload Day31)

So if you follow my blog/fediverse account you know that i've started using FreeBSD on some RapberryPi Model B's i had around(that's down to 1 now...) as some in home servers. The remaining one hosts my gopher space and a disposable mailbox service. The trouble I've had was that the only way to upgrade between releases was to either build from source on the Pi(haha who's got time for that) or start from scratch with a new image every time. Had to come up/find another option.

Thanks to @mpts@mastodon.social who pointed me to an article about just this. Mind you the article is about FreeBSD 11 but same process applies. So i set off to get this going. First attempt was to do it from my little Dell laptop. While it worked it took like 2 and a half hours to build world+kernel. Had to be a faster way. Not that this needs to be done often but still. Then it hit me. I can use Qemu on my linux PC to setup and use FreeBSD. So i did just that. This post will detail the steps i took to get this accomplished. The time savings are well worth it in my case. So lets get started.

Step 1 is to create the disk image. This is done like so

qemu-img create -f qcow2 -o preallocation=full FreeBSD.img 64G

Since i only plan on using this to build for the Raspberry Pi 64gb should be more than enough. Preallocation will speed things up a little by having the file at it's max size and not having it take time to expand as it needs.

Step 2 is to grab the 64-bit installer image for FreeBSD 12.2 and use that to install FreeBSD in our VM.

We start Qemu like so to boot the installer.

qemu-system-x86_64 -vga std -smp cores=8 -machine accel=kvm -m 4096 -hda FreeBSD.img -cdrom FreeBSD-12.2-RELEASE-amd64-disc1.iso -name "FreeBSD" -rtc base=localtime -boot d

This will create/boot a VM with 8 processors/cores and 4g of ram using our image created above as the hard disk. We can then step through the installation as normal. The defaults are good enough for this use.

After the install is finished we can power down the VM and start it back up without the cd mounted like so

 qemu-system-x86_64 -vga std -smp cores=8 -machine accel=kvm -m 4096 -hda FreeBSD.img -name "FreeBSD" -rtc base=localtime 

The rest of this is taken directly from the article linked above and adapted to build 12.2 instead of 11.

So Step 3 is to grab the FreeBSD source.

cd /usr/src
svn checkout https://svn.freebsd.org/base/releng/12.2

Once this has completed we can start the build

make -j9 TARGET_ARCH=armv6 UBLDR_LOADADDR=0x2000000 buildworld

It is important to set the UBLDR_LOADADDR variable otherwise the system wont boot.

On my system this took about about 30 minutes.

Once that is down we build the kernel

make -j9 TARGET_ARCH=armv6 KERNCONF=RPI-B buildkernel

This took about 5 minutes for me.

Now came the next part i knew i would have to figure out. How to mount the Pi's SD card in Qemu. After some searching i found how to do this using USB pass-throught. First step is to find the device by using lsusb

Bus 004 Device 003: ID 0480:0212 Toshiba America Inc External USB 3.0
Bus 004 Device 002: ID 0480:0212 Toshiba America Inc External USB 3.0
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 002: ID 1058:1230 Western Digital Technologies, Inc. My Book (WDBFJK)
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 17f6:0821 Unicomp, Inc R6_0_Trackball_v3_45
Bus 001 Device 002: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 009: ID **1908:0226** GEMBIRD 
Bus 001 Device 004: ID 1058:0827 Western Digital Technologies, Inc. My Passport 0827
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Note the bolded vendor/product ID above. The resulting command is then

qemu-system-x86_64 -vga cirrus -smp cores=8 -machine accel=kvm -m 4096 -hda FreeBSD.img -device usb-ehci,id=ehci -device usb-host,bus=ehci.0,vendorid=0x**1908**,productid=0x**0226** -name "FreeBSD" -rtc base=localtime

Notice the same bolded vendor/product id's. This will allow access to that USB device from the FreeBSD VM just as if it was connected to a physical pc.

Now we keep going with the install of the kernel/world we just built.

First we mount the SD card

mount /dev/da0s2a /mnt

Device name might differ.

Then the install steps

make TARGET_ARCH=armv6 KERNCONF=RPI-B DESTDIR=/mnt installkernel
mergemaster -p -A armv6 -D /mnt
make TARGET_ARCH=armv6 DESTDIR=/mnt installworld
mergemaster -iF -A armv6 -D /mnt
make TARGET_ARCH=armv6 DESTDIR=/mnt delete-old
make TARGET_ARCH=armv6 DESTDIR=/mnt delete-old-libs

This takes very little time overall. The biggests steps in a way are the 2 mergemaster commands as you have to pay attention to the files so you don't wipe your configurations.

Once that is all done we simply unmount the SD card, put it in the Pi and power it on. If all went well we should have a Pi booted up with the latest release of FreeBSD-12.2.

That's all for now.

Until next time. Be Safe!


#Tech #FreeBSD