BBS on iOS – Finally!

BBS, Commodore 64, iOS, Mac No Comments »

Is anyone still here? I doubt it. I haven’t had anything to post for quite some time. I used to have down time at work where I was able to port and update CGTerm. As Windows and MacOS moved on though, I didn’t have the time to make the changes needed for CGTerm to keep up. I eventually decided that moving to a website based model would work best.

The problem with the website based model is the back-end needed to translate Telnet into Websocket and back again. I was not sure how well my server could handle it and opening a port up from a web server hosted in a home is not for the faint of heart. I also couldn’t figure out how to keep a Color64 BBS running in emulation for me to test. So I haven’t worked on this model much.

Enter this weekend. I had done searches in the App Store for things like Commodore and C64 and last week Emulator. There used to be an excellent Commodore emulator in the App Store years ago but was not maintained and I think Apple changed the rules so the app was taken down. I can’t remember why, but I started searching for a program called C64 Paint. The application was not available in my region but scrolling down I found the Muffin Term app for iOS and MacOS.

This app does terminal emulation for PETSCII (So I can call my beloved Color64 again!), ANSI for PC boards (are there any out there? Didn’t that get replaced with this World Wide Web thing I keep hearing about?) and ATASCII for those Atari BBS’s. I am hoping that I can find an Atari BBS to call. I had no idea that Atari had BBS software. My parents sheltered me from all of the “other” formats out there. And thank goodness too. Imagine if I had gotten locked into that fruit company. They aren’t still around are they?

The app has different modem icons you can choose from. Very classy. And when I typed atdt the app gave me a dial tone. I didn’t try and dial anything but I wonder if it also gives the negotiation tones? It also takes advantage of external keyboards, syncs your phone book to the cloud, uses pinch and swipe to zoom in and move around, can lock in at different speeds so that art is “played” at the right speed, and keeps track of your number of calls and time spent on the board. Once I get over my joy at being able to do this again, maybe I will write another post going more in depth. This makes me wish I could port it to PC as well. It’s that good.

Apple hates retro computers

Arcade Games, Commodore 64, iOS, Video Games No Comments »

That’s probably not entirely true. But thanks to the 8.3 update to iOS we either have to jailbreak our phones or go somewhere else for our retro gaming fixes on the go. At least that’s my interpretation. Prior to 8.3 there were two important apps on my iPhone that I could use to feel like a kid again.

Gridlee, which was yanked within hours of being posted on the app store, allowed me to play arcade games in an emulator called MAME. It was basically a MAME emulator that played one arcade game, Gridlee. From what I read the Gridlee game was licensed. I am not sure if MAME was. It’s attraction was that it was leaked that if you used an app like iFunbox you could drop Zip files with MAME compatible ROM’s in Gridlee’s Documents folder and voilà, Gridlee shows a MAME front end. And the best part of Gridlee, it was compatible with the iCade, also because I liked portability the iCade 8-Bitty. That was before Apple “figured out how to do controllers”. I wasn’t aware there were technical issues that needed to be solved. Console’s had solved those issues years ago. But you know Apple, they are the only ones that can bring great tech to the masses. Did you catch the sarcasm? Anywho, Apple yanked it from the App store but as long as iFunbox had access you were good to go. Even after Apple borked other ways apps downloaded content in iOS 8 Gridlee still worked. (My other favorite game Atari’s Greatest Hits which plays Atari 2600 games fell to this issue. To their credit, they did finally fix it. Thank you Atari!) Now it looks like Apple may have permanently taken access to that directory away. Making Gridlee unusable in any other iOS device I might get in the future.

The other casualty was Manomino’s C64 Emulator. It was a great little emulator based on Frodo for the iPhone. I kept waiting for an iPad version but sadly development stopped and due to licensing hassles it was eventually permanently pulled from the app store. I say permanently because it had been pulled once before. Apple didn’t like the fact that you could program BASIC on it. That capability was supposedly taken out. However, the version I have has the BASIC interpreter as a playable “game” in the library. And even without loading any games I can program in BASIC. With iFunbox you were able to load new games into the app and even add box art. I was even able to load and play “Impossible Mission”.

Alas, the days of playing Arcade and Commodore 64 games on the go appear to be over. Thanks a lot Apple. Well to be fair thanks should also go to the owners of Commodore and to all the content owners that refuse to do anything with their IP other then sue people who want to enjoy their creations. Even licensing it so that a game or group of games is only a buck or two has got to be a better way. So I leave you with the best parting words ever written:

“So long, and thanks for all the fish” – Douglas Adams, The Hitchhiker’s Guide to the Galaxy

 

Fixing annoying bugs in CGTerm

BBS, Commodore 64, Mac 9 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

CGTerm for OS X 10.9

