Dave I'm sure it's only a matter of time until you get a Bill interview for your channel. Watching you both remember your MS days and ask each other questions would be amazing.
@@hillaryclinton2415 Yeah, why would any viewer of a channel run by an ex-Microsoft employee who spends a lot of time on talking about Microsoft during the 1980s and 1990s want to see an interview with Bill Gates, right? 🤣
Love that you provide so much background and history behind these stories. These videos are not only entertaining but very informative. Keep up the excellent work Dave! We appreciate all your hard work in order to bring us awesome content. Thank you!
@@masternobody1896it's basically just assembly language. It is sort of human readable but directly translatable to machine instructions and thus binary orders for the CPU.
Dave, you left out the best part of the paper tape BASIC demonstration story, in their haste Bill and Paul forgot they would need a loader, so Paul at the last minute on the fly wrote the loader, just prior to the demonstration of their 8k BASIC software that day.
Yes, I remember garbage collect. The garbage collect on the original Commodore Basic would sometimes take a long time. Maybe 30 seconds on a big program. The method of garbage collection was doing lots of searching and copying to do the collection. I believe John Feagens and Ric Weiland worked out a new method with pointers embedded in the garbage to speed up the process. I also remember another bug in the original basic called "the cursor go away bug". Users doing a lot of screen editing on the PET computer would see this bug about once every few weeks. Users were very angry because the PET would lockup (the cursor would stop blinking) and the user would loose the basic program they were working on. We had to rig a PET up to do a lot of screen editing as fast as we could to get this bug to show up so we could track it down. It turned out Microsoft Basic was doing something bad with the stack. If an interrupt happed when the Basic screwed up the stack you ended up out in the weeds and the PET locked up. The screen editing was tied to the cursor blinking and would get you there. John Feagens found the code that was messing with the stack and fixed it. John's patch even fit into the same number of bytes as the original code.
It was incorrectly using a static value of 4 for the length instead of the actual length of a string when garbage collecting. The fix was a very simple one.
I never experienced buggy (trash computer) version, but on C64 garbage collection can take 30 seconds or more during which time the computer will *seem* to be broken. I don't know when Commodore fixed it, but on the C128 every string has an extra 2-bytes allocated as a 'back pointer'. Even though much more RAM is available for strings, the new garbage collection rarely takes more than 1 second ... but users may still consider it a bug when an otherwise responsive program suddenly pauses for no apparent reason (even if only a second).
Great video as usual. Your mention of Ohio Scientific brought back some nostalgic memories. I worked what seemed like many hours at $2.38/hr to save up for my Challenger 1P. I made my parents quite aware of the progress of my savings every week. One night they were late coming home from work, I had a gut feeling about what might be the cause of their delay. My guess was right. About 10 minutes after coming home, dad told me he "forgot" something in the car and sent me out for it. My dad said all he saw was a blur running from the driveway to the front door. I was elated! My first computer with 4K of RAM.
I've been writing software since about 1967, including a few easter eggs myself, but I did not know that there was a practical reason for them. Thank you so much!
5:00 This is how Satoru Iwata got the contract for HAL to work on the original Golf on Famicom, Nintendo wanted the full 18 holes to be included, but no one else was willing to try to get that to fit on the Famicom cartridge's ROM. Iwata "rather recklessly, said 'I’ll do it!'" and ended up having to write the compression to get it to fit from scratch.
The joy of hearing you talk about the UK1010 fills my soul. The garbage collection bug was also on the UK101. Another UK101 bug was a bit set on the MS error codes so syntax error that should have shown as SN Error read S? Error. A syntax error in itself. Garbage collection would kick in when the ever growing stack of variable assignments grew in memory until it hit the program memory and the garbage collection would have to cleaned it up to free the ram. The secret was to define the variables and then they would stay put. Great video!
Easter eggs like this have been used in many other software projects, and real life. For example, there are maps with fictional streets and cities, as an easy way to catch copying from other companies.
Except in the case of raw dictionaries and maps they're not copyrighted as it's collections of facts. Images ofc are excluded, but I think this map/dictionary practice will die out.
There was at least one case where somebody names their business after the fake place name that was already on the map. A second map company dutifully put it on their new map and were sued by the first map company. The first map company lost. Note: I read this somewhere, there may be some inaccuracies.
Its not only done in software, but in hardware was well. Easter eggs have been used in circuit traces for instance, which could easily prove hardware was xrayed and copied directly by the presence electrically nonfunctional artwork of circuit traces.
Oh!!! You remember the Woz's Integer Basic!!! I remember disassembling that. It's _beautiful_ code! Here is a deep question. There was, for a very brief time, an Apple II program called "The Spreadsheet." It was quietly replaced with something else not as good (I'm trying to remember back to 1979, folks) by sticking a new label over the old one. VisiCalc had just come out. I speculated at the time that Woz had written a spreadsheet that was quietly suppressed so as not to compete with VisiCalc. I'm wondering if anybody has a more vivid memory of this.
Dave Thanks ever so much! Started my coding career in 1974 on a IBM 1620 Mainframe then Migrated to Wang 2200 and our team of 3 built our own version of Lunar lander that was ported to one of the labs at Nasa.
(10:04) I had an Ohio Scientific C8P back in the late 70s with Micro-Soft 6502 ROM basic. I remember having issues running code that used arrays of strings. At some point, the system would stop responding and the screen would periodically flash. Later after having disassembled the code, I confirmed that the garbage collector was to blame. If I recall correctly, string descriptors were stored as 3 bytes - two for the address and one for the length. The garbage collector incorrectly stepped through arrays of string descriptors assuming a length of 4. The result was predictably unpredictable. It was also interesting to see the implementation of the trig functions as as polynomials with only a few terms.
My first computer was an OSI (Ohio Scientific) C1P, with the same buggy BASIC. When the defective garbage collector kicked in, the screen would flash or pulse because the garbage collector was searching through the whole 64k memory space, including the dedicated video RAM at $D000. Each access to it blanked the video output for one clock cycle, producing a tiny, momentary black line on the screen that was usually invisible. But thousands of them in a short space of time were quite visible. Anyway, OSI programmers soon became adept at manipulating BASIC's pointer that controlled where strings were stored in order to avoid triggering the buggy garbage collector. I later acquired a C8P (or C2-8P) DF with dual 8-inch floppy drives, and got a job at an OSI dealership, where I worked on software for OSI's big C3-B computer, with its massive (for the time) 74 MB hard drive. Physically, they _were_ massive: big rack-mounted systems with 14-inch hard drives that would take two men to lift. We sold those systems to a bunch of local companies, and supported many of them with custom software. Thanks, Dave, for mentioning (at least briefly) the often-overlooked OSI line of computers.
My dad has a story of similar functionality, but a bit more sinister. First i have to set the scene - Bulgaria in the 90's. Soviet Union just collapsed, the economy is still shit. Going to court for anything is way to expensive and will bankrupt basically anyone. My bad and his colleagues made controllers for packaging machines. The kind of machines that seal bags of rice or salt, etc. Since he knew that it would be really hard for him to get the money for the controller, after its installed (and getting it before then would be even harder) he had a really nice plan to make people pay. He put a secret function that made the controller brick itself after several thousand packages were made. It came out to around 1-1.5 months of work. The bricking could be turned off from a secret menu, accessible only on boot by holding 2 random keys. If the client payed, he would turn it off and that would be that. If the client did not pay, my dad would just wait around a month for a call that the machine broke. He would fix it "for free" when the controller was payed in full. It its not used for a malicious purpose, stuff like that can be a very nice way to get your money.
Here in Brazil people did things like that too, to avoid not getting their money. We had a expression for it, there was a bit that needed to be "brushed", otherwise the system would stop working. So, every 2 months your father was asked to "fix" the controller? :)
@@mauriciobraga I've asked myself the same question. From what I know about him, the answer is a definite no. From what I know about some of his colleagues at the time, I would not be surprised if some of them did suggest that idea.
Radio Shack/Tandy had it's own easter egg in TRS-DOS... if you held down "R" & "V" keys while the floppy booted, it popped up the creator's name Randy Cook. When it became public, corporate changed "Randy Cook" to "Tandy Corp" in later revisions. (And being from Detroit, we LOVED "Friendly Giant" being broadcast from Windsor, Ontario!)
I have to watch your videos in multiple sessions. That is not to say that they are dull or boring, but there is just so much relevant information to the subject that it can be overwhelming at times for someone who wasn't there to begin with. Great work!
Maybe too easily discovered to be considered a true Easter Egg but on the TRS-80 Color Computer and Dragon computers, passing any eight bit number greater than 8 to the CLS command clears the screen and generates 'Microsoft' before the OK prompt. On the Color Computer 3 in the high resolution text screens, this is replaced with 'Microware Systems Corp.' who patched Microsoft Basic for that machine since Gates & Company apparently were no longer interested in doing work on 8-bit Basics.
I wrote two floating point libraries for the Z80 about 35 or so years ago, one of them was IEEE 754. Back in those days, the real skill was getting it to run fast, and IEEE 754 made it seriously hard on a Z80. To this day, hardware limited microcontrollers' vendors don't implement IEEE 754 as a result to improve speed. The Z80 made it a bit easier because of the IX & IY registers: I'd hate to try to do it for an 8080. The beauty of doing this stuff is that you have to implement development feedback particularly around data structures: you can make dramatic speed improvements by choosing how you implement the mantissa/sign/exponent bit fields.
Did you work for U.S. Software? If so, I really, really appreciate your floating point library. Used it extensively in power metering calibration equipment on a HD64180 (8051-like) processor.
I’ve always had skepticism about what happened first when Paul loaded the tape into the Altair because I’ve seen an interview where Bill gates said it failed the first time but ran the second time, and in another interview I’ve seen him say it ran perfectly the first time. It’s always frustrates me we’ll never know
Dave, it'd probably be tedious to make an audio book version of your book, but I'd for sure buy it if you did. Been wanting to read it, but know I'm too lazy to read more text after a day of work
Not exactly an Easter Egg, but my favorite example of someone signing their work in a way that can't be removed is the Maillardet Automaton. This 19th century mechanical automaton, constructed by Henri Maillardet, can draw pictures and write verse in English and French. When the Franklin Institute in Philadelphia received it in 1928, it was a wreck and not much was known about it. After extensive repairs, they had it write out all of its pictures and poems, and on the last poem, it wrote "Ecrit par L'Automate de Maillardet" ("Written by the automaton of Maillardet"). No other builder of such devices could ever claim it was their work.
Your channel is amazing and so are you! Can't get enough! Your content is a breath of fresh air on the Microsoft shroud of secrecy. You're a true man of small steps can create ripples.
I don't know which is older, but the TRS-80 Color Computer also had an easter egg in its MS-BASIC rom. The "Wizards" image that was encoded in some unused chunk of ROM, and that IIRC you could see with a USR() command to some special address, or some tiny bit of assembler to load the image or something like that. It would be neat for you to do a video (or a series!) on easter eggs across all Microsoft OSes!
Holding down CTRL and ALT while turning on or resetting the Color Computer 3 would display an image of the three Microware programmers who updated the BASIC ROM.
I'm not sure which is better, lately - Dave giving us the inside scoop on this stuff, or reading the comments and learning lots MORE inside stuff from the super-knowledgable community that's growing up around his videos!
6k+ views in just over 2 hours. Fantastic. You truly have a nitch carved out here. Stay the course. I personally enjoy your videos but I considered myself rather eclectic, apparently I'm in good company. Bravo.
Lol Dave, truly a gentlemen and a scholar. So what's the deal with the taskman pins... Something about exemplary comments or what not? I doubt I have the practicum to make such an informed comment but maybe just some simple words of encouragement or flattery might suffice? .... a rocking chair for one whom likes to rock. 🕺
I have a good story for you. I had an early MITS Altair 8800. One day the snow was so bad that I could not get in to work. It was before remote dial in to the mainframe. I wanted to work on a problem of calculating the interest rate given a principal and payments. I had a math degree, but there is no formula that I could find to do the calculation. Then I remembered Newton's method of approximation. I began coding in basic. Had to learn basic that day. I got a routine coded and debugged. I ran everything I could think of. It was scary accurate! Who wudda thunk? It took me three days to get my COBOL program to do the same thing starting from an already working BASIC program! My MITS Altair 8800 came originally with 256 BYTES. I splurged on a DECwriter. The Basic interpreter was on a small cassette tape. Turns out that the tape reader was a 110 baud modem.
Thanks, good story. John G. Kemeny, the in inventor of BASIC, who also did math for Einstein and was one of the mathematicians in Los Alamos, said the entire math done during the Manhattan Project could be done by one student using BASIC in an afternoon.
Speaking as a lifelong Commodore guy, there's some humorous catharsis in the knowledge that Bill Gates was once flustered by Jack Tramiel. I couldn't imagine any scenario that saw the two of them in the same room with tempers boiling over over a business deal, that might have been like matter and antimatter colliding, reality couldn't have handled it.
I remember The Friendly Giant" on CBC. I loved it when I was very young. One little chair for one of you, and a bigger chair for two to curl up in, and for someone who likes to rock, a rocking chair in the middle.
Really fascinated by this, but my first machine was a Texas Instruments TI-99/4A which served me well and I'm still a member of the usergroup today. Keep up the good work with your championing those with autism. I'm still waiting for my referral with a psychologist and was only inspired to do it after watching your video.
Ah, the UK101. My first computer, bought pre-built (the other option was a bag of chips and a soldering iron) on a whim after graduating (not in computing!), that started a 30 year career in IT. These inside stories are fascinating insights into things I remember as home computers gave way to the IBM PC and led to Microsoft ruling the day. I managed to program a crude version of space invaders on the 8k MS basic using Xs and Os, with a few peeks and pokes to specific memory addresses, the only problem being that you could go and make a cup of coffee between each screen rewrite so it took about ten minutes for a missile to reach the top of the screen and the aliens to move down one row. It still gave me a sense of achievement! Keep the stories coming - from Pets to Win 11 they're fascinating.
There was quite a popular 6502 machine in the UK, the BBC Micro (and its little brother, the Acorn Electron), that went a different way and rolled its own BASIC rather than using Microsoft's offering. BBC BASIC was further developed later for the ARM processor (arguably, for a very long time the only BASIC for ARM!) and is still developed today, by RISC OS Open for ARM, and two cross-platform efforts in the shape of BBCSDL by Richard Russell, and Matrix Brandy (a fork of Dave Daniels' Brandy BASIC).
Thank you Dave for being the first person in the world to make me interested in programming. Unfortunately I am very busy to start learning how to code now, but I'm sure one day I'll pick it up and learn to write my own piece of software. All thanks to you
Hey there, just wanted to wish you the best with learning on how to code! I just started learning JavaScript and have been playing with Python for some time. Don't give up when it gets hard, and have fun!
KIM-1 was one of the first computers I wanted, learned everything about, but could never have. So much hardware innovation back in those days. I remember there was a trick to double the RAM capacity by piggy back / double deck soldering on an extra set of RAM chips with an enable pin bent up and wire wrapped back to an otherwise unused address line. Low clock speeds were so permissive of this kind of hardware hackery. The kids of today ....
20:00 I also recommend checking the comment section under the Pagetable article. You can find some familiar names there, including a certain Bill Gates. ;)
Geeking out... Dave thank you for this channel so much fun to know history... It would be cool if you could interview a few more people before they pass on...
As an old-schooler, it still fascinates me how the grammar and hardware support fit into such a tight spot since today, well, everything is so crazily written.
I landed the lunar lander on top of the Macdonalds on our university DEC GT40 in around 1977/78 - eliciting the message: You have just destroyed the only Macdonalds on the moon!
That's awesome! I'd never seen the DEC version before writing this episode, and had thought the Atari version was the first. Really cool that he wrote it back in 73! I wonder if you could connect a GT40 to a pi based emulator of a PDP?
I played it while on a course. After several attempts it left a number of wrecks on the screen. I thought it a bug. On my next attempt I got the lander to hover but, I ran into a wreck crashed. It displayed the message ... " You Turkey. If you have not tripped over one of your old wrecks you would have landed that" I rebooted the machine.
Strange - I replied twice to Dave’s reply but it got deleted each time, by YT AI? Anyway there is a GT40 implementation in Simh including moon lander in the well known repository of code.
Basic 7 is a development based on an earlier released machine (B128 or B500 depending on where on the planet you are) and the unreleased Commodore LCD machine. The start of this development predates the aquisition of Amiga inc. Leonard Tramiel was involved with the technical side of things when Commodore aquired MOS, and very likely has some of the details of the deal also. He is quite around still, and quite approachable. You may want to check with him on what details of the deal he still knows.
Fascinating! I'm glad I stumbled onto this. I worked with the Altair, got mine running on Bicentennial Day, and my company duplicated cassettes with software for both MITS and Radio Shack. I remember the easter eggs in Altair Basic -- when the Memory Size prompt comes up, answer A (return). The early versions say "Written by Bill Gates, Paul Allen and Monte Davidoff." BTW, the 4K basic was integer, with the 8K and larger version floating point. I could go on...
Fascinating!! I don't know if Bill still does social media sessions where you can ask anything. I think it was on Reddit? Anyway, that may be a good forum to ask him about some of the historical questions. Good luck!!
In fairness to the TRS-80, your reference to the TRS-80 failing to enter a large salary due to integer arithmetic @3:45, is regarding a prototype of the TRS-80 Model I. The demo to Tandy executives, used a public domain 2K version of Tiny Basic and not the 4K Level 1 production version. The later level II basic used the much better as you pointed out, Microsoft Basic.
@4:19... I really want to verify that for myself... 2.0001+2.0001 = 4.0004??? Great video, always enjoying the 'behind the scenes' since my computer journey started a few years later (and on the Z80 processors). Keep them coming!
That is possibly one of the coolest Microsoft tales I have heard to date, would be awesome to know if it was ever used in a copyright battle or similar or if it is just a cool unused piece of the programme as Microsoft soon grew to the level where that kind of thing was almost unnecessary or what ever the case may be.
I imagine all these old devs looking at each other’s source code playing out like the business card scene from American Psycho: “Impressive… very nice… let’s see Paul Allen’s code…” “Look at that subtle uniformity and legibility… the tasteful indentations… oh my God, it even has comments…”
Man you blow me out! I wrote on z80 then 6502 even 68000 but just for myself. Did some cool stuff but it’s amazing to listen to you, though I don’t always follow, but that’s cool. Great videos.
That court case did play out. Jack Tramiel still got the last laugh on Bill. All of that money Bill lost by selling BASIC to Commodore without royalties.
I got a Vic 20 in 1982. I bought the programmers guide and had a blast. I later bought the c64 when it came out. I connected hardware to the io port. Fun times.
There was also a professional version that was much more complete and powerful that you never hear much about. I think it was called BC 70 or PDS 7.0. QB45 FTW!
@@stargazer7644 hm, turns out that "Graphics and Windows" is just a theory. Head over to wikipedia, in the last paragraph. I think no one knows what it really stands for.... :)
I programmed in GW-BASIC, and, had managed to program and design a simple inventory program on it back then. Of course, the GW-Basic on a 386 or 486 is pretty limited as to how many lines of codes can be run. The hardware also had around 4 MB RAM or even less. -Mind you, I think the program runs from a 5.25" diskette, since the size is under 640 KB RAM.
Dave, love the stories. I have known about and Easter Egg for decades but until this story, I did not realize that is what it was. IBM introduced the System/36 in 1983. At least on the big box 5360, the Easter Egg would show itself. There was a cover over the operator panel. On that panel was a four hex digit display intended for diagnostics. If you had the cover up when you keyed POWER OFF, you would see the hex digits DEAD displayed on the panel. Keep up the good work.
OMG Dave thanks for that jaunt down memory lane. I spent so many hours in the computer lab at the College of Aeronautics playing that lunar Lander on our schools PDP 1108 we independently discovered that MCD Easter egg . between that and tower controller and Zork 1 we literally took over the school's computer lab and used up all of the bifold paper we could get our hands on .
I have Bill's books. I know about the IBM meeting where IBM wore jeans and Bill dressed up. Too funny. 😂 I love your keystroke sounds and piano music. Super cool Dave 😎
Dave all your videos are great and I hooked your channel with the LED related videos. But this video made write my first comment on your channel. I am from Maldives and I was fortunate enough to spend few hours everyday with an IBM PC in 1984. And without the DOS Diskette - the systems shows the curios OK message. In Maldives and no one to ask no books to read except the BASIC Green binder provided by the IBM with the PC. This videos refreshed that memories of the days I wrote my first software in BASICA to write /print Maldives Language Thaana with a PC. It took me two years to do it. Thanks for this video
Another awesome video. Keep up the good work. A couple of years younger then you so I missed out on 6502 machines from the 70s. Basic really brings back memories running it on z80 machines with cpm and then later on c64 because it had cooler graphics and a joystick.
All This is way above my understanding.. now and then I sort of "get it" , but damn, even those little slithers make it so informative.. Love the channel. (In Oz, I remember selling Vic 20's , C64's , System 80's (trsclone), CAT (a Apple II clone) , Challengewr (IBM Clone) Sorcerer , Pet.. I think there was a peek/poke command that would fry the chip.. ? Maybe just a programmers tale)
I guess you mean "GET" (works with string and numerical variables). A shorter command name saves bytes when listed. :-) And there is also "GET#" in Commodore BASIC which inputs from a file, so "INKEY#" wouldn't be plausible.
I worked on some development for cellular base stations, the upcoming features for the next major revamp of the ITU standards, no mobile available so we used simulators, a later chat with someone working for a major handset manufacturer and they were using simulators to develop the mobile for the same reason.
Love your channel Dave. My 1st computer was a KIM 1 or maybe it was SIM 1, hexadecimal keypad and a whopping 1K of ram with no way of saving programs. that fun lasted about 6 months until I shelled out $1249 (1980 Canadian Dollars) for a 4k TRS-80 with level 2 basic and a cassette recorder to save programs. My last 8 bit computer is an Acorn Atom 6502, which I still have, although I haven't used it for about 40 years. I think there is simulator for it out there on the web.
As an original "end user" of the beginning personal computers, I wasted so much time of my life dealing with "failures" of the software that I resent the amount of money charged for "working" software at the time as a complete waste by pure greed! I hate those statements of "if you had bought Microsoft stock at the first offering" as completely stupid because the stock was only offered to mega fund holders that one could never buy the stock at any lower level.
The best Microsoft easter egg has to be in the beta of windows 3.1, if it detected Dr Dos rather than MS dos, it refused to install anything, very cheeky.
That rather caustic Easter egg in Amiga DOS was fairly difficult to trigger. I believe it required holding down five keys at once. It was difficult to do using two hands with the spacing of the keys. I recall holding a pencil between my teeth to get the last key.. The Easter Egg was there in the Kickstart disk, but I believe it was stripped out when there were actual ROMs instead of Kickstart. There was a visual Easter egg with many names of people and a dog paw print inscribed on the inside lid of the original Amiga A-1000. I believe Apple beat Commodore to that with names on the inside of the original Macintosh. The Amiga traces the roots of Amiga DOS, written in BCPL, back to Tripos (as in 3-legged always stable stool) at Oxford. I believe BCPL has its roots on PDP-something or other. I also recall one of the more unusual things about old Sun machines was that the boot environment was pretty much a full fledged FORTH interpreter. There was a Dallas Semiconductor battery backed CMOS chip for storing important stuff such as the machine’s MAC address. The battery only lasted a couple of years. If the battery went dead and a machine needed to be rebooted, the trick was to drop into the interpreter to set a MAC address. If paperwork couldn’t be found quickly, we would type in C0:FF:EE:01:02:03 or something similar to get the machine back on the network. Another Easter Egg in plain sight was the air vents around the edge of a Western Digital network disk. There were three different phrases in dots and dashes of Morse code which repeated. I recall finding a misspelling one time in one of the phrases. It’s been a while and I don’t remember the exact wording. Thanks for sharing the MS-BASIC Easter egg. I did a lot of programming on Apple ][ Computers in the early 1980s for data logging lab data. I worked mostly in assembly. Somewhere I found a list of the entry points for the floating point routines which I could then call to do math for my programs. Apple had a subsystem in RAM in DOS called RWTS (read/write track/sector). If I only needed to log to disk, I could throw out the parser and other parts of DOS and make more room in RAM for my program by using RWTS directly. Those were the days of only 48K of RAM to work with. Also working with the Apple ][, the pixels on the screen were interlaced in an odd fashion which made vertical scrolling an images laborious. If I recall, the bits displayed as pixels were the opposite endian of the 6502’s use of memory which also complicated lateral scrolling. … just to save a Dollar or two of TTL parts on the motherboard. I recall tension over the 6502 processor between Mostek and Rockwell. Also Motorola versus Mostek for stealing silicon designs from the 6809 processor. Those were the days!
I want to be like Dave when I grow up. I mean, I'm almost 40... but, y'know. I feel a kind of graybeard engineer kinship. I barely missed that generation of computing, having started programming in 1987 on an Apple IIgs, so tales like these fit neatly into history, filling in how things got to how they were in the parts I experienced firsthand. Computing in 1987 wasn't THAT much different, so I get the context. I only hope that I have stories like Dave's to tell once I retire... if I ever do. I enjoy making stuff too much to ever truly quit.
That isn't a flaw, that's a universal consequence of encoding a value in a fixed number of bits. That's exactly the same thing as integers not being able to encode decimal numbers. Or even handwritten 8 digit numbers being unable to exactly represent a 9 digit value.
@@MarkBarrett The first computers I used from the 60s were all base 8 octal machines. Cut your thumbs off and you're good to go. Bits were arranged in groups of 3, so you had 18 and 36 bit computers instead of the more familiar 16 and 32 bit computers.
Dave I'm sure it's only a matter of time until you get a Bill interview for your channel. Watching you both remember your MS days and ask each other questions would be amazing.
Pretty sure that people interested in tech do NOT want to see an interview with vaxxine billy.
@@hillaryclinton2415 Wrong, flat-earther.
@@hillaryclinton2415 again, you're wrong.
@@hillaryclinton2415 Yeah, why would any viewer of a channel run by an ex-Microsoft employee who spends a lot of time on talking about Microsoft during the 1980s and 1990s want to see an interview with Bill Gates, right? 🤣
I for one would refuse to speak with that known Epstein/Maxwell child offender.
Love that you provide so much background and history behind these stories. These videos are not only entertaining but very informative. Keep up the excellent work Dave! We appreciate all your hard work in order to bring us awesome content. Thank you!
Glad you like them!
@@DavesGarage I dont understand the source code can you make a video about it what does it do
@@masternobody1896it's basically just assembly language. It is sort of human readable but directly translatable to machine instructions and thus binary orders for the CPU.
@@hoej shut up, We are trying to have a civil conversation here!
1 and
Dave, you left out the best part of the paper tape BASIC demonstration story, in their haste Bill and Paul forgot they would need a loader, so Paul at the last minute on the fly wrote the loader, just prior to the demonstration of their 8k BASIC software that day.
4K, the extension to 8K came later
I've got an original cassette tape copy of Altair 8k basic. I'd be honored to donate it to your garage if you would like.
@kedmark pepperidge farms, I mean, pirates of silicon valley, remembers. Aarrrr!
@@raydcongdon9614 I would contact him by his email! He has it on his channel page. Contact him directly! He might not see this!
True. But history repeats. A similar thing happened when Acorn Computers demonstrated the original ARM chip. Another late night session.
Yes, I remember garbage collect. The garbage collect on the original Commodore Basic would sometimes take a long time. Maybe 30 seconds on a big program. The method of garbage collection was doing lots of searching and copying to do the collection. I believe John Feagens and Ric Weiland worked out a new method with pointers embedded in the garbage to speed up the process.
I also remember another bug in the original basic called "the cursor go away bug". Users doing a lot of screen editing on the PET computer would see this bug about once every few weeks. Users were very angry because the PET would lockup (the cursor would stop blinking) and the user would loose the basic program they were working on. We had to rig a PET up to do a lot of screen editing as fast as we could to get this bug to show up so we could track it down. It turned out Microsoft Basic was doing something bad with the stack. If an interrupt happed when the Basic screwed up the stack you ended up out in the weeds and the PET locked up. The screen editing was tied to the cursor blinking and would get you there. John Feagens found the code that was messing with the stack and fixed it. John's patch even fit into the same number of bytes as the original code.
It was incorrectly using a static value of 4 for the length instead of the actual length of a string when garbage collecting. The fix was a very simple one.
@@rich1051414 what is the purpose of this comment?
@@HatelivesNextDoor Come at me bro
@@HatelivesNextDoor I will answer you if you answer me what is the point of yours? And don´t ask me for my purpose please.
I never experienced buggy (trash computer) version, but on C64 garbage collection can take 30 seconds or more during which time the computer will *seem* to be broken. I don't know when Commodore fixed it, but on the C128 every string has an extra 2-bytes allocated as a 'back pointer'. Even though much more RAM is available for strings, the new garbage collection rarely takes more than 1 second ... but users may still consider it a bug when an otherwise responsive program suddenly pauses for no apparent reason (even if only a second).
Great video as usual. Your mention of Ohio Scientific brought back some nostalgic memories. I worked what seemed like many hours at $2.38/hr to save up for my Challenger 1P. I made my parents quite aware of the progress of my savings every week. One night they were late coming home from work, I had a gut feeling about what might be the cause of their delay. My guess was right. About 10 minutes after coming home, dad told me he "forgot" something in the car and sent me out for it. My dad said all he saw was a blur running from the driveway to the front door. I was elated! My first computer with 4K of RAM.
Beep beep, faster than the road runner I'm sure.
I've been writing software since about 1967, including a few easter eggs myself, but I did not know that there was a practical reason for them. Thank you so much!
What did your easter eggs look like?
5:00 This is how Satoru Iwata got the contract for HAL to work on the original Golf on Famicom, Nintendo wanted the full 18 holes to be included, but no one else was willing to try to get that to fit on the Famicom cartridge's ROM. Iwata "rather recklessly, said 'I’ll do it!'" and ended up having to write the compression to get it to fit from scratch.
The joy of hearing you talk about the UK1010 fills my soul. The garbage collection bug was also on the UK101. Another UK101 bug was a bit set on the MS error codes so syntax error that should have shown as SN Error read S? Error. A syntax error in itself. Garbage collection would kick in when the ever growing stack of variable assignments grew in memory until it hit the program memory and the garbage collection would have to cleaned it up to free the ram. The secret was to define the variables and then they would stay put. Great video!
Easter eggs like this have been used in many other software projects, and real life. For example, there are maps with fictional streets and cities, as an easy way to catch copying from other companies.
Most dictionaries also include fake words, for the same copying reason.
And one of those streets appeared in Google maps lol
Except in the case of raw dictionaries and maps they're not copyrighted as it's collections of facts.
Images ofc are excluded, but I think this map/dictionary practice will die out.
There was at least one case where somebody names their business after the fake place name that was already on the map. A second map company dutifully put it on their new map and were sued by the first map company. The first map company lost.
Note: I read this somewhere, there may be some inaccuracies.
Its not only done in software, but in hardware was well. Easter eggs have been used in circuit traces for instance, which could easily prove hardware was xrayed and copied directly by the presence electrically nonfunctional artwork of circuit traces.
Oh!!! You remember the Woz's Integer Basic!!! I remember disassembling that. It's _beautiful_ code! Here is a deep question. There was, for a very brief time, an Apple II program called "The Spreadsheet." It was quietly replaced with something else not as good (I'm trying to remember back to 1979, folks) by sticking a new label over the old one. VisiCalc had just come out. I speculated at the time that Woz had written a spreadsheet that was quietly suppressed so as not to compete with VisiCalc. I'm wondering if anybody has a more vivid memory of this.
Dave Thanks ever so much! Started my coding career in 1974 on a IBM 1620 Mainframe then Migrated to Wang 2200 and our team of 3 built our own version of Lunar lander that was ported to one of the labs at Nasa.
(10:04) I had an Ohio Scientific C8P back in the late 70s with Micro-Soft 6502 ROM basic. I remember having issues running code that used arrays of strings. At some point, the system would stop responding and the screen would periodically flash. Later after having disassembled the code, I confirmed that the garbage collector was to blame. If I recall correctly, string descriptors were stored as 3 bytes - two for the address and one for the length. The garbage collector incorrectly stepped through arrays of string descriptors assuming a length of 4. The result was predictably unpredictable.
It was also interesting to see the implementation of the trig functions as as polynomials with only a few terms.
My first computer was an OSI (Ohio Scientific) C1P, with the same buggy BASIC. When the defective garbage collector kicked in, the screen would flash or pulse because the garbage collector was searching through the whole 64k memory space, including the dedicated video RAM at $D000. Each access to it blanked the video output for one clock cycle, producing a tiny, momentary black line on the screen that was usually invisible. But thousands of them in a short space of time were quite visible.
Anyway, OSI programmers soon became adept at manipulating BASIC's pointer that controlled where strings were stored in order to avoid triggering the buggy garbage collector. I later acquired a C8P (or C2-8P) DF with dual 8-inch floppy drives, and got a job at an OSI dealership, where I worked on software for OSI's big C3-B computer, with its massive (for the time) 74 MB hard drive. Physically, they _were_ massive: big rack-mounted systems with 14-inch hard drives that would take two men to lift. We sold those systems to a bunch of local companies, and supported many of them with custom software. Thanks, Dave, for mentioning (at least briefly) the often-overlooked OSI line of computers.
My dad has a story of similar functionality, but a bit more sinister.
First i have to set the scene - Bulgaria in the 90's. Soviet Union just collapsed, the economy is still shit. Going to court for anything is way to expensive and will bankrupt basically anyone.
My bad and his colleagues made controllers for packaging machines. The kind of machines that seal bags of rice or salt, etc. Since he knew that it would be really hard for him to get the money for the controller, after its installed (and getting it before then would be even harder) he had a really nice plan to make people pay.
He put a secret function that made the controller brick itself after several thousand packages were made. It came out to around 1-1.5 months of work. The bricking could be turned off from a secret menu, accessible only on boot by holding 2 random keys. If the client payed, he would turn it off and that would be that. If the client did not pay, my dad would just wait around a month for a call that the machine broke. He would fix it "for free" when the controller was payed in full.
It its not used for a malicious purpose, stuff like that can be a very nice way to get your money.
So essentially they got a demo version and had to upgrade to the full version to continue using it. 🙂
@@Lovuschka NICE!!!
'
@@Lovuschka I never thought about it like that, but its 100% true.
Here in Brazil people did things like that too, to avoid not getting their money. We had a expression for it, there was a bit that needed to be "brushed", otherwise the system would stop working.
So, every 2 months your father was asked to "fix" the controller? :)
@@mauriciobraga I've asked myself the same question. From what I know about him, the answer is a definite no.
From what I know about some of his colleagues at the time, I would not be surprised if some of them did suggest that idea.
Radio Shack/Tandy had it's own easter egg in TRS-DOS... if you held down "R" & "V" keys while the floppy booted, it popped up the creator's name Randy Cook. When it became public, corporate changed "Randy Cook" to "Tandy Corp" in later revisions.
(And being from Detroit, we LOVED "Friendly Giant" being broadcast from Windsor, Ontario!)
Each and every one of your videos exceed expectations! They are gems. Thank you Dave for the history.
I have to watch your videos in multiple sessions. That is not to say that they are dull or boring, but there is just so much relevant information to the subject that it can be overwhelming at times for someone who wasn't there to begin with.
Great work!
Maybe too easily discovered to be considered a true Easter Egg but on the TRS-80 Color Computer and Dragon computers, passing any eight bit number greater than 8 to the CLS command clears the screen and generates 'Microsoft' before the OK prompt. On the Color Computer 3 in the high resolution text screens, this is replaced with 'Microware Systems Corp.' who patched Microsoft Basic for that machine since Gates & Company apparently were no longer interested in doing work on 8-bit Basics.
I wrote two floating point libraries for the Z80 about 35 or so years ago, one of them was IEEE 754. Back in those days, the real skill was getting it to run fast, and IEEE 754 made it seriously hard on a Z80. To this day, hardware limited microcontrollers' vendors don't implement IEEE 754 as a result to improve speed.
The Z80 made it a bit easier because of the IX & IY registers: I'd hate to try to do it for an 8080.
The beauty of doing this stuff is that you have to implement development feedback particularly around data structures: you can make dramatic speed improvements by choosing how you implement the mantissa/sign/exponent bit fields.
Did you work for U.S. Software? If so, I really, really appreciate your floating point library. Used it extensively in power metering calibration equipment on a HD64180 (8051-like) processor.
I’ve always had skepticism about what happened first when Paul loaded the tape into the Altair because I’ve seen an interview where Bill gates said it failed the first time but ran the second time, and in another interview I’ve seen him say it ran perfectly the first time. It’s always frustrates me we’ll never know
I wonder if microsoft would let you start a podcast...You discussing with former and current Microsoft engineers would be pretty darn cool.
Dave, it'd probably be tedious to make an audio book version of your book, but I'd for sure buy it if you did. Been wanting to read it, but know I'm too lazy to read more text after a day of work
I AGREE JOHN! I want to hear the audio book - and in DAVE's voice!
One more proof that full time jobs mean slavery.
Not exactly an Easter Egg, but my favorite example of someone signing their work in a way that can't be removed is the Maillardet Automaton. This 19th century mechanical automaton, constructed by Henri Maillardet, can draw pictures and write verse in English and French. When the Franklin Institute in Philadelphia received it in 1928, it was a wreck and not much was known about it. After extensive repairs, they had it write out all of its pictures and poems, and on the last poem, it wrote "Ecrit par L'Automate de Maillardet" ("Written by the automaton of Maillardet"). No other builder of such devices could ever claim it was their work.
is this the story of Hugo
Your channel is amazing and so are you! Can't get enough! Your content is a breath of fresh air on the Microsoft shroud of secrecy. You're a true man of small steps can create ripples.
I don't know which is older, but the TRS-80 Color Computer also had an easter egg in its MS-BASIC rom. The "Wizards" image that was encoded in some unused chunk of ROM, and that IIRC you could see with a USR() command to some special address, or some tiny bit of assembler to load the image or something like that. It would be neat for you to do a video (or a series!) on easter eggs across all Microsoft OSes!
Holding down CTRL and ALT while turning on or resetting the Color Computer 3 would display an image of the three Microware programmers who updated the BASIC ROM.
Wow. I deved on 6502. Zx81 dev 1973, Ran BBS etc in 1985. Lovely stuff dave.
As a self-professed lover of computer history, your channel and this specific episode, were awesome! Thanks, and keep up the good work.
I'm not sure which is better, lately - Dave giving us the inside scoop on this stuff, or reading the comments and learning lots MORE inside stuff from the super-knowledgable community that's growing up around his videos!
Yes and Yes !
6k+ views in just over 2 hours.
Fantastic. You truly have a nitch carved out here. Stay the course.
I personally enjoy your videos but I considered myself rather eclectic, apparently I'm in good company.
Bravo.
Wow, thanks!
Lol Dave, truly a gentlemen and a scholar.
So what's the deal with the taskman pins... Something about exemplary comments or what not?
I doubt I have the practicum to make such an informed comment but maybe just some simple words of encouragement or flattery might suffice?
.... a rocking chair for one whom likes to rock. 🕺
Another great video Dave! Keep IT up! :-)
Your insider stories are very valuable and worth being preserved.
I have a good story for you. I had an early MITS Altair 8800. One day the snow was so bad that I could not get in to work. It was before remote dial in to the mainframe. I wanted to work on a problem of calculating the interest rate given a principal and payments. I had a math degree, but there is no formula that I could find to do the calculation. Then I remembered Newton's method of approximation. I began coding in basic. Had to learn basic that day. I got a routine coded and debugged. I ran everything I could think of. It was scary accurate! Who wudda thunk? It took me three days to get my COBOL program to do the same thing starting from an already working BASIC program! My MITS Altair 8800 came originally with 256 BYTES. I splurged on a DECwriter. The Basic interpreter was on a small cassette tape. Turns out that the tape reader was a 110 baud modem.
Thanks, good story. John G. Kemeny, the in inventor of BASIC, who also did math for Einstein and was one of the mathematicians in Los Alamos, said the entire math done during the Manhattan Project could be done by one student using BASIC in an afternoon.
Speaking as a lifelong Commodore guy, there's some humorous catharsis in the knowledge that Bill Gates was once flustered by Jack Tramiel. I couldn't imagine any scenario that saw the two of them in the same room with tempers boiling over over a business deal, that might have been like matter and antimatter colliding, reality couldn't have handled it.
I dont think Bill was alone :) Jack was notorious.
I remember The Friendly Giant" on CBC. I loved it when I was very young.
One little chair for one of you, and a bigger chair for two to curl up in, and for someone who likes to rock, a rocking chair in the middle.
Really fascinated by this, but my first machine was a Texas Instruments TI-99/4A which served me well and I'm still a member of the usergroup today. Keep up the good work with your championing those with autism. I'm still waiting for my referral with a psychologist and was only inspired to do it after watching your video.
Ah, the UK101. My first computer, bought pre-built (the other option was a bag of chips and a soldering iron) on a whim after graduating (not in computing!), that started a 30 year career in IT. These inside stories are fascinating insights into things I remember as home computers gave way to the IBM PC and led to Microsoft ruling the day.
I managed to program a crude version of space invaders on the 8k MS basic using Xs and Os, with a few peeks and pokes to specific memory addresses, the only problem being that you could go and make a cup of coffee between each screen rewrite so it took about ten minutes for a missile to reach the top of the screen and the aliens to move down one row. It still gave me a sense of achievement!
Keep the stories coming - from Pets to Win 11 they're fascinating.
There was quite a popular 6502 machine in the UK, the BBC Micro (and its little brother, the Acorn Electron), that went a different way and rolled its own BASIC rather than using Microsoft's offering. BBC BASIC was further developed later for the ARM processor (arguably, for a very long time the only BASIC for ARM!) and is still developed today, by RISC OS Open for ARM, and two cross-platform efforts in the shape of BBCSDL by Richard Russell, and Matrix Brandy (a fork of Dave Daniels' Brandy BASIC).
Thank you for doing these episodes on Commodore/6502 BASIC.
Thank you Dave for being the first person in the world to make me interested in programming. Unfortunately I am very busy to start learning how to code now, but I'm sure one day I'll pick it up and learn to write my own piece of software. All thanks to you
Hey there, just wanted to wish you the best with learning on how to code! I just started learning JavaScript and have been playing with Python for some time. Don't give up when it gets hard, and have fun!
KIM-1 was one of the first computers I wanted, learned everything about, but could never have. So much hardware innovation back in those days. I remember there was a trick to double the RAM capacity by piggy back / double deck soldering on an extra set of RAM chips with an enable pin bent up and wire wrapped back to an otherwise unused address line. Low clock speeds were so permissive of this kind of hardware hackery. The kids of today ....
20:00 I also recommend checking the comment section under the Pagetable article. You can find some familiar names there, including a certain Bill Gates. ;)
You don't remember the controversy of Billg copying Palo Alto Tiny Basic from Dr Dobbs Journal.
Geeking out...
Dave thank you for this channel so much fun to know history...
It would be cool if you could interview a few more people before they pass on...
I hope to start doing that this year!
Irish Pirate made me laugh so loud I startled my dog. Love your content, Dave! Thanks for sharing so much insight and experience.
As an old-schooler, it still fascinates me how the grammar and hardware support fit into such a tight spot since today, well, everything is so crazily written.
Another great video Dave. Love these Microsoft stories.
I landed the lunar lander on top of the Macdonalds on our university DEC GT40 in around 1977/78 - eliciting the message: You have just destroyed the only Macdonalds on the moon!
That's awesome! I'd never seen the DEC version before writing this episode, and had thought the Atari version was the first. Really cool that he wrote it back in 73! I wonder if you could connect a GT40 to a pi based emulator of a PDP?
I played it while on a course. After several attempts it left a number of wrecks on the screen. I thought it a bug. On my next attempt I got the lander to hover but, I ran into a wreck crashed. It displayed the message ... " You Turkey. If you have not tripped over one of your old wrecks you would have landed that" I rebooted the machine.
@@kenclough12345 Nothing says 1970s more than the phrase "You turkey!"
Strange - I replied twice to Dave’s reply but it got deleted each time, by YT AI? Anyway there is a GT40 implementation in Simh including moon lander in the well known repository of code.
More!!! Love it Dave - you are the Tech Bard.
Basic 7 is a development based on an earlier released machine (B128 or B500 depending on where on the planet you are) and the unreleased Commodore LCD machine. The start of this development predates the aquisition of Amiga inc.
Leonard Tramiel was involved with the technical side of things when Commodore aquired MOS, and very likely has some of the details of the deal also. He is quite around still, and quite approachable. You may want to check with him on what details of the deal he still knows.
Fascinating! I'm glad I stumbled onto this. I worked with the Altair, got mine running on Bicentennial Day, and my company duplicated cassettes with software for both MITS and Radio Shack. I remember the easter eggs in Altair Basic -- when the Memory Size prompt comes up, answer A (return). The early versions say "Written by Bill Gates, Paul Allen and Monte Davidoff." BTW, the 4K basic was integer, with the 8K and larger version floating point. I could go on...
Didn't think I'd be "early" enough to see a video uploaded 30 minutes ago, since I am from the UK! Thanks for uploading
It was fun seeing things go from that group to UA-cam! Also love the Friendly Giant ending. Need a Mr. Dressup nod in the future.
Fascinating!! I don't know if Bill still does social media sessions where you can ask anything. I think it was on Reddit? Anyway, that may be a good forum to ask him about some of the historical questions. Good luck!!
One of my absolute favorites. Great stuff!!
Glad you enjoyed it!
In fairness to the TRS-80, your reference to the TRS-80 failing to enter a large salary due to integer arithmetic @3:45, is regarding a prototype of the TRS-80 Model I. The demo to Tandy executives, used a public domain 2K version of Tiny Basic and not the 4K Level 1 production version. The later level II basic used the much better as you pointed out, Microsoft Basic.
The flight simulator in Excel was the trigger that convinced me to switch to Star Office. I enjoyed your book btw!
@4:19... I really want to verify that for myself... 2.0001+2.0001 = 4.0004???
Great video, always enjoying the 'behind the scenes' since my computer journey started a few years later (and on the Z80 processors). Keep them coming!
this is prob my favorite PC channel lol so concise and profesional love it
I had completely forgotten the Friendly Giant outro, with the furniture.
So I searched it, and watched one, and i gotta say: you do it much better.
Thank you for all the awesome historical information you provide. Keep up the good work :)
That is possibly one of the coolest Microsoft tales I have heard to date, would be awesome to know if it was ever used in a copyright battle or similar or if it is just a cool unused piece of the programme as Microsoft soon grew to the level where that kind of thing was almost unnecessary or what ever the case may be.
The fact that they coded a BASIC interpreter in a mere 8K still blows my mind.
Tom Pitman’s Tiny basic made it in 1K on the KIM-1 ;) The original MS one on the Altair was 4K
@@pschugi9171 🤯
I remember the Lunar Lander on the PDP-11 being demonstrated at a special event at the UW campus.
I imagine all these old devs looking at each other’s source code playing out like the business card scene from American Psycho:
“Impressive… very nice… let’s see Paul Allen’s code…”
“Look at that subtle uniformity and legibility… the tasteful indentations… oh my God, it even has comments…”
Dave, keep it coming. Love this stuff
Man you blow me out! I wrote on z80 then 6502 even 68000 but just for myself. Did some cool stuff but it’s amazing to listen to you, though I don’t always follow, but that’s cool. Great videos.
That court case did play out. Jack Tramiel still got the last laugh on Bill. All of that money Bill lost by selling BASIC to Commodore without royalties.
I got a Vic 20 in 1982. I bought the programmers guide and had a blast. I later bought the c64 when it came out. I connected hardware to the io port. Fun times.
That friendly giant reference hit me with all the feels.
Thanks for the shout out to the MSFT old timer's group!
Thank you for some history again 😃
Sadly I missed this age of IT, started with Win95 (i think, may it even was Win3.1) at 3 years old 😂
Love your channel Dave. I imagine big Bill would love to answer these questions!
The ultimate MS language was Quick Basic 4.5 Rarely ever discussed but once ruled the world.
And for the C64, there is a compiler called BASIC BOSS which hit the market too late to rule the world, but which is also great.
There was also a professional version that was much more complete and powerful that you never hear much about. I think it was called BC 70 or PDS 7.0. QB45 FTW!
GW Basic was the first Basic interpreter I ever used on PC on an amber monochrome display PC XT.
7:19 in greece(in my hometown anyway), GW was interpreted as G-raphic and W-indows but I'm old now and such trivia starts to fade from my memory
What does "Graphic Windows" have to do with BIOS BASIC? There was very limited graphics, and no windows.
@@stargazer7644 hm, turns out that "Graphics and Windows" is just a theory. Head over to wikipedia, in the last paragraph. I think no one knows what it really stands for.... :)
@@vrekman256 A hypothesis maybe, but certainly not a theory. It makes zero sense to anyone who actually used GW-BASIC.
I have worked in IT for the last 10 years and really enjoy all this knowledge. Thank you Dave!
I programmed in GW-BASIC, and, had managed to program and design a simple inventory program on it back then. Of course, the GW-Basic on a 386 or 486 is pretty limited as to how many lines of codes can be run. The hardware also had around 4 MB RAM or even less. -Mind you, I think the program runs from a 5.25" diskette, since the size is under 640 KB RAM.
Dave, love the stories. I have known about and Easter Egg for decades but until this story, I did not realize that is what it was. IBM introduced the System/36 in 1983. At least on the big box 5360, the Easter Egg would show itself. There was a cover over the operator panel. On that panel was a four hex digit display intended for diagnostics. If you had the cover up when you keyed POWER OFF, you would see the hex digits DEAD displayed on the panel. Keep up the good work.
OMG Dave thanks for that jaunt down memory lane. I spent so many hours in the computer lab at the College of Aeronautics playing that lunar Lander on our schools PDP 1108 we independently discovered that MCD Easter egg . between that and tower controller and Zork 1 we literally took over the school's computer lab and used up all of the bifold paper we could get our hands on .
I have Bill's books. I know about the IBM meeting where IBM wore jeans and Bill dressed up. Too funny. 😂 I love your keystroke sounds and piano music. Super cool Dave 😎
Yes, Dave, I do like and enjoy the nostalgia pieces.
Dave, truly enjoy these stories. Thank you and appreciate you.
Having a father working at AT&T i first programed in Basic, through a terminal dialed into a PDP-10
Dave all your videos are great and I hooked your channel with the LED related videos. But this video made write my first comment on your channel. I am from Maldives and I was fortunate enough to spend few hours everyday with an IBM PC in 1984. And without the DOS Diskette - the systems shows the curios OK message. In Maldives and no one to ask no books to read except the BASIC Green binder provided by the IBM with the PC. This videos refreshed that memories of the days I wrote my first software in BASICA to write /print Maldives Language Thaana with a PC. It took me two years to do it. Thanks for this video
Was about to have an early night here in the UK. Hmmm what’s this a new Dave’s Garage video? That will do nicely thank you very much
Morning!
I’m glad you described the accent, as I would never have guessed from how it sounded.
Another awesome video. Keep up the good work. A couple of years younger then you so I missed out on 6502 machines from the 70s. Basic really brings back memories running it on z80 machines with cpm and then later on c64 because it had cooler graphics and a joystick.
All This is way above my understanding.. now and then I sort of "get it" , but damn, even those little slithers make it so informative.. Love the channel.
(In Oz, I remember selling Vic 20's , C64's , System 80's (trsclone), CAT (a Apple II clone) , Challengewr (IBM Clone) Sorcerer , Pet.. I think there was a peek/poke command that would fry the chip.. ? Maybe just a programmers tale)
Another excellent video. That old computer PET system is a thing of beauty.
I've always wondered why the Commodore BASIC uses GET$ rather than INKEY$.
I guess you mean "GET" (works with string and numerical variables). A shorter command name saves bytes when listed. :-) And there is also "GET#" in Commodore BASIC which inputs from a file, so "INKEY#" wouldn't be plausible.
@@NuntiusLegis Very valid points. And sorry that I've only now seen your reply. Just been watching the video again.
I worked on some development for cellular base stations, the upcoming features for the next major revamp of the ITU standards, no mobile available so we used simulators, a later chat with someone working for a major handset manufacturer and they were using simulators to develop the mobile for the same reason.
Love your channel Dave. My 1st computer was a KIM 1 or maybe it was SIM 1, hexadecimal keypad and a whopping 1K of ram with no way of saving programs. that fun lasted about 6 months until I shelled out $1249 (1980 Canadian Dollars) for a 4k TRS-80 with level 2 basic and a cassette recorder to save programs. My last 8 bit computer is an Acorn Atom 6502, which I still have, although I haven't used it for about 40 years. I think there is simulator for it out there on the web.
As an original "end user" of the beginning personal computers, I wasted so much time of my life dealing with "failures" of the software that I resent the amount of money charged for "working" software at the time as a complete waste by pure greed! I hate those statements of "if you had bought Microsoft stock at the first offering" as completely stupid because the stock was only offered to mega fund holders that one could never buy the stock at any lower level.
The best Microsoft easter egg has to be in the beta of windows 3.1, if it detected Dr Dos rather than MS dos, it refused to install anything, very cheeky.
The idea you're willing to share with us a peek behind the curtain and how it all came to be and bill is out working another hustle.
Not sure who it was but the author of the VIc-20 BASIC manual changed my life.
Interestingly, PC BASIC's protected saves used the bytes of a couple of trig tables as its encryption XOR values.
Love little fragments of architectural history from the frontier days!
That rather caustic Easter egg in Amiga DOS was fairly difficult to trigger. I believe it required holding down five keys at once. It was difficult to do using two hands with the spacing of the keys. I recall holding a pencil between my teeth to get the last key.. The Easter Egg was there in the Kickstart disk, but I believe it was stripped out when there were actual ROMs instead of Kickstart. There was a visual Easter egg with many names of people and a dog paw print inscribed on the inside lid of the original Amiga A-1000. I believe Apple beat Commodore to that with names on the inside of the original Macintosh.
The Amiga traces the roots of Amiga DOS, written in BCPL, back to Tripos (as in 3-legged always stable stool) at Oxford. I believe BCPL has its roots on PDP-something or other.
I also recall one of the more unusual things about old Sun machines was that the boot environment was pretty much a full fledged FORTH interpreter. There was a Dallas Semiconductor battery backed CMOS chip for storing important stuff such as the machine’s MAC address. The battery only lasted a couple of years. If the battery went dead and a machine needed to be rebooted, the trick was to drop into the interpreter to set a MAC address. If paperwork couldn’t be found quickly, we would type in C0:FF:EE:01:02:03 or something similar to get the machine back on the network.
Another Easter Egg in plain sight was the air vents around the edge of a Western Digital network disk. There were three different phrases in dots and dashes of Morse code which repeated. I recall finding a misspelling one time in one of the phrases. It’s been a while and I don’t remember the exact wording.
Thanks for sharing the MS-BASIC Easter egg. I did a lot of programming on Apple ][ Computers in the early 1980s for data logging lab data. I worked mostly in assembly. Somewhere I found a list of the entry points for the floating point routines which I could then call to do math for my programs. Apple had a subsystem in RAM in DOS called RWTS (read/write track/sector). If I only needed to log to disk, I could throw out the parser and other parts of DOS and make more room in RAM for my program by using RWTS directly. Those were the days of only 48K of RAM to work with. Also working with the Apple ][, the pixels on the screen were interlaced in an odd fashion which made vertical scrolling an images laborious. If I recall, the bits displayed as pixels were the opposite endian of the 6502’s use of memory which also complicated lateral scrolling. … just to save a Dollar or two of TTL parts on the motherboard. I recall tension over the 6502 processor between Mostek and Rockwell. Also Motorola versus Mostek for stealing silicon designs from the 6809 processor. Those were the days!
I want to be like Dave when I grow up.
I mean, I'm almost 40... but, y'know. I feel a kind of graybeard engineer kinship. I barely missed that generation of computing, having started programming in 1987 on an Apple IIgs, so tales like these fit neatly into history, filling in how things got to how they were in the parts I experienced firsthand. Computing in 1987 wasn't THAT much different, so I get the context.
I only hope that I have stories like Dave's to tell once I retire... if I ever do. I enjoy making stuff too much to ever truly quit.
I very much like your outros, great funny idea
I read on google news that the Windows Task manager in Windows 11 is getting a redesign. can you tell us about it please.
Floating point does have a flaw that it can't do exact numbers.
Simple decimal shifting would solve that problem, and still have the range.
That isn't a flaw, that's a universal consequence of encoding a value in a fixed number of bits. That's exactly the same thing as integers not being able to encode decimal numbers. Or even handwritten 8 digit numbers being unable to exactly represent a 9 digit value.
@@stargazer7644 Base 10 was stupid.
We only used it because human kids have 10 fingers.
It should have been base 4 or 16.
@@MarkBarrett The first computers I used from the 60s were all base 8 octal machines. Cut your thumbs off and you're good to go. Bits were arranged in groups of 3, so you had 18 and 36 bit computers instead of the more familiar 16 and 32 bit computers.