• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

Winter Warm Up 09 - Gavo's Pseudo Blog

gavo

Well-known member
Righto, so I've entered the Winter Warm Up 09 and dont have one of those new flanged blog things. As such, here is my Pseudo blog - I will post my progress (or lack thereof) in this thread for your reading pleasure (haha). I know its not Jan 09 yet, but here is the description of my challenge as scrawled on the wall of the luddites cave... (note I have edited out some of the bits that might offend some folk - in case you have seen this before and dont think it looks quite the same).

I have decided to step up and take on the RC winter warm up.

My challenge will be to provide a retro challenge for those who aren't specifically entering the challenge themselves

To this end I will attempt to get my retro Apple IIe card (which has only ever been out of its box once for me to look at and has never actually been used) to work in my retro lC475, onto which I will attempt to install a retro warp6 BBS which I will then attempt to install some retro warp6 BBS games into, which I will then attempt to get onto the internet via my PC and tcpser - which will then provide the basis of the challenge for everyone else - that being, who will get the highest score on the BBS games - I will perform these amazing tasks whilst drinking large amounts of alcohol which is sure to bring me great success!

Now that all seemed very well at the time, but I've had some time to think and am now wondering if I have bitten off more than I can chew - heres some of the things I think will be a challenge for me...

1. Getting my Apple IIe card working, if this doesnt work - big trouble for my challenge - hopefully tho, it will work just fine - it is all in original packaging and looks nice and clean - so fingers crossed this will be all good.

2. Getting the software onto my LCe. I have an emulator image of the Warp6 BBS that I got working (local only) on my PC a couple of years ago - I'm hoping I can transfer this over to my LCe somehow to save me some time (and effort) configuring up the BBS with the games. I have a backup plan however, I still have the original .SHK archives of both Warp6 and the doors on a 800k Prodos disk - I should be able to read that in my LCe - but it will mean setting up the BBS from scratch.

3. Getting a working cable between the LCe and PC that Warp6 will work with - It shouldnt be hard, but I know it took me ages to get a working cable back with my real IIe back in the day, and I've never got it to work with an emulator.

4. Getting just the right balance of alcohol to retro challengeness - too little and my skills wont be up to it, too much and it will be certain disaster.

All going well I hope to have a Warp6 BBS up complete with some BBS games for us to play at least for the last week of the challenge (hopefully earlier).

9 days to go....

 

gavo

Well-known member
Urg - Jan 1 is not a great day to start the challenge ;-) Having said that, I didnt have a big night - although being old(er) makes up for it - drink half as much to get twice the hang over... Anyway, got back from the beach a couple of hours ago and decided to avoid the Sun for a little bit and start my challenge.

So the first thing to do was install the software and create a prodos partition for my IIe card. To be honest, this work was all done prior to the challenge (a few months ago) as when I first got the card I did a bit of investigation into what I needed on the LC. So, I already had a 20MB prodos partition and the latest version of software for the card all installed. This was all done BTW with the help of my linintosh server as I have a PDS ethernet card in the LC which is very handy for transferring files. That however was as far as I got - the card never got installed and was put into the cupboard of forgotten things.

Fast forward to the present and the installation of the IIe card into the LC turned out to be a bit of an anti-climax. I was a bit nervous given some of the things I'd seen on the web about needing to remove the mobo to install the card. As it turns out, the physical install of my card was a snap (happily for me), the PDS ethernet card popped out and the IIe card popped straight in (I needed to angle it a bit to get it through the opening in the rear of the case, but it didnt seem to catch on anything and didnt require any undue pressure to seat in the PDS slot.

With the card physically installed, I booted up the LC - which started up fine. I then tentatively double clicked on the "IIe Startup" application on the Mac - low and behold my IIe booted up - A very moving moment :)

So again, an anti-climax - so far this is just too easy - its amazing for technology this old that it for one still works, and for another is so user friendly! On the other hand, I guess thats Apple for you.