BBS, Commodore 64, Mac 16 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 CGTerm.app 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 Color64.com for bringing this to my attention.

CGTerm.dmg

Color64 BBS in Vice 2.4

BBS, Color 64, Commodore 64, Ubuntu 16 Comments »

Finally! I have been searching, and searching, and searching for a way to put an instance of the Color64 BBS online for some time now. My goal really was to be able to play Nuke Em again. Unfortunately after scouring the Internet I haven’t been able to find any mods for Color64. The only mods I have been able to find were for Image BBS. As I was never an Image BBS Sysop, they only interest me as to make a conversion of the game play.

Not finding any original mods didn’t dampen my desire to run a Color64 BBS again. Several people are doing that but they are either using a real Commodore 64 or a few of them are running them on an emulator hosted in Windows on winVICE. After trying to learn servers and web programming on the Windows environment years ago I gave up when I wasn’t able to pay Microsoft thousands of dollars or rent space on a web server that had enough permissions to actually learn something. I moved over to a Mac. Even Apple wanted to charge a premium for their web server though. Even if it wasn’t the thousands Microsoft wanted it was still too much considering Apple now wants you to upgrade every year and charge you for upgrading the web server software.

Enter Linux. Since most of the world is running on Linux with other part running Microsoft I figured I would give that a try. And I was very impressed with the capabilities. No longer did I need an expensive license to learn and host a website. Or to remotely manage my system at home. I could even run a trusty Commodore again.

But I digress. The moral of the story is that I found out how to get Color64 working VICE 2.4 with Ubuntu 12.04.4 Linux. The hack I put into place should work with winVICE on Windows as well as Mac. I haven’t tested on these platforms so don’t quote me. The hack involves replacing one file in the VICE source code and compiling.

