Saturday, January 01, 2000
It's the end of the world as we know it
So with much fanfare, fireworks and music, we announced the arrival of The Year Two Thousand and depite the hype for the Year Two Thousand Bug, nothing much of not actually happened, which is a good thing.
The party was hosted by my friend Teen and her boyfriend outside their home in lovely Parkland, FL. They dig a pit for the bonfire and by the time I had arrived at 9 pm, it was pretty thick with coals already. By the time my friend Shane and I put the fire out, the coals were hot enough to melt glass.
The actual fanfare consisted of a lot of fireworks being set off by various party members. All of the fireworks consisted of variations on Roman Candles—none of the fireworks we had were capable of being fired up in the air—but we did have enough going that a large cloud of smoke was drifting its way lazily across the field and the nearby horses (the party was held near a stable) were all spooked and one broke out of its stable.
The fact that I still had a house, with power, was a plus.
The garage is over there, but you can't park there …
After getting up from the previous night's (and morning's) celebrations, I had enough time to check some email before heading out to the Ft. Lauderdale/Hollywood International Airport to pick up some friends returning from visiting family.
The Ft. Lauderdale Airport used to be a decently designed airport—three terminals in a U-shaped configuration, with a parking garage nestled between the terminals. It was an easy matter of parking, and walking to the appropriate terminal. The airport itself is accessable directly from the freeway (exit 11B on I-595 east). Nice. Simple. Easy.
Well, it used to be.
Since I last picked someone up, they've started construction on a new terminal (renumbering the original ones) and a new parking garage, in front of the old one. Driving into the airport there was one of those large digital signs used for construction pointing the entrance to the new garage was this immediate left turn from which a few cars were trying to leave the garage. Just a mess.
Once parked, I found it impossible to find a way to actually walk out of the garage and to any of the terminals, and from what I could see, there was no way to get to the terminal I needed to be at (the one farthest back) except to leave this garage, and drive to the original one next door.
Fortunately, I wasn't parked long enough to accrue a charge, but still, I had to circle back around the airport, in which I missed the pickup lanes (I ended up on the upper level reserved for dropping off passengers). I did manage to find entry to the original parking garage but that did mean I was several minutes late in picking up my friends.
I walked into the airport and immediately found Paul. Which isn't hard when you're looking for a 6'4" bald guy. His wife, Lorie was on the upper level where the gates are, looking for me. So I told him to stay put and I'll go find his wife.
I head upstairs and I don't see her. Walk down the entire length of the terminal, head downstairs and walk back to Paul.
“Didn't find her,” I said. “Which gate did you come in?”
“The one above the stairs over there,” said Paul. I took leave again, rode the escalator up and found Lorie waiting for me at the top.
“I was worried you forgot about us,” she said.
“Nope, I just got stuck in the parking vortex of Hell,” I said. We then proceeded to walk downstairs, to collect Paul and the luggage and then headed out to my car.
I drove them home, then we went out for a nice dinner.
V2_OS and other strange brews
Checked up on VS_OS today. Surprise, surprise, they finally released the source code. Immediately downloaded it and took a look.
Nothing surprising really, except that the source code to the bootsector is missing. Or rather, there is code to a boot sector, but …
BOOTIMAGE DB 0E9H, 011H, 001H, 0FFH, 0FFH, 0FFH, 0FFH, 0FFH, 02BH, 056H DB 032H, 05FH, 046H, 053H, 02BH, 000H, 030H, 030H, 030H, 02EH DB 030H, 030H, 035H, 000H, 080H, 000H, 000H, 000H, 000H, 000H DB 000H, 000H, 044H, 033H, 022H, 011H, 010H, 000H, 000H, 000H DB 000H, 000H, 000H, 000H, 000H, 000H, 00DH, 00AH, 056H, 032H DB 02DH, 04FH, 053H, 020H, 056H, 030H, 02EH, 031H, 020H, 028H DB 043H, 029H, 031H, 039H, 039H, 039H, 020H, 056H, 032H, 05FH DB 04CH, 061H, 062H, 02CH, 020H, 052H, 06FH, 074H, 074H, 065H DB 072H, 064H, 061H, 06DH, 02EH, 00DH, 00AH, 000H, 04CH, 06FH DB 061H, 064H, 069H, 06EH, 067H, 020H, 053H, 079H, 073H, 074H DB 065H, 06DH, 031H, 036H, 000H, 00DH, 00AH, 046H, 061H, 069H
And some interesting code like:
MOV DI, OFFSET PARTLIST MOV AL, 'f' MOV DS:[DI+0], AL MOV DS:[DI+16], AL MOV AL, 'd' MOV DS:[DI+1], AL MOV DS:[DI+17], AL MOV AL, '0' MOV DS:[DI+2], AL MOV DS:[DI+18], AL MOV AL, 0 MOV DS:[DI+3], AL ; 'FD0',0 MOV DS:[DI+19], AL
Two things wrong here (at least for 80x86 Assembly):
- Using
DI
instead ofEDI
in 32-bit mode. This causes an extra byte of opcode to be generated for a 16-bit offset. - Moving individual letters into locations. If you are
doing this at this level, you can do better by:
mov eax,$00306466 ; 'fd0',0 mov [edi],eax ; DS: override mov [edi+16],eax ; not needed
In poking around, I found a link to RDOS, another 80x86 operating system written in Assembly. This one is impressive, if only because it's a functional OS in about 130,000 lines of Assembly (including TCP/IP). Haven't had much time to look around this one though.
We're Microsoft. We don't have to care.
Received email from a friend announcing the birth of their new child. Unfortunately that's all I know because:
Attached is an e-mail greeting created with American Greetings = CreataCard software from Micrografx. To view this greeting you must be running Microsoft Windows.
Sigh.