So the next little while was spent playing around with the card - it automatically configures up the most usable hardware stuff for you, like a clock card, mouse card, RAM card, smart port etc - although I did have to consult the manual about how to switch back to the LC (ctrl-openapple-esc) - I kept trying "ctrl-enter" :) I have to say I really like this card - back in the day this would have been an excellent way of moving from the Apple II to the more modern Mac platform - in my opinion Apple did a good job enabling you to use the local floppy drive and hard drive as native devices whilst being able to attach 5.25 drives and a joystick as well! I've used a few emulators on the PC and I have to say that other than the lack of features around using disk images - for me this is better, perhaps there is a call for a modern Apple II on a card that works with the latest PCI based machines - but I guess thats a task for another retro challenge. For now however, I've hooked up my 5.25 drive, my old IIe joystick and am enjoying (and will continue to for a while) an authentic(ish) session with some of my old favorites - Castle Wolfenstein, Karateka, Bruce Lee etc... Even if my challenge goes no further, this has been worth the effort :)

 

gavo

Well-known member
So although playing all those old games I used to love on something that more closely represents a real apple II than an emulator on a PC is indeed great fun, I quickly discover that not all my disks have survived the last 20 years in storage (although a surprising number do seem to have) and so decide to get back into my challenge.

It has indeed been an emotional day with great ups and and now downs...

The next part of my story begins with me pondering about how to get the Warp6 software onto my LCe - or more specifically, my pre-configured copy I have sitting on my emulator.

After a little thought, I thunk that this would be a piece of cake - simply "shrink" the appropriate files in my emulators disk image to a .shk, use ciderpress to extract it to a 1.44MB floppy, stick this in the LCe, copy the .SHK to the prodos partition, startup my LCe and unshinkt. I was already on a winner as a had a 800k Prodos floppy that had Prodos and Shirnkit on it - so could boot that straight into 8-bit shrinkit on the LCe. Smiling to myself I thought this was wrapped up - until... "Cannot open forked file". Forken hell!! So after some research it seems that transfering the .shk via the Mac somehow "forks" the file. I played around with a few things like binscii'ing the file, changing the file's type with "TYPECHANGE", trying to find and kill any resource fork with Resedit, but ultimately nothing worked. I dont think I exhausted all my options in trying to deal with the forked file, but this was quickly becoming the hard option, when I'm all about the easy option - so I started to think about another way (or plan B - because I still had my original 800k prodos disk with the Warp6 archive and door games shrunk up).

Basically two other options crossed my mind

1. All these involve building a cable between my LCe and my PC (which needs to be done at some point anyway). I'd then be able to either get online from the LCe and download the files (Which I'd have to upload somewhere), or connect to my emulated II on my PC via serial and download direct.

2. Use DiskCopy 4.2 on the LC to create a disk image of my 800k Prodos disk, copy this image to a 1.44MB floppy and then onto my PC to see if I could mount the image in an emulator.

I choose option 2 as I thought this would be quick to try, great if it worked and will allow me to move on without having to get my soldering iron out (just yet).

Creating the disk copy image was easy enough as was getting it back to my PC, and as luck (or the foresight and skill of the programmers - probably just luck tho ;-) ) would have it, KEGS will mount a DiskCopy 4.2 image. So using Shrinkit 3.3 I formated my 800k disk image and then shrunk up all the stuff I wanted onto the said image. Shutdown KEGS, copied the image file back to the 1.44MB floppy, and onto my LCe. At this point the file type and creator were all messed up, so a quick ResEdit and DiskCopy recognised the file as a disk image - here I struck a problem. DiskCopy 4.2 wouldnt read the image - it complained that the checksum was incorrect and told me the image was probably corrupt. Bugger. Deterred only slightly, I decided to see if I would have better luck with DiskCopy 6 (which I already had installed on the LC) - it too complained about a bad check sum, however, after a minute or so looking at the additional options in DiskCopy 6, I found an option called "convert disk image" (or similar) - which allows you to disable the checksum check. So, I said I wanted to convert the image to a DiskCopy 4.2 800K image, and mount it after saving and what do you know - the disk mounted, said it was a prodos disk and there were my .SHK files - copied them (using the finder) to my Prodos Hard drive partition on the LCe, booted into my IIe and shrinkit quite happily opened the .SHK's and extracted the files - in the words of Borat "Great Success". Unfortunately it didnt last.