Steps to running Color64:

  1. Download tcpser. Tcpser serves as the bridge between VICE and the Internet. Once again, thank you Jim Brain for such a wonderful piece of software.
    sudo apt-get install tcpser
  2. Next download the VICE source code. I used version 2.4 but with some modifications I am sure newer or older versions will work.
    http://sourceforge.net/projects/vice-emu/files/releases/vice-2.4.tar.gz/download
  3. Expand the tarball to your Desktop or other directory.
    tar xf vice-2.4.tar.gz
  4. Replace the rs232.c file in src/rs232drv/ with this modified version. I have commented out the one changed line and commented the inserted two functions and one variable. The changes were found from modified files at gcns.com.
  5. Now when in the root of the VICE folder, Configure, Make, and install the VICE source code.
    ./configure
    
    make
    
    sudo make install

    Should you make any mistake or if you need to start over, you can uninstall by going to the same root of the folder in VICE and uninstalling VICE.

    sudo make uninstall

    There is another nice tutorial at the Ubuntu Forums that has helped in figuring out how to compile and install VICE.

    • When compiling on x86 I had no problems. When compiling on an x64 system I had to make a link in order for VICE to find the kernal. I am sure there is a configure option needed I just didn’t find it when I made this post. Until then if VICE complains that it can’t find the kernal use this command.
      ln -s /usr/local/lib64/vice/ /usr/local/lib/vice
  6. Assuming the build and install process went well, we now need to invoke tcpser. Tcpser will act as the modem taking calls from the internet and putting them on the rs232 port in VICE. Open a terminal and invoke it with this command.
    tcpser -v 25232 -p 6400 -tSs  -l 7  -i "k0" -s 1200

    If you would like a little more information about tcpser and how this works with VICE, see this post.

  7. Now we need to setup VICE to communicate with tcpser. I like to run VICE from a command window so I can watch the output and any errors that might come up. Either way we need to make the following changes to settings under the RS232 settings menu:
    • Turn on “Userport RS232 emulation”
    • Select “1200 baud” under “Userport RS232 baud rate”. (This can be changed in the middle of a session without a rest. Just remember that the speed tcpser reports can’t.)
    • Under “Userport RS232 device” select “Exec process”.
    • Under “Program name to exec…” type | nc localhost 25232 (Be sure to include the pipe “|” char at the begining. This command will send all input and output normally being sent to/from the VICE userport to “localhost” (if you have issues you can use the IP of the machine tcpser is running on. Normally localhost is an alias for 127.0.0.1) on port 25232. This is the IP and port of tcpser, our “virtual modem” interface.
  8. Once we have VICE and tcpser setup we need to attach the BBS software to drive 8 and run setup. Make sure to uncheck “True drive emulation” under the “Drive settings” menu. That will speed up operation of the board a ton. You can get a copy of the Color64 disks here. All of the documentation I have read states that the author (Greg Pfountz) has released  the software into the public domain. Thank you Greg. It’s refreshing to see a copyright holder allow us to keep the software alive. The best way I know of to avoid the dreaded disk swap is to take all of the software on the D64 disks and put them in one D81. Right now the best way I know of is to use Style’s DirMaster. It only works on Windows. Hopefully in a little bit I will be able to update this to add an online tool I am working on that will let you do that and more. It will really be helpful for Sysops.
  9. Next we need to run the setup. I suggest if you haven’t run Color64 before, or if you are like me and haven’t run it since before my kids were born, that you read the manual. The best manual I was able to find was here.
  10. I won’t go into the settings much in this post, maybe in another post I will detail them. But for now the important changes are to these settings:
    • ‘Normal or Inverted hook’ = n
    • ‘User bit 32 = High Speed’ = y
    • ‘Use ‘AT’ modem commands’ = n (Very important. It appears that without this the BBS will always try to start at 300 baud. We want to run at 1200 baud. Either way, the BBS uses AT commands.)
  11. Once setup is run it’s time to start it up. Settings will automatically load the board if you allow it. Once it’s setup we need to make a few ‘adjustments’ before it will accept calls hands free.
    • First we need to use a terminal to connect. See this post for more information on connecting from Telnet or CGTerm.
    • Watch the connection as you connect. You will see a screen like this. Bad Connection
    • The garbage above Last Caller indicates the speed isn’t right. Switch the Userport RS232 baud rate to 300, you should see a ring message where the garbage was. Then you should see a ‘connect 1200’ message and your terminal will show junk. Now you change the Userport RS232 baud rate back to 1200 and you should be good to go.
    • If it still won’t connect at 300 or you didn’t start the BBS with 1200 you should reset everything. Close and reload tcpser. Then do a hard reset on VICE and load the BBS again.
  12. The final step is to forward the 6400 (or whatever port you set -p to in step 6.) port on your router to the computer running tcpser.

Now tell the world that yet another Commodore BBS rises from the grave! You can start by going to Commodore BBS Listings or post an announcement on the Lemon64 forums. And by all means, please let me know to!!!

BBS from an iPad

BBS, Color 64, Commodore 64 No Comments »

I miss running a BBS. That was back when you actually felt like YOU controlled the computer, not the other way around. These days even programmers don’t understand why the computer is acting up. It seems to take a village of IT people just to run a word processor.

That’s not how it always used to be. Back in the 90’s when I ran a BBS with Color64 on a Commodore 64 it only took one person to run the whole show. Not that it was a big show or very long running. Mine was canceled after about two years. And for good reason, it wasn’t very interesting. I didn’t have much software available to download and I wasn’t able to locate a ton of BBS ‘doors’ as they were called to play games on. Though I had a few.

My absolute favorite was called Nuke Em. In Nuke Em you played as a country and had to buy various parts of missiles and build a missile stockpile. Once you had a stock pile the only logical and fun thing to do is nuke your enemies. While that sounds more like real life now, back then it was fun. Like when as a boy I played ‘War’. Now days if my son asked to play ‘War’ I wouldn’t let him for fear that he would be shot by accident by the police. Not that police are wrong mind you, they just have a very tough job. And when they make mistakes, that’s all you hear about for a week on the news.

Anyways, back to the BBS, I also wasn’t able to generate much conversations on my board either. Considering that I maybe had 25 members that only wanted to download software I guess that shouldn’t have surprised me. But boy did I have grandiose dreams for that board. So I have been looking for a way to run Color64 again.

I don’t really have room or access to run a real C64. But even if I did it seems that the only instructions on the Internet today seem to require using a Windows system as the interface to the net. And since I am not made out of money I am using what I have available, an old PC I thought was dead running Linux. And I can’t seem to find ANYWHERE for step by step to run Color64 on VICE and get it to pick up the line when someone ‘calls’ in.

So I am doing the next best thing. Writing software to emulate the experience for me. Which is a HUGE undertaking. One of the issues is terminal emulation. Commodore computers used a customized keyboard to display text in a different way then other computers. This allowed them to have graphics in text. (See the homepage for an example.) Even HTML won’t do that as easily as the Commodore did.

Another issue with terminal emulation is nobody sits still. How much time do you spend in front of a laptop or desktop vs a phone or tablet? I spend a lot of time with a laptop but that’s at work. To really have fun I need to be able to access the BBS from a tablet or phone. That means emulate the experience of sitting behind my Commodore 64 in HTML so I can use my iPad to play those games. That’s a tough order. But one I might be able to accomplish by the time my kids emulate the XBox 360 to relive their youth like I am doing with the Atari 2600 now. So check back from time to time. Hopefully I will be able to post links to this project so everyone can experience those two Mountain Dew fueled years close to how I did. (Minus the heart problems I am sure all of that caffeine I drank will cause. And late nights spent fixing a door to work.)

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Log in