Archive for the “Mac” Category

I migrated to OS X 10.11 the day after it was released and then hadn’t had a chance to play with it until today. A few years ago I made a small script to automate login on one of my machines. I put the script in the /usr/bin/ folder and all had been well. It turns out that Apple made a change to make the OS more secure. No longer does the ‘sudo’ command give you access to everything. Now if you try to put anything in /System/, /bin/, /usr/, or the /sbin/ folders even with sudo, you will be denied. Only an Apple signed file can be put in those directories. With the exception of /usr/local/ that is. You can find many fine articles on why, and how to disable this new feature, like this fine article at Ars Technica.

Knowing why doesn’t much help you should you find yourself in my position. I couldn’t remember exactly what was in the script. So I went looking for my trusty Time Machine backup. However Time Machine doesn’t provide an easy way to locate protected directories like the /usr/bin/ I eventually discovered I had put my script in. I was forced to do some Googling to find out that Apple moved files that were not supposed to be in those protected directories to a special folder.  Apple helpfully moved them to /Library/SystemMigration/History/Migration-{UUID from somewhere only Apple knows}/QuarantineRoot/{Then whatever folder it was under. In my case it was usr/bin/}.  Once I sudo copied my script over to /usr/local/bin I was able to run it again and all was well with the world again….. Until next year when Apple changes our world yet again. But hey, it’s still safer then Windows. At least as long as you don’t have Flash or Java. In that case you might as well just buy a PC.

Comments No Comments »

As you may have already read, a couple of weeks ago I set out to compile CGTerm for the Mac OS X 10.9. I was able to accomplish this and received some feedback that encouraged me to dig deeper. Some of the things I decided to add were an application icon and to “package it up” so that it was easier to download and install. Those were minor touches that didn’t need a lot of actual code.

The biggest issue, and one that I felt would keep people from even “calling” a BBS if they owned a Mac (PC owners seem to have plenty of other options without much work. Namely using a terminal program running inside WinVICE. With that you get all of the thrill of a BBS.) was the fact that CGTerm was hard coded to use positional key mapping. What that meant was that keys like the 9 key would map to the 9 key on the original C64. Meaning when you pressed Shift-9 you got the ) character. Not the ( character you were trying to type because that’s what your keyboard showed. You could change the key to any other key, but that still meant that shift and that new key would produce a ). You couldn’t move ) alone to some other key. That was a big show stopper in my book. Without having some kind of overlay on your keyboard how could you hope to remember what key to press. Especially when the games menu was accessed using ‘*’ and Shift-8 did the ( character and put you in the message board section. Which, knowing my luck, probably also used the ‘*’ character to get back to the main menu? How frustrating right?BBS Command Main Menu

Well I HAD to play my games. Nuke Em has been calling me back for years. I must vindicate America by beating Greenland. (I was thinking the same thing when I first played the game 20+ years ago. When did Greenland ever become either a Nuclear Power or was ever a big player in any war game?) So to do that I needed to be able to tell my ‘*’ key from my ‘)’ key. I tried many different ways to get that blasted ‘*’ key to map correctly. Finally I gave up and decided I needed to recode CGTerm to do symbolic key mapping.

Symbolic key mapping allows the user to to program each key, along with modifier keys like the C= key, short key, and control key, independantly. This way if I wanted shift-9 to put out ‘*’ and control-9 to put out ‘G’ I could. I don’t know why you would want to, you still would forget how to get to the dang games menu, but you could if you were feeling particularly plucky.

The old version of CGTerm required a .kbd file to be present or it would actually fail and you couldn’t even start it. Not helpful considering the fact that unless you had an installer that created the settings file (.cgtermrc) the app would create a settings file but wouldn’t load it. It would try to find a default keyboard file in the default location but if you knew where that was this wouldn’t be an issue in the first place. So I fixed that as well. If it can’t find the settings file it creates it and loads it at the same time. And if it can’t find a keyboard file it just assumes you are OK with using your keyboard just the way IBM (or Apple in this case) intended.

In composing this blog post I ran into an issue trying to download files. I guess I have more work to do with default file paths. But at least I can play my Nuke Em. My original post on compiling CGTerm for Mac has the current .DMG image if you want to download and run my version of CGTerm. I have included the source code at the bottom of this post should you want to compile it for PC or another platform. If you decided to do that drop me a line. I would be happy to link to your compile so others can enjoy BBS’s on as many platforms as can be made available.

Here is the new source code: CGTerm 1.8 Source Code

Comments 3 Comments »

Ok, so I finally did it. Back in 2011 when OS X Lion debuted I went looking for a good way to get back into BBSing. I have missed the long hours spent in front of the keyboard trying to get a game mod working on my board. Funny thing is, those were fun times. But I didn’t see it that way when I was doing it. In fact as I recall I think I felt like I was trying to get a high score in the game of ‘Blood Pressure’ back then. Of course when you are 16 you don’t care about silly little things like cardiac arrest.

Anyway, I had just bought my first Mac after the family PC died. I was just learning about OS X and had installed Lion. Lion turned out to be a mess. But that’s a WHOLE other post. I had been trying to figure out why Lion kept crashing so when I downloaded CGTerm  and it wouldn’t work I was mad but I had bigger fish to fry. After I fixed what Apple broke, I went to Google to find the answer to my CGTerm problem. Doesn’t Google have all of the answers for everything? And with Apple being so popular I knew for sure someone had figured out the black magic needed to run run this or connect to a BBS from my Mac. But alas it was not to be.

As it turns out, the only version I was able to find that was compiled was for PowerPC. So I decided to figure out how to compile it for the Mac. But that turned out harder then making Lion work as it should. So I did what any good IT person does, I gave up. Well that’s not entirely true. I just turned my attention to getting Color64 to run in an emulator. Which I was mostly successful at.

Eventually I decided I didn’t have enough quests er I mean open projects. I needed at least one more. So I decided I would learn to program iOS. I couldn’t get websites to run the way a giant team with millions of dollars and years of experience to so I figured programming for the phone natively would be easier right? Well sort of….

I had just enough knowledge to cause some real damage so I decided to throw the source code into XCode to see what I got. After messing with the code a ton I was finally able to get something that could be placed in the Application folder and wouldn’t crash on launch. It doesn’t have a native installer because I don’t have the $99 a year per platform Apple needs to keep from going bankrupt. But if you download the zip file and follow the instructions at the beginning of the Read Me file you should be able to start dialing BBS’s.

I wasn’t able to test upload and download and I had to make some changes to the source so it wasn’t so confusing when you saved .SEQ files. And it appears that the person that programmed this originally has abandoned it as it was out of date in 2011 and the website still has some failed links. But I updated the default configuration file to include the address of real working BBS’s and tested them all. So if you have any questions, feel free to email me. I would be happy to help where I can so we can get more people using these BBS’s. One day I hope I can get a terminal program going for iOS.

Just in case it wasn’t clear from this posts title but this compile should run on any system 10.9 or greater. It would work on 10.7 but I couldn’t force it go below 10.9. And besides, who is running anything earlier the n 10.9 now anyway? Now if only I could get Nuke ‘Em running again……

UPDATE (2-9-2015): Zip file was removed. In it’s place is a disk image file with CGTerm v 1.8. Download the DMG file and open. Then move over the link to your Applications folder. Also be sure to move the SDL.Framework folder to link to your Library/Frameworks folder. See my post on fixing bugs in CGTerm for more information on changes made to v 1.8 and the source code for the changes.

UPDATE (3-7-2019): Moved the servers and broke the links. Sorry about that. Thanks to the Sysop over at for bringing this to my attention.


Comments 7 Comments »