So now that I had my configured warp6 BBS environment onto my LCe - why not fire it up I thought - why not indeed - well, how about perhaps because Warp6 does some kind of check to see if its running on an enhanced IIe and guess what - the LCe fails the test!!!! ARGHHHH!! So Warp6 tells me it "cant detect vertical blanking". I know nothing of what it talks and so google it and from the results speculate that its some kind of video thing. Can it be that the emulated video that is handled by the Macintosh with quick draw doesnt emulate some kind of parameter that Warp6 is checking for?

So now I am depressed and will ponder my next step (which wont be disassembling the warp6 loader to disable the check - which I admit would be cool, but is not quite in my league). :(

Perhaps another beer with my feet in the paddling pool as the sun starts to get low in the sky (but is still hot)... yes that sounds just right.

 

gavo

Well-known member
Well, I am still considering my options today...

I have found the source code for Warp6 2.5 posted on the internet which I have downloaded but am yet to get onto an Apple II. I will need to decode it, then unshrinkit it, then get it onto a GS with the proper development environment set up (this will all have to be virtual as I dont have a real II of any sort) - given I've never anything other than BASIC on the Apple II this is a rather daunting task - just to get to the point where I could examine the source code, but probably still not understand it :)

To aid in my endeavor I have flicked an email off to an old email address I found for Jim Ferr on the off chance that he's still contactable on it, my email gets through the various spam filters on the net and he is at all interested in a crazy fool playing around with some software he wrote almost 15 years ago. The main thing I'm keen to find out is if the "vertical blanking" error is because warp6 does indeed need "vertical blanking" or if its just a mechanism to check if running on an enhanced IIe - the answer to this tells me if I should continue down the path of getting a development environment setup to play in (much more of a retro challenge than I had anticipated and one that realistically I'm probably not going to have much luck with).

I'll wait a few days to see if I get a reply, but in the meantime, I think I might start thinking about getting my Warp6 BBS running an emulator on my PC onto the net - I tried this a few months ago but was unable to get a working cable/tcpser combination - I'll try again tho, after all, my mission was to give a retro challenge to everyone else by getting Warp6 with some old BBS doors online - I would prefer to do this on my LCe, but if I cant get it done, perhaps on an emulator is kinda ok.

 

gavo

Well-known member
Bugger.

After reading some more of the Warp6 documentation (i know - crazy!) it seems that its never going to run on my LCe unless I somehow get the Apple IIe card on the LC to support "vertical blanking" or rewrite Warp6 not to require it (there is no chance I'll be able to do either of those :) ). Anyhoo, I assume this because the Warp6 documentation says that it uses vertical blanking for timing stuff.

So I guess that part of my plan is out. Damn.

 

luddite

Host of RetroChallenge
I've also made the mistake of reading the manual (on ProLine) and much of my RetroChallenge lies scuppered at the bottom of the ocean... at least I won't be writing a Night Driver game for it (yet).

Might be worth looking into as an alternative to Warp6 though... it's very open to tweaking, with the whole thing being written in BASIC, and it wasn't too tricky to install.

 

gavo

Well-known member
Yeah, I have been thinking about another package, the only thing about that is that I wont be able to run my Warp6 games (although they are applesoft basic so perhaps could be converted to run with Proline). The games arent much, but they were created by myself and some friends a _long_ time ago, so I was keen to let them see the light of day one more time so to speak.

Unfortunately I'm back at work now (uh-oh here comes the lame excuses!!) which is putting a bit of a damper on my drinking, I mean retro challenging, however....

I have had some success with getting Warp6 in an emulator onto the net via TCPSER.

I had absolutely no luck with AppleWin or APC (which is quite nice, but DOS based), but have had some success with KEGS which I think will ultimately be the platform if this goes online.

Warp6 supports the IIgs serial port with a specific driver and so once I got my head around the serial port emulation (and virtual TCPIP modem support in KEGS - which BTW doesnt work with Warp6, but otherwise seems ok) I changed warp6 to the GS driver, set Warp6 to use HW handshaking and connect to the modem at 9600, connected COM1 and COM2 with a null modem cable, fired up TCPSER on COM1 and KEGS on COM2 and presto, I can connect via telnet! Yay!

Bad news is that if the telnet connection is dropped Warp6 doesnt notice, and if warp6 tells the modem to drop carrier, it doesnt. The reason for this is almost certainly the cable - but I am encouraged because this is much better than I achieved previously.

I'm not 100% sure why I'm getting better results now, but it seems to be a combination of factors which makes it fun - cable, emulator, comms settings.

I had a quick go at making a cable that would allow for carrier detection and modem hangup but failed miserably - part of the problem is getting my head around how the emulated GS serial port pin connections are represented on the 9 pin serial port on my PIN - also, I'm not even sure if the emulated serial port provides all the signals like a real serial port (I would assume it does, but who knows).

Anyway, I'd like to get Warp6 in an emulator online now, but am also quite keen to see if I can get something else running on the LCe - probably Proline.

to be continued.....

 

gavo

Well-known member
Greetings.

First, I have to say that I'm well impressed with the other RC entries - I've been checking the blogs and theres some impressive stuff going on. I think at the moment my favorite thing is the retrosketch - i think there could be a market for something like that...

Anyway, I havent given up on my own (now slightly modified) challenge. In fact today I tried something quite extreme (even more extreme than reading the documentation which as you know I've also had to resort to). I decided to NOT have a drink before starting my RC'ing.

I have been trying to figure out how to craft a cable that would provide the correct carrier detect and modem hangup signals for Warp6 and to be honest it was doing my head in. Despite several attempts, a bunch of googling, diagrams, pinouts, a hot soldering iron (you got to be careful with those after a couple of beers I've discovered) I was getting no where. Anyway, after tackling this again today (minus the beers first), I have now made a break through which is un-usual as normally beer enhances performance...

I began making a cable and was quickly to the point where I had comms, but no carrier detect or modem hangup (like the original cable). I thought I would attack the carrier detect issue first which seems to be where I went wrong (because it wasted so much time). I'm convinced now that the issue is that KEGS doesnt honor the DCD signal from the PC's DE9 COM port which is why I've been having so much trouble getting it to work - now of course I could be wrong about this because I did find some posts alluding that some people had managed to get a similar configuration working complete with DCD - not I however. In fact, in the end I got my multimeter out and measured the voltage on the DCD line on the KEGS serial port when I connected to the TCPSER virtual modem and then disconnected. The pin indeed toggled as I would have expected it to, however warp6 didnt react to the change in state.

Ok, so no DCD but what about modem hangup - this took all of two minutes to resolve - made the right connections on my cable and it just worked.

As it turns out from some testing, I think I can run with no DCD, whereas it would have been impossible to run with out modem hangup. From my testing, the worst thing that I think will happen if someone breaks the connection without logging out correctly is that the BBS will be unavailable until the inactive timeout period has expired (about 5 minutes by default I believe) - shouldnt be a big deal.

So I think I'm on track to get the BBS online. What I have to do now is just configure the BBS itself a little (get rid of some of the default response files etc) and I've found a small bug in the door launcher that stops it from working remotely which I'll have to fix (cause the whole point is to be able to play the door games!), so maybe later this week I'll have it online.

I really should take some pictures, I'm especially proud of my serial cable - if you could see it you'd all be convinced it's been my cable all along thats been giving me the grief ;-)

Right, off to bed with me.

 

gavo

Well-known member
Boomshanka!!

The RetroBaud BBS is now online at telnet : retrobaud.dyndns.org

Those of you who have no specific Winter Warm Up 09 Challenge - you do now. Get online and see if you can get the high scores!

After a bit of mucking around (I discovered two of the doors werent working remotely), I think its all up and running (never again I say!!). So I assume this is probably the only Warp6 BBS ever to hit the internet - yay!

Its not that flash, but assuming I can pretty much keep this up for the rest of the month (that could be interesting), thats my challenge DONE!! I have to say, I'm pretty happy about it - I learnt some new stuff, got to play with my Apple IIe card for the LC, and even did a little Applesoft programming - All in all most excellent.

Now I'm going to spend the rest of the month keeping better tabs on everyone eles's challenges, playing BBS games and generally making a nuisance of myself :)

 

urbancamo

Member
WELL DONE!

Works very nicely, no problems at all

accessing it through my VAX OpenVMS

box via a decterm telnet.

Regards, Mark.

 

urbancamo

Member
Oh, and one more thing - if you've

got time on your hands a view into

the applications, programming languages

and hardware (including lots of photos

and screengrabs [if that's possible])

would be really interesting.

Cheers! Mark.

 

gavo

Well-known member
Thanks guys.

Yeah, good call about getting some pics etc and a bit more of a description around some of the app stuff - I will definitely do that.

Also, the current state of game play is (in order of who's winning)

Micro Bandit - LUDDITE, URBANCAMO, ARFINK, GAVO, WGOODF

RPS - LUDDITE, WGOODF, GAVO, URBANCAMO (based on percentage wins)

I think I'm winning Leeches (at the moment) :)

 

gavo

Well-known member
Well, heres a quite bit I wrote up on my final solution - feel free to ask any questions.

Whilst I would have preferred to have my Warp6 BBS running on my LC 475’s //e card, I was forced to run it on my XP workstation under the KEGS emulator due to Warp6’s incompatibility with the //e card.

Essentially this is the brief run down of how I did it.

Software Used in the End:

KEGS 0.91 (http://kegs.sourceforge.net/) - //gs emulator

TCPSER (http://www.jbrain.com/pub/linux/serial/) - Hayes compatible modem emulator for getting your old serial comms app onto the internet. Note I’m not exactly sure which version I’m running now – I had thought it was 1.0RC12 – but I’m not so sure looking at the file sizes.

Warp6 BBS 2.5 – (http://mirrors.apple2.org.za/apple.cabi.net/Applications/Telcom/WARP6.BBS/) - the BBS software

Warped – (http://mirrors.apple2.org.za/ground.icaen.uiowa.edu/Collections/1WSW/warped.shk) - the door games for the Warp6 BBS

Ciderpress v3.0.0 – (http://ciderpress.sourceforge.net/) - All round wonderful program for Windows PC’s for messing with emulator images and .SHK files

Step 1 – Get Warp6 BBS image up and running in the emulator

Having decided to go with KEGS as a result of some testing of different emulators specifically around serial port support (note that in the end a lot of the issues I was experiencing could probably be put down to my cable that I resolved at the end – but I never went back and tested the other emulators) the first thing to do was to get the Warp6 BBS image up and running.

I wont go into the details here because I actually already had the base Warp6 emulator image up and running from a previous play with it a few years back, but essentially if my memory serves the process is something along the lines of

- Use CiderPress to make a HDV image

- Use CiderPress to copy the Warp6.shk and Warped.shk to the new HDV image

- Download a disk image with ProDos and shrinkit tools

- Start emulator and un-shrink the archives to your HDV image and install ProDos

The actual configuration of Warp6 is covered in the warp6 doco that is supplied in the archive. I’ll just go over some of the specifics here.

Step 2 – Configure the Warp6 BBS doors

Again, the warped.shk contains information on how to do this, however I noticed that two applications (insulter and the doorway) worked locally but not remotely. This was because Warp6 requires you to get input from users in a specific way in order to protect from crashes (which might dump you into a BASIC prompt) and to check and enforce time limits. As luck would have it the BBS doco talks about how to do this and I simply copied the Applesoft code from the “Micro bandit” game into doorway and insulter (using the wonderful applesoft line editor). I guess I had an advantage here as I had (man many many years ago) written some of the customisations in the warped.shk archive.

The final thing required was to install the modem drivers specific for use with the //gs serial port (as opposed to the Apple //’s super serial card) – this again is covered in the Warp6 doco and essentially requires the copying of two files into the Warp6 BBS main directory.

Step 3 – Getting the BBS online

Warp6 BBS expects to see a real old style hayes compatible modem to talk to. If it see’s that (like most old school BBS packages) its happy. Fortunately for us retro guys theres some really smart guys like Jim Brain who write some really cool software like TCPSER. TCPSER is a modem emulator with a twist. It runs on your PC (or linux/mac if you are using the cross platform java version I understand) and does two things.

1. Binds to a physical serial port on your machine to allow any other serial device to be connected to that port and see what it thinks is a standard hayes compatible modem – one that sends all the right responses back to those interesting AT commands we used to love

2. Replaces the traditional “phone line” with the internet and allows access to the serial device via the internet standard telnet protocol (BTW it also allows the device attached to the serial port to initiate access to the internet via telnet to!). For example if configured (by the BBS program) for answering calls, it will accept incoming telnet connections and then send the appropriate code to the device attached to the serial port – i.e RING RING, the BBS will then likely instruct the modem to connect, at which point TCPSER sends a “CONNECT” response back to the serial port and arbitrates communication between the telnet connected TCPIP session and the serial device (normally a BBS) connected to the serial port. When the BBS hangs up, TCPSER disconnects the telnet session, or if the telnet connection is dropped, TCPSER drops the serial connection to the attached device

This was one of the hard parts for me, warp6 was all ready to go (more or less) but wanted to talk to a modem out of the emulated serial port (that terminated on my PC’s real DE-9).

To theory behind this is that we use two serial ports on one PC. The emulator binds to one serial port and the modem emulator binds to the other, that is both end up poking out of the back of the machine to the real world. To connect these two things together requires the use of a serial cable (just like you would do to connect a real GS to a real modem). The trick being figuring out what kind of cable to use.

To begin with I had no real idea of how the emulated serial port mapped to my real serial port, and how the signals from the GS’s mini DIN related to those on my DE-9. After quite a bit of head scratching, googling and burnt fingers, I settled on the following cable and made the bold assumption that KEGS doesn’t honour the DCD signal on the PC’s real DE-9

Ultimately, the following signals are the ones I decided I needed to use:

DE-9 (my PC’s connector)

Pin 2 – Recevied Data

Pin 3 – Transmitted Data

Pin 4 – Data Terminal Ready

Pin 5 – Signal Ground

Pin 6 – Data Set Ready

Pin 7 – Request to Send

Pin 8 – Clear to Send

So to get comms going between TCPSER and my emulated GS I built a cable like this:

COM1 = Physical port that my modem emulator (TCPSER) bound to

COM2 = Physical port that my emulated GS serial port bound to

COM1 COM2

PIN2 (RCD) ----------------------- (TXD) PIN3

PIN3 (TXD) ----------------------- (RXD) PIN2

PIN4 (DTR) ----------------------- (DSR) PIN6

PIN5 (GND) ---------------------- (GND) PIN5

PIN7 (RTS) ----------------------- (CTS) PIN8

PIN8 (CTS) ----------------------- (RTS) PIN7

This cable doesn’t support DCD (PIN1 to PIN1) but it doesn’t seem like KEGS honours it anyway? I could be wrong about this, but I couldn’t get it to work and ultimately for my purposes it doesn’t need to – if someone drops carrier (disconnects the telnet session without logging off) the BBS times out after about 5 minutes and resets for the next caller – during this time no one can connect, but its not a big deal.

The only other thing I did was to much sure KEGS serial port emulation was set to “Use real ports if available” – this ensures that it binds to the real COM port and doesn’t start a TCPIP virtual modem instead – the KEGS virtual modem is a similar concept to TCPSER, but built into KEGS – it worked for me, but not with Warp6, so I didn’t play with it much. You set the KEGS serial port setting by hitting F4 when the emulator is running – this brings up the KEGS config screen that will write changes back to the config.kegs file.

Some screen shots:

Damn, I cant paste my pictures in here - is that even possible on this board? Anyway, I guess I'll have to see if I can figure out something else - they're not too exciting anyway...[/img]

 

~Coxy

Leader, Tactical Ops Unit
Great write-up on the process, and quite informative too. Thanks for that.

I keep meaning to try and connect from home, assuming the US-AUS latency isn't too bad. Hopefully I manage to remember one evening. ;)

 

arfink

Well-known member
Cool you did a loopback thing. I am working with a different method right now, one which uses a Lantronix serial device server. I figure since I'm running my own serial code I can do without AT commands and stuff, but the problem is how to host the UDS. See, TELNET to port 23 brings up a login to configure the UDS, not a direct serial tunnel. There is another port you connect to in order to make that work, and it's kinda confusing. The second problem is that the network I'm on right now is not my own, and as such I am not allowed to have port forwarding etc. Which is a pain. And if I'm going to use an old modem or even TCPSER I'm going to have to write my code with AT commands, which I really, REALLY do not want to do at all.

Anyone here use dynamic DNS places at all? Can I host my server with one of them if I don't have port forwarding? And how in the world would I make it work with a device which doesn't allow me to install things onto it or even allow PPP connections?

 
Top