Recently a close family member of mine was the a victim of significant hack that drained his bank account among other things. After a lot of phone calls and stress, the issues are now luckily resolved, but it got me thinking that I should be a bit more proactive in encouraging my family, friends, or just people in general to lock down their online accounts and data better. Here are a few straightforward tips that really work for protecting your digital life:
This update has been long in the making, but I finally feel like it’s ready for the wild! ALOT has changed since my last update of the player. For one thing, I completely restructured the code to make things more modular in order to more easily support other hardware while reusing some of the same routines (more on this shortly). I pretty much had this new version finished a few months ago, but I discovered a bug in the OPL code where it wouldn’t silence all the instruments in a song when you would abruptly stop playback, and I wanted to fix that before releasing it. Then I got sidetracked with boring life stuff, but I finally had time to find the bug and squash it! Sooo on to the good stuff!
The first new feature I’ve added is VGM Loop support. Some VGM files include embedded instructions to loop certain sections of the song, usually so you can have a unique intro separate from the main looping section, and these are now supported natively. I also added a flag to allow the user to customize how many iterations the loop should go through before finishing. The default is 1 loop, but you can select between 0 and 9, or have it loop forever.
The next major change is new hardware support! For one thing, I have added code for users using native GIME-X NitrOS-9 builds that will force it out of turbo speed mode into normal high-speed mode in order for my timing loops to work correctly. NitrOS-9 automatically returns the GIME-X back into turbo mode periodically on its own so this shouldn’t affect anything after playback is done. Maybe I can find a more elegant solution in the future. But now, the BIG news.
I had explored the possibility in the past of adding support for devices other than the Mega Mini-MPI, but I lacked any way to experiment and test code to see if I could get them working. A few months ago though, I learned that MAME can actually emulate most of them! I had been talking with someone on IRC who was excited to receive his new CocoPSG and was asking if it was supported in my player, so I started tinkering. One device supported became TWO! At the same time, I started poking into how the Game Master Cartridge worked as well, and in short order, two became THREE! During my testing using MAME, it became apparent that addressing these sound carts if more than one were connected at the same time could make things tricky. So I decided on implementing some new flags that allow the user to specify an MPI slot for both the GMC and PSG (OPL uses “virtual” slots so flags aren’t needed for it). This means that you could potentially have a Mega Mini-MPI with both a Game Master Cartridge AND a CocoPSG connected to it, and be able to play song files made for any one of them at any time. For example, you could create a playlist mix that has OPL, PSG, and GMC music files that automatically route sound to the appropriate device!
Speaking of playlists, that is another significant change from the previous version of my player. In the past, playlists were just pathnames to files separated by carriage returns and the only way for the player to recognize one was for you to use the -p flag. This new version supports proper M3U playlist files which are automatically detected regardless of the file extension and without the need of any flags! You can easily make one with any CoCo text editor and instructions are including in the help section of the program.
I’m super proud of how this player has evolved and hope to add more support in the future as well. I do warn you though that all my testing has been done inside an emulation environment and so I can’t guarantee it will work perfectly on real hardware as I don’t own any (yet). Please let me know if you have any problems so I can troubleshoot! Feel free to check out my demo video below and use the download link to try it for yourself. The VHD disk image contains sample music for all the new devices as well as the previous OPL ones so you can experiment. Have fun!
CoCoIRC is a native Internet Relay Chat client written from scratch in 6809 assembly language for the NitrOS-9 operating system. I started on this project a little under a full year ago and it has been, by far, the most complicated CoCo program I’ve ever written. It currently requires DriveWire in order to make the TCP connections to IRC servers, however I do plan to support other coco networking solutions in the future provided there are SCF drivers for it. Also, it only currently will run a Color Computer 3 since it is hardcoded to use the built-in 80-column text mode. Again, in the future I may be able to add support for other text modes allowing it to potentially run on a CoCo 2 as well. It also DOES work on MAME as long as you have the Becker interface setup with a DriveWire Server to talk to. NOTE: This release is very much BETA and I’m sure there will be bugs or things missing, but the best way for me to discover them is for others to mess with it. Please reach out to me if and when you find any of them so I can squash them.
I have been active on various IRC networks on and off since I was in high school in the 90s, and in fact, it helped get me through one of the toughest times in my life. It allowed me to connect and socialize with people in the mid 2000s when I was too ill to go out and see people in person. I really love to dream up ways in which our CoCos can be used not just for games or retro nostalgia, but also be useful in modern everyday life. We use our PCs/Macs/Phones/Tablets all the time to chat with fellow CoCo enthusiasts, but what if you could do the same thing using the CoCo ITSELF?! Well, you see where this is going. Now you can! Of course, by no means are you limited to just chatting about CoCo stuff. There are practically an infinite amount of channels you can join to talk about anything and everything.
I put together a quick demo video showing CoCoIRC in action which you can watch below. There are also links to download it for yourself and give it a try. If enough people are interested, I could perhaps make a tutorial video in the future where I walk people through process of setting everything up and connecting to a server, etc. Enjoy!
In my last post, I showed off the beginnings of a new shack here in my 3rd floor apartment that I moved into recently. Well, I’ve made a few upgrades that I wanted to show off. The biggest one was returning that small Anytone mobile and replacing it with a Yaesu FTM-7250DR 50 Watt Dual-Bander. It’s a very nice rig and supports Yaesu’s digital C4FM/Fusion digital mode. It took awhile to actually find one of these in stock due to all the COVID19-related shortages we’ve all been dealing with.
The other thing I did was setup my SiriusXM Satellite Radio desktop receiver along with my outdoor weatherproof satellite antenna that I mounted just below my Diamond vertical antenna on the fire escape. I routed the coax for both antennas underneath the fire escape for safety reasons and neatly ran them along the edges of the room to the back of my desk. It came out pretty good! Check out the video below for a quick walkthrough of my new setup. 😄
Hey all, so I just put together a new version of my OPL2/OPL3 FM synth chiptune player for NitrOS-9. I’ve heard a few people asking why my player requires the CoCo to be locked/frozen during playback, and the reason is this. Despite the fact that it is not ACTUALLY playing sampled audio, the VGM file format still structures the soundchip data according to the same sort of timing that regular sampled audio uses. This means that every CPU cycle is still significant and I need carefully crafted timing loops to play it accurately. I did look into ways to get around this and allow for OS9 multitasking to continue, but I just can’t think of a viable way. It would be no problem if it was custom music written specifically to run on CoCo hardware, but converting a VGM into a multitasking-friendly format would be very difficult. Soooo instead, I had an idea on how to make the player able to stop playback at anytime. To do this, I squeezed a few instructions to poll the keyboard for the BREAK key into my main timing loop and adjusted my cycle counts, and voila, you can now interrupt the “frozen” CoCo whenever you want and resume your NitrOS-9 shenanigans! 😀 An unexpected feature of this, is that for playlists, you can essentially skip a song whenever you want and move on to the next one immediately without having to wait for the current song to finish playing. Anyways, below the video is a link to a zip file containing my updated player and a few disk images that include some sample music for you to play with. (Pun INTENDED) 😛 Have fun!
In the last couple of years, i’ve had to move twice, and that has been a huge limiting factor in how I could operate on the ham bands. For many years, I was fortunate enough to enjoy the setup you see below. I even put together a fancy graphical layout of how all my equipment was connected!
Since I was living in a house owned by family, I was allowed to put up some cool antennas using the trees and such, but then circumstances changed and I had to start looking for an apartment instead. Well, this time around it couldn’t have been a more different situation. The new place was in a very urban area on the second floor of an apartment building. There were literally no trees or outdoor structures whatsoever to mount something to, AND I literally had a huge pole transformer right outside my window. The best I could do was put up a slimjim 2m/440 wire antenna on the wall, but it was really only useful to get into a handful of nearby repeaters. Also my neighbors in the building did NOT seem to appreciate the sounds of communication audio and probably heard interference everytime I keyed up the mic. It was kind of a lost cause sadly, but I came up with a backup plan! I moved my setup into my 2005 Toyota Matrix instead. 😀 Check it out!
Ok, so now fast foward 1.5 years later to present day. I just moved in to a new place in a much nicer area and with a lot more possibilities in terms of radio stuff. For one thing, I am on the top floor and so automatically have more elevation than I did before. But more importantly, I have both a balcony on one side AND a fire escape on the other! It didn’t take me long to put together a plan for a new ham shack at home! My current setup is a small Diamond X-30A 2m/70cm dual band antenna on the fire escape, 30 feet of RG-8X coax, and a small but effective 25 watt AnyTone AT-778UV 2m/70cm dual band mobile. All of the affordable models of Amateur brand radios are out of stock everywhere, but it worked out ok since I didn’t have alot of extra funds after moving expenses and what not. I’m back on the air!
So ever since I discovered DriveWire’s ability to let you make TCP connections via serial port, I’ve been trying to dream up “apps” to bring the CoCo into the Internet Age. I’m still putting the finishing touches on my upcoming IRC chat client, but in the meantime, I wrote CoCo WX which is a simple command line program that leverages the awesome live-weather data site wttr.in to grab current condition info for nearly any city in the world. I’m a bit of a weather geek (see the posts I’ve made about my own weather station for proof), so I thought it would be a useful and fun little tool to make. As usual, if you’d like to give it a try yourself, the link to download the program and source code will be below!
My Current CoCo Projects
This is a list with links to all my current and past projects where you can find download links to the programs and/or source code. Feel free to reach out if anything is incorrect or missing. Enjoy!
- CoCoIRC v0.9 BETA
- A native IRC (Internet Relay Chat) client running under NitrOS-9 and utilizing DriveWire to access the internet. NOTE: This is a BETA so I can’t guarantee it will be 100% stable.
- CoCo Chiptunes Player v1.3
- NitrOS-9 sound chip player for FM-synth style music files such as CCT and VGM. Currently the player only supports the sound chip inside Ed Snider’s Mega-Mini MPI addon.
- CoCo WX v1.0
- A simple command-line live weather data program I wrote for NitrOS-9. It uses DriveWire and the free web service wttr.in to grab current conditions for almost any city in the world!
- DOSFORMAT v1.1
- A tool for NitrOS-9 that lets you format a 3.5in 720KB Double-sided Double-density floppy disk using a Color Computer into a standard MS-DOS compatible FAT12 one.
- DOSDIR v1.1
- A directory listing command for NitrOS-9 using an MS-DOS style layout with file size and free space presented in decimal comma-separated numbers. The free space calculation time is dramatically improved over the stock DIR command.
- SysInfo v1.2
- A hardware detection tool for the Color Computer 3 inspired by the linux script NeoFetch.
- Version 1.2 update includes improved memory detection algorithm and recognizes additional ROM variants.
- Custom Keyboard Polling Routine
While there are readily available tools for copying files to/from a DOS-compatible floppy disk with OS-9, there aren’t alot of options to FORMAT a raw/blank/non-dos 3.5 inch DS DD disk for use with DOS/Windows machines. There is a suite of 3rd party modules that can do it and more, but they are a pain to setup and some of the modules are hard to track down. Sooo I made this. 😀 I called it DOSFORMAT because MSFORMAT was already taken. 🙁 It doesn’t depend on ANY 3rd party solutions and works with any standard NitrOS-9 install (including Ease Of Use editions). Currently, it only supports 3.5 inch Double-Sided Double-Density disks (720K), but I’d like to add support for 5.25 disks too when I get some kind of device that lets me hook one of them up to my PC for testing. Below is a download link to a zip file which contains the DOSFORMAT command program and the source code (messy as it is). Feel free to play around with it and let me know you think. My contact info is over HERE. I hope you find it useful, or just neat to play with. Enjoy!
Download Link: dosformat10.zip
I had a cool idea of how to run my portable SiriusXM satellite radio completely from USB battery power if we had a power outage. It’s amazing how many devices are 5 volt DC-based and can be easily run off of a USB port or two. But yeah, SiriusXM offers quite a few more options in terms of radio stations to listen to than AM/FM when the power is out 😉