Bare Metal Coding: Big Iron! Assembly Language on the PDP-11/34

Поділитися
Вставка
  • Опубліковано 5 лип 2024
  • Dave demonstrates programming the PDP-11/34. For my book on the spectrum, see: amzn.to/3XLJ8kY
    Follow me for updates!
    Twitter: @davepl1968 davepl1968
    Facebook: davepl
  • Наука та технологія

КОМЕНТАРІ • 836

  • @user-gx1rk8yw6l
    @user-gx1rk8yw6l 26 днів тому +219

    Thank you for NOT having a 5-minute-lasting "Let's get right into it!" intro!

    • @Andy-fd5fg
      @Andy-fd5fg 26 днів тому +12

      and for not repeating what you just said before the adverts.

    • @SuperSpajky
      @SuperSpajky 26 днів тому +6

      Microsoft stocks make that unnecessary :)

    • @20chocsaday
      @20chocsaday 26 днів тому +1

      I don't think he could imagine doing that.

    • @Psythik
      @Psythik 24 дні тому

      @@Andy-fd5fg "Adverts"? Are you serious right now? Why aren't you using proper adblockers, like Ublock Origin and UA-cam ReVanced? Why would anybody willingly put up with ads on the internet, especially when they're so easy to block?

    • @gorauma
      @gorauma 14 днів тому

      Is that a dig against Adrian?

  • @davorzmaj753
    @davorzmaj753 26 днів тому +45

    "Four linear feet" of RSX-11M docs: that says less about RSX than it does about documentation practices. They believed in giving you *full* documentation back then. Plus, it was all hard copy -- no electronic versions.
    To be perceived as an expert, you didn't need to know all the things -- but only where in the manual set to find them.
    Other examples:
    - The original IBM PC (1981) included a source listing of the BIOS
    - The Seagate ST-506 hard drive (1980): its manual included schematics for the logic boards. That proved invaluable a few years ago, when we needed to hack an ST-506 to get the data off it
    - If you open up consumer electronics of the day (radios, TV sets and whatnot), you'll often find a schematic inside the case. Right to repair went without saying...

    • @cykkm
      @cykkm 19 днів тому +4

      Most Un*x programs from "back then" come with quite extensive documentation. GNU also adds info. Emacs and friends are self-documenting. People who release even simple programs have a great example before their eyes and try to follow. But in the Windows world it's a plague. I partly blame MS for that: how long did it take for the CHM format to appear, only to be declared obsolete in Vista? (You had to tweak the registry to enable rendering them; I do not know how much of a security hole they are, but that was the reason.) They work OOB in Windows 8 (?) and later, tho. But they drag the IE rendering engine behind them into the second quarter of this century...

    • @Drycleanerguy
      @Drycleanerguy 16 днів тому +1

      Exactly, and that information can be of immense value. The original NEC APC included a full source listing of the BIOS, plus a diagram showing all the logical connection of the parts. That was awesome, since the native OS, CPM/86 was horrid. Having all that info allowed me to enhance the OS significantly with an interrupt driven printer driver (much faster, plus you could multi-task) and a memory resident interrupt controller/menu system, allowing direct chaining from one program to another. (The native way in CPM/86 to get from one program to another was to write a batch file to the disk calling the next program, then terminate and chain to the batch file.)

  • @hmrody
    @hmrody 26 днів тому +151

    Ah, memories... I still am at it at 64 years old. Bank switching was fun. My first personal computer was an Apple II (Integer). Did a lot of work with a Sperry Univac. The replacement of the PDP 11, a full VAX actually was an awesome machine. First time I could step backwards in a debugger. Love your videos. I saw the IBM PC in your garage. I put together hundreds of those when I was working through school at Mississippi State. Have a great day. Great memories.

    • @Rai_Te
      @Rai_Te 26 днів тому +13

      Same here ... this also reminded me on a time many decades ago, when I was programming a VAX11/780 in assembler.

    • @vslabs-za
      @vslabs-za 25 днів тому +1

      Fond memories feeding punch cards to our university's Sperry as data for solving math problems. Liked computers more than maths, ceased trying astrophysics, and became a software engineer...

    • @atertee
      @atertee 8 днів тому

      Holy S... I can barely do fundamental Matlab and some labview ... this is way beyond my comprehension of what a comouter is ...

    • @warmCabin
      @warmCabin 3 дні тому

      I'm curious, what was it like writing bank switching code back then? I've never written anything like that, only observed it in old Nintendo games.

  • @user-ol1fq6yh8h
    @user-ol1fq6yh8h 26 днів тому +91

    Fun fact: The entire CompuServe network was a couple thousand PDP-11 nodes with DEC-10 hosts running the applications. All the network code was written in assembler and the applications were mostly written in BLISS. The PDP-11's were slowly phased out beginning in 1988 when we began deploying 386-based nodes.

    • @DumbledoreMcCracken
      @DumbledoreMcCracken 26 днів тому +4

      I knew a guy who claimed his friend took the code from CompuServe. I have no idea how, doubt through a 1200 bps modem, but maybe.

    • @lboston4660
      @lboston4660 26 днів тому +4

      That's impressive. That makes me feel a little proud to have had them as my first ISP.

    • @wtmayhew
      @wtmayhew 26 днів тому +1

      There was a bit of real-time history at the Cosci Museum in Columbus, Ohio. They had working PDP-11 based ConpuServe node in a glass enclosed room on the museum floor when I visited there back in the 1980s.

    • @stevejohnson1685
      @stevejohnson1685 26 днів тому +1

      I met the founder of CompuServ. He claimed to have salvaged the initial PDP-11 from the flooded basement of a building on the Ohio State University campus. His house had a shamrock-shaped swimming pool, and the first salvaged PDP-11 had a place of honor in the house. He had sold time-share time to commercial organizations during the day, and thought it would be fun to sell time to hobbyists and amateurs in the evening. He quickly discovered how much pent-up need there was, and switched the focus of his business to create what we recall today.
      I did my Master's at Ohio State, on a PDP-11/45. The boot code had been toggled into core memory, and as long as we didn't screw it up (which we did, on occasion), we could just toggle in the start address and kick it off. The RK05 platters would start winding up, and a few moments later, we'd be in business. When we screwed up the boot code, there was a fairly short (maybe 128 words) of code we'd have to toggle in that comprised the cold boot. I can't remember it now, but I did for quite some time.
      I'm glad you discussed the beauty of the PDP-11 instruction set. I've always appreciated it; truly orthogonal, symmetric instructions.
      One of my favorite projects (when I wasn't frantically wiring up A-to-D and D-to-A converter modules and their control logic) was to wire up a General Instruments top octave generator, a half-dozen selectors and a half-dozen programmable dividers, to create a six-voice music synthesizer. While Wendy Carlos was producing "Switched On Bach" our lab had Ravel and Debussy playing on a PDP-11. The A-to-D and D-to-A assembly? It ran Robert Murphy's hexapod robot. In 1979.

    • @dougf94912
      @dougf94912 26 днів тому +1

      I became a CompuServe subscriber in 1990as a way to stay in touch with my company's HQ in the UK as I traveled around the world on their behalf. Those international POPs (Points Of Presence) were a real lifeline for me! I had that subscription for about ten years until the WWW became a thing and I moved to Earthlink as my ISP as I was now based, full time, in the US. 🤓

  • @gpTeacher
    @gpTeacher 26 днів тому +29

    Dave, these are ABSOLUTELY retro computing GOLD! Your work here is building a priceless archive of our computing history. Thank you so much for your ongoing work!

  • @Tigrou7777
    @Tigrou7777 26 днів тому +34

    I'm pretty sure that every time Dave startup the PDP, the lights in the city fade.

    • @Zarcondeegrissom
      @Zarcondeegrissom 25 днів тому +2

      neh, that's his CRAY X1E in the other room, lol. /sarcasm

  • @xfinnerjx
    @xfinnerjx 26 днів тому +245

    Too many coders today are so disconnected from the proper hardware. More like this is just fantastic.

    • @MathewPanicker1010
      @MathewPanicker1010 26 днів тому +24

      There's nothing wrong with that

    • @JxH
      @JxH 26 днів тому +14

      Little know fact: Microsoft heard about people building virtual hardware (CPUs, even PCs) in Minecraft blocks. So a VP at Microsoft lobbied to purchase Minecraft for several billion dollars with the goal of moving all hardware into the virtual Minecraft ecosystem. The stated goal was to implement this recursively, and eliminate all hardware all the way down. Microsoft envisioned a hardware-free implementation of personal computing. Everything would be virtualized all the way down, zero hardware anywhere.
      This may sound silly, but how else do you explain the purchase of Minecraft by Microsoft ?
      🙂 !!

    • @nezbrun872
      @nezbrun872 26 днів тому +43

      @@MathewPanicker1010 "There's nothing wrong with that" is why your new TV takes longer to boot today than an old tube set from the 50s did to warm up.

    • @Aeduo
      @Aeduo 26 днів тому +4

      @@nezbrun872 Nah, that's a choice by the manufacturer. No shot that they'd spend the money and time for engineers to optimize all that boot/initialization code. They could if they wanted to and if there was demand for it, we'd have that talent trained up to do so.

    • @milllkkkk
      @milllkkkk 26 днів тому +14

      @@JxH this makes 0 sense.

  • @stephengevers5894
    @stephengevers5894 26 днів тому +18

    My first exposure to computers was as a high school sophomore in 1980 where we had to do a 3 week class. Following that class I spent all my free time in the school computer lab. When I entered college, I got to take an assembly language class in the spring of '83 on a PDP-11 (I think it was a 44 that had added parts to make it behave like a 70). From the moment I learned about addressing modes and the crazy control you have, I was hooked. I was one of the weirdos that bought the PDP-11 architecture handbook from the school bookstore and read it cover-to-cover like a novel. Honestly, most of that video felt like I was watching you read my mind. I desperately wanted a 68000 based machine that I could play with at the assembly level. Thanks for really stoking up those old memories!

  • @alanmichaels8774
    @alanmichaels8774 26 днів тому +21

    I have been really enjoying watching your videos on the PDP 11. I am a genuine grey beard. I became an OEM dealer for DEC's business computer division way back in 1975. I was actually president of the DECUS business user special interest group from 1977 to 1981. This is all fascinating to me that you are resurrecting it.
    I have to wonder if you know what you have. A DEC Data system was actually packaged as a business system. What you probably have is a Dec DataSystem 350 series, probably a 354. It probably shipped with the DEC operating system based on RT-11 with a multi-user operating system layered above. The normal programming language was DIBOL. You could typically run a maximum of three terminals (although 2 was optimal) with the RT-11 based system. You could also run the 500 based operating system based on RSTS-E with some business extensions.
    The underlying machines were identical to DEC's standard machines. They ran RT-11, RSX-11 and Linux just fine.
    It is forgotten though, that before the IBM PC came out, DEC was heavily involved in business computers for the industry.
    So whether you realize it or not, not only do you have a PDP 11/34 you have one that is even more rare because it is a DataSystem.
    Treasure it, it is something very special. I have so many memories of those days.

  • @clementgaudet
    @clementgaudet 26 днів тому +12

    I’m 67 and my first assembly programming was on a PDP8. Love the channel.

    • @Drycleanerguy
      @Drycleanerguy 16 днів тому

      I'm 69, and I first programmed a PDP8e.

  • @toddmarshall7573
    @toddmarshall7573 26 днів тому +33

    I developed a term insurance/ mutual fund application (competing with full life) in 1977 on my Processor Tech Sol...that cost me $5,000. The company wanted to go nationwide so I bought a PDP 11/23 for about $35,000. The program was written in PT Basic. When I converted it to run on the PDP 11/23 it wouldn't fit. And I only had 4K bytes of static ram on the Sol. I had more memory on the PDP but the RSX-11 used it all up. I really took a bath on that deal. Even after I got it working and on-line, the company that needed it stiffed me. Live and learn.

    • @briansturges2658
      @briansturges2658 26 днів тому +4

      Wow, you got a story to tell out of that deal. What did you end up doing with the PDP 11/23? Did you at least get some enjoyment out of owning it, or other projects? 35K is more money than our family home cost in the 70's.

    • @martyhill8342
      @martyhill8342 25 днів тому +1

      I loved my Sol, too. Especially the first original PTDOS that limited Random Access files to 16k in length. .

    • @patrickwingert5224
      @patrickwingert5224 25 днів тому +2

      I hung around a computer store and they were developing an Amniocentesis analysis program on a Sol-20. They decided it was better to give me a job testing the app at minimum wage then letting me sit around and play on their computers. They gave me test script to run and check expected results and to note deviations from the expected results. Not a bad job for a 12 y/o. I worked for three months for an hour a day after school. I always had to disappear if the client was on site.

  • @BFLmouse
    @BFLmouse 26 днів тому +9

    I still have a copy of the LSI11 PDP11/03 handbook on my bookshelf, a souvenir from an assembly language programming class in college.

  • @victorman7777
    @victorman7777 26 днів тому +17

    We used a PDP-11 in my CS classes in the mid-80’s. I started programming on a TRS-80 model 1 with tape recorder storage. Wow! A blast from the past.

    • @robertthomas5906
      @robertthomas5906 26 днів тому

      We had a PDP 11/44 to write an operating system on for computer science in college.
      Then they moved on to an IBM AT. The first program on the IBM was write a keyboard handler. That claimed most people in the class.

    • @walkerjian
      @walkerjian 26 днів тому +1

      much the same with me, I started wit logic circuits on my electronics kits as a kid, then used slide rules and calculators until I forst used a trs-80 II to control an experiment at a technical college in 77-78. Then used PDP11-10 mark-sense card reader at uni, explains my tenuous and highly bemused grasp of reality to this day :) Then my own trs-80 after working all summer in a steel mill to pay for it. I still have it, but sadly may have to let it go soon. Then onto another PDP running RSTS, then a VAX at Uni. Then 6502 SBC's in assembler, and onto the first PC's. Been a fun trip, kinda.

    • @adrianwilliams763
      @adrianwilliams763 26 днів тому

      My first computer was a “Video Genie” which was a TRS80 II clone. It also had a tape drive. Then we upgraded it to the Stringy Floppy which was a credit card sized cassette with an endless loop tape. Worked really well until the tape unraveled, which happened often !!

  • @terryrogers6232
    @terryrogers6232 26 днів тому +75

    We despair at the small business where I consult for bare metal programmers. Best one we got so far is a lady in her 50s who I intro to bare metal on new MCUs.
    It is indeed a long time since I saw and worked with PDP-11. My wife, who loved puppy dogs, cooking, swimming, knitting and guitar, surprised me one time by asking, "what do you do at work?" When I told her, she said, "Can I try some of that?" Knowing better than to try instructing her myself, we went to the community college which had a course programming on a PDP-11. I chuckled...BUT she passed flying colors! She tried math...disaster. Music...flying colors. More computer languages...flying colors. I have never figured it out (and now she is passed away) and never found another like her nor a machine like the PDP-11.

    • @CallousCoder
      @CallousCoder 26 днів тому +9

      Im sorry to hear your wife passed and relatively young it feels. She sounds like marvelous person. Cherish her memories i learned when my little brother died. Those memories of the good times are my most priced possessions and nobody can take those from me. And I’m sure that’s the same for you, hearing you speak about her like this - so loving and endearing.

    • @terryrogers6232
      @terryrogers6232 26 днів тому +3

      @@CallousCoder Thank you - Terry

    • @jgharston
      @jgharston 26 днів тому +4

      You mean there is actually a market for bare metal programmers? Where are the adverts?

    • @smiththers2
      @smiththers2 26 днів тому +3

      I'm sorry to hear of your loss.... I would be devastated if my wife passed before me..

    • @CallousCoder
      @CallousCoder 26 днів тому

      @@jgharston yeah I was wondering that too. Here in the Netherlands there’s no demand. The lowest you can get (and that’s getting harder and harder) is C++

  • @matambale
    @matambale 26 днів тому +11

    I remember writing PDP11 asm in college in the late 70s, and then soon on a Zilog chip - it took a while to get used to the DST, SRC sequencing on the Zilog/Intel chips, but it sure helped that MOV became LD.
    I have very fond memories of writing large projects in assembler, including debuggers, disassemblers, and assemblers. Can still remember the Z80 machine language bytes for a lot of the opcodes. I recall decoding what the CPU was executing by watching what bytes were being fetched on the logic analyzer. Converting hex to ASCII in my head. That was a grand time. Later, much work on 80x86/87, 68k and a whole lot of fun on the 56k DSP. The Moto chips brought back memories of PDP11 architecture.
    Loved this video. Got a little misty-eyed. Thank you for this, Dave. Just realized I was not subscribed! Fixed that.

    • @jgharston
      @jgharston 26 днів тому

      Zilog and Dec have the syntax the correct way around. Move *from* source *to* dest; load dest *with* source. As with Dav, I can't get my head around Intex syntax and it still hurts having to think about it when I'm reading code.

    • @ganswijk
      @ganswijk 26 днів тому +1

      @@jgharston'move' should move the data from the left operand to the right operand and 'load' from the right operand to the left one, I think. Btw. the assembler can easily reverse this from language to actual operation. And what should 'store' do? I think it should also move the data to the right operand.

  • @michaelkoehler7441
    @michaelkoehler7441 26 днів тому +12

    Thank you so much for bringing back some great memories and help sharing this knowledge out to the next generations!

  • @mandolinic
    @mandolinic 26 днів тому +15

    Niche? I spent two years doing exactly this on a PDP-11 - and getting paid for it. The PDP-11 was a dream to program and its instruction set was easy to learn and really well designed. Driving devices was easy if you could use polling (as in your example), but it was a lot more fun using interrupts. And once again the PDP-11 blew all its contemporaries out of the water, with a dedicated interrupt vector for each device type, and a multi-level interrupt priority scheme.
    A couple of years later, I had to do it all again with the Texas 9900 microprocessor, whose instruction set was clearly influenced by the PDP-11. That was also great fun.
    It is truly amazing just what you can do with just 8K of RAM and no operating system.

    • @markteague8889
      @markteague8889 26 днів тому +2

      Andrew Tanenbaum gave DEC an A for their design of the PDP11 / VAX architecture, Motorola a B for the 680x0 family, and Intel a C for the 80x86.

    • @mandolinic
      @mandolinic 26 днів тому

      @@markteague8889 I dread to think what he gave the appalling DG Nova and HP-1000 ;-)

    • @Loki-
      @Loki- 24 дні тому

      Yes, niche.

  • @tcpnetworks
    @tcpnetworks 26 днів тому +5

    Ex VAX and Novell Netware guy here. We wrote a Bindery syncing tool for our Netware system, ran on a VAX, to sync the user-accounts and passwords between domains. We would create accounts only in VMS, but inject the users credentials into each Novell Bindery every 10 minutes. The code was only 50-60 lines long and was blisteringly fast. Added more comprehensive error checking a little later on, but basically we had a 4000-user network running on 50 Netware servers, with unified accounts at all sites, with the integration making everything so nice.
    Windows NT Advanced Server and SQL changed all of that in 1995.. All went away...

  • @RevellingTerror
    @RevellingTerror 26 днів тому +7

    Great stuff, in the 80's I was an assembly programmer writing games released under Ocean, US Gold and AMSoft for 8 the bit micro computer market and as the 6502 & Z80 processors ran so slowly, it was vital to optimise the code to run as fast as possible... for example on the Z80, the SP took fewer clock cycles to PUSH data to memory than a LOAD to (HL) so the SP was hi-jacked to point to screen memory and graphics were "pushed" in reverse to the screen mem. Tying in with that exam question, as the SP had been appropriated, many subroutines were coded such that instead of RETuring to the calling code a return flag was loaded with an identifier and conditional jumps were used to load the PC to the specific next address of the calling PC location, denoted by the identifier (the next address after the "call" being labled for the compiler). Thus subroutines with no RET lol... Of course, with this approach careful attention was given to any possible recursion but Speed was of the essence!!! cheers🍻

  • @andreasrothmund9147
    @andreasrothmund9147 26 днів тому +5

    Well that does bring back memories! Learned how to program both in MACRO11 and FORTRAN IV on a PDP11/40 running RSX11M and have run my own PDP11/23+ and a PDT for many years. Thank you!

  • @RodCleaves
    @RodCleaves 26 днів тому +5

    Love it! I used to teach PDP 11/34 (and others) field engineers for DEC. Brings back a lot of fine memories. A good friend was the last RT11 engineer. We lived in Maynard, MA

  • @lorensims4846
    @lorensims4846 26 днів тому +16

    I call that JSR RTS question a "trick" question. Just because multiple JSR instructions may use the same RTS instruction DOESN'T mean that each JSR instruction doesn't require a RTS, they just don't each need Their OWN RTS instruction.

    • @sharpbends
      @sharpbends 26 днів тому +4

      RTS is not required if JSR is not intended to ever return, eg infinite loop or intentional HALT. That might leave something on the stack but in those circumstances it doesn't matter.

    • @a4d9
      @a4d9 26 днів тому +2

      There are cases where, for example, JSR is used to call an error handler, where JSR is used to automatically push the program counter to the stack, and where the error handler never returns to the program. (the error handler pops the address from the stack without RTS)

    • @lorensims4846
      @lorensims4846 26 днів тому

      @@sharpbends Wouldn't it make more sense to use something like a JMP instruction for that?

    • @sharpbends
      @sharpbends 26 днів тому

      ​@lorensims4846 Absolutely. RTS can still be achieved by stack and PC manipulation as well.

    • @phill6859
      @phill6859 26 днів тому +2

      ​@@a4d9that was one of my first thoughts too. And rop chains are rts without jsr. And you can put stack into rom and just use push/jsr to change the stack pointer, pop/rts will grab values from rom. I suspect that most teachers wouldn't comprehend these methods, but they would have taught students better what was going on in the CPU

  • @giorgiobarchiesi5003
    @giorgiobarchiesi5003 25 днів тому +4

    You might not believe me, but in 1978, my university had a PDP 11/34, and as a student I had some machine time available. I programmed in Fortran 77, mostly, but I remember I also ventured into assembly, after the professor had explained the register set and part of the instruction set. I still clearly remember the peculiar fact that R6 and R7 had that special meaning. Combined with indirect addressing, and autoincrement, this allowed some very nice tricks. It really was a wonderful architecture! Thank you so much for sending me back in time to those enthusiastic days!

  • @howardwilliams2587
    @howardwilliams2587 26 днів тому +6

    Thanks, these are great memories. We used the Xerox Sigma 9 (don't remember the model though) and my code of choice was METASYM (Meta-Symbol) the standard for Sigma 9. We wrote compilers using METASYM. What else was funny, the assembler I wrote was in Fortran 4 with University of Waterloo WATFOR and WATFIV. This was back in the early '70's. Magnificent memories. Thanks so much for sharing.

  • @kmtabq617
    @kmtabq617 26 днів тому +5

    This brought back a bunch of fond memories, Dave. The first minicomputer I worked on was from Data General and was delivered without an operating system back in the early 70s. Assembly language was our only option. In the 80s, I did a lot of direct hardware interaction using assembly language on embedded systems using 80x86 processors. It took a lot longer to develop programs than using high level languages, but we knew exactly what was going on in the hardware. Since our focus was on authenticating the system's operation, that was important. Some of that code I developed is still in use 40 years after I wrote it.

  • @user-dz7qm7zu2k
    @user-dz7qm7zu2k 26 днів тому +20

    The best one yet, this puts a huge smile on my face. I worked at DEC in the Galway plant in Ireland building PDP 8’s and then PDP 11’s. Lots of assembly in diagnostics, and we had to start using binary (012737…) entered through the front console before the machine could do anything. Yes, the switches and the lights! We would create short loops to exercise a fault area, like a stuck bit, so that we could stick a scope on a clock/enable signal and see what was going on. Those were happy days. Thank you for this piece of nostalgia, it’s been 40 years. Subscribed.

    • @cdr-sailor
      @cdr-sailor 25 днів тому +2

      I worked at the Augusta, Maine plant as a tech where we made various comm devices, including the early generations of Ethernet interfaces for PDP-11s and VAX Systems. First class I took on being hired was PDP-11 machine language.

  • @wernerdittmann7579
    @wernerdittmann7579 26 днів тому +9

    Most programmer today often do not know that C was influenced by the PDP-11 assembler and its various ways to address memory. In C it was called 'pointers'. So if someone knew PDP-11 assembler, learning C was just straight forward. Direct addresses, indirect addresses (aka pointers in C), post-increment, pre-decrement etc

    • @NoBody-xg1wg
      @NoBody-xg1wg 22 дні тому

      I remember using the original Kernihan and Ritchie "C' book.

    • @janmichael1262
      @janmichael1262 12 днів тому

      Still have it lol

    • @janmichael1262
      @janmichael1262 12 днів тому

      C was initialy described to me by one of the early programmers as a portable PDP11 assembler

  • @하와이안파인애플피자
    @하와이안파인애플피자 11 днів тому +1

    These assembly instructions really intrigues me, and makes me understand more about how computer executes code. Hope you make more of these❤❤

  • @flooooooooooooooooo
    @flooooooooooooooooo 20 днів тому +3

    A lot of people here say they learned to program in the 1970s, but I am learning to program now and these videos are very insightful for seeing how computers evolved. thanks

  • @jakebrodskype
    @jakebrodskype 26 днів тому +3

    I worked on later models of the PDP-11, the LSI-11/23 with RT-11, and later the MicroPDP-11/73, using RSX-11M+. The operating systems were very well organized and the processors were designed for good software.
    One of the interesting things is that the interrupt process was significantly slower than polled hardware. So when doing data acquisition, I elected to poll the hardware instead attempting to process interrupts. This made foreground/background processing in RT-11 work very well for me. So those of you who are wondering why Dave didn't use interrupts for I/O there was a good reason: Not only was it simpler, it was FASTER.

  • @gerrykavanagh
    @gerrykavanagh 26 днів тому +4

    Loving this series of videos. Back in the day, you would see the words “Maynard, Massachusetts” on the vast majority of PDP front panels. Very occasionally, you’d see “Galway, Ireland”. As a native of Galway, I have always had a fondness for DEC and their wonderful hardware and OSes, particularly VMS and the glorious VAX.

    • @petergibson2318
      @petergibson2318 26 днів тому +1

      DEC in Galway donated a PDP-11 to Galway Regional Technical College where I first used it as a student in 1977.

    • @gerrykavanagh
      @gerrykavanagh 26 днів тому

      ​@petergibson2318 in 1983 or '84 they connected all the secondary schools in the city to a VAX 11/780. Donated a bunch of VT100s and venerable VT52s and some miltiplexors to each school. It gave us kids a taste of 'real computers' when everyone else was playing with Spectrums and VIC20s. Fond memories. ​@@petergibson2318

  • @AlanEvans789
    @AlanEvans789 26 днів тому +3

    During my Royal Air Force trade training as an air defence radar technician in 1984 my course was the first in my trade to do the "Digital" course as part of initial trade training. It was something like six weeks in the summer of 1984. As part of that course we had to do an introduction to programming using assembler on a PDP11/??. We also had to cover programming on a 6502 with just a hex key pad and a bunch of seven segment LEDs. This was on a board called an EMMA, which allowed you to add boards to do stuff like program a set of traffic lights. Never went near a computer again during my nine years in the RAF. Spent lots of time in a world where we mixed analogue and digital hardware techniques while processing the returned signals for the radar. Given of course that were were using a "pulse" radar.

    • @ximalas
      @ximalas 24 дні тому

      Yay! I was subjected to EMMA as a sophomore in high school in Norway almost 30 years ago.

  • @agosto1685
    @agosto1685 26 днів тому +3

    Great stuff, Dave! Really triggered my recollections from the seventies using PDP 11 equipment.
    I got my first taste of programming in college back in '76 on the RSTS 11 system on our school's PDP 11/40. My roommate got me started learning BASIC. Not long after, as a BSEE student, I got access to the the EE department's computer lab (not much more than a closet, but it had a rack mounted PDP 11/10) where I fumbled my way through the documentation for booting the 11/10.
    I wasn't taking any CS classes and had to figure things out alone. I toggled in my first machine code program using the switches on the front panel. That program sent a single character to the hardware register for the system console terminal, an old ASR 33 teletype. When it sprang to life and printed "A" I got excited. I needed to make a loop to print more characters.
    I got stuck trying to figure out how to branch backward and searched the manuals for a clue. That's how I learned about two's complement arithmetic and got my conditional branch to loop back. I tried sending more characters to the ASR 33. It didn't work reliably because I was overrunning the printer's ability to keep up. I figured out that I needed a delay and made one that worked, but was uncomfortable that it wouldn't be reliable and that I needed some kind of of feedback from the hardware.
    Along about this time, I started wondering why there wasn't an easier way to have the computer do this calculation for me (didn't know about assemblers but saw intriguing references to the mnemonics and labels in the manual). More digging and I discovered that there was an assembler available in the rack of paper tapes in the lab. I had to toggle in the insctructions for the boot loader, which in turn allowed the Absolute Loader to be read in from paper tape, destroying the boot loader in the process.
    Finally, I got the macro assembler loaded and was able to experiment with assembly language. I spent many hours reading everything I could find and experimenting. This gave me a firm underpinning for understanding computers and laid the groundwork for my entire career as a BSEE specializing in digital electronics and microcomputing.

  • @lorensims4846
    @lorensims4846 26 днів тому +4

    I'm used to "big iron" referring to mainframe computers.
    A venerable minicomputer like this might have been referred to as "medium iron."
    I started programming in Assembler using punch cards on an IBM 370 clone by Burroughs in 1980.
    In '81 I decided I needed to learn BASIC so I took a class to learn Microsoft BASIC on an Ohio Scientific minicomputer. Considering that, contrary to my Assembler professor's opinion, microcomputers were becoming a "thing," those all ran some version of BASIC.
    But I understood that Assembly Language was really where it was at.

  • @gottfriedheumesser1994
    @gottfriedheumesser1994 26 днів тому +9

    Thank you Dave as this reminds me of the first 15 years of my work after finishing the university. We did logging and automating industrial plants, mainly in electric power generation and distribution. In 1975 we made the first high-voltage switchyard automation running on a pdp-11/10. I was the first and only European user of Dave Cutler's RSX-11A kernel. Later, it was migrated to RSX-11M/S and implemented in over 50 substations. The last one was replaced in 1999 because people feared the millennium bug. The switching control program became quite long, with about 2k words of assembly code. For pure binary decisions assembly coding was much more proper than higher languages (we used FORTRAN at this time). We said one can write pdp-11 assembler code even while traveling with a train or streetcar.

    • @unixtohack
      @unixtohack 26 днів тому

      Did you know anyting about the Ferranti Proces Computer with real IO-cards inside. I forgot which OS is was running ...

  • @iAmTaki
    @iAmTaki 18 годин тому

    I'm 20 year old game developer, I mostly write C++ and C# code, so this kind of thing fascinates me. I love your videos, thanks for teaching us so much!

  • @eskwadrat
    @eskwadrat 25 днів тому +1

    Programming bare metal since late 80's with 8086 and 8051, I suddenly feel I need the PDP. The assembly is so similar, and I can live with mov from,to syntax. Thank you for this video.

  • @jamesgazin9447
    @jamesgazin9447 26 днів тому +2

    Reminds me of the 1401! My first computer job was programming and operating a computer that was only one year younger than I was. Autocoder also used the more rational from/to method to move data. Every assembler I've coded in since uses to/from and I've never really understood why.
    When my company finally switched to an HP/3000, I salvaged some things: A core storage unit from a 1403 line printer, some random 1401 blade cards and manuals for both the 1401 system and Autocoder language.
    Life was so much simpler then. with no operating system, punched cards, and a physical Bit-Bucket I had to dump at the end of my shift.
    Remember Coding Sheets -- and the maxim, "Real programmers code in INK"?

    • @rty1955
      @rty1955 26 днів тому

      I still jave my COBOL and ASSEMBLER coding sheets. I began on 407 accounting machine doing plugboard wiring then a 1401, onto 360/30, 370/138, 4300 series [4331, 4341, 4361, 4381] Then to 3090, Amdahl 5880 and s/390.
      I was a systems programmer on all those machines, wrote millions of line of assembly code. I get a kick out of people calling ANY PDP computer "big iron"'
      I am well versed in 13 languages, but my fav is assembly on REAL big iron where there is no silly stack pointer and other silly things

  • @GHHodges
    @GHHodges 27 днів тому +13

    Roy, Gary and Roe sang some great tunes as well!

    • @bama21
      @bama21 26 днів тому +2

      He had to use pic of CCR by accident right?

  • @heslop1brian
    @heslop1brian 10 днів тому

    Brings back memories of 37 years ago. Writing custom boot code for process control system loading. Very satisfying loading memory management and not mapping the code out. Daunting at first a completely bare machine,band then only your code running.

  • @arsnakehert
    @arsnakehert 8 днів тому

    At my former university in Brazil we still do our computer architecture courses based on a series of increasingly complex architectures created by one of our professors, but based on simplified versions of historical architectures; one of them is "Cesar" which is inspired by the PDP-11, including its assembly language
    One of our assignments actually involved using timer interrupts or something like that to read input from the keyboard and write bytes directly into addresses mapped to a simulated LCD screen
    So seeing PDP-11 code actually brings me back, despite never having seen one in my life and not being old enough to be around during the heyday of these computers

  • @lavy9740
    @lavy9740 5 днів тому

    Ohh man. I'm an ECE and I love working as close to the silicon as I can. Seeing stuff like this makes me wish I was born in the 60s but it also gives me a real appreciation for all the abstract goodies we have today. Really hoping my son takes an interest in computation and electronics, I would love to be a dad that shares his knowledge with the patience and passion that you have.
    Ur freaking cool Dave.

  • @Belznis
    @Belznis 26 днів тому +1

    A mate of mine always used to say how sad it is that the basics and the beginning is forgotten. Now people can use the things they got, but what if all that fails, the old things are lost. I think he had a good thought here and that is why I enjoy videos like these even not understanding everything. WiseG you did have a good thought there.

  • @n5pa
    @n5pa 23 дні тому

    I started my IT career on an IBM 360/20 card system using Assembly Language. As my time on Mainframes grew I got into COBOL and PL1. Later on I had a PDP 11/70 in my office when we were porting to some new software. As time went on we grew into an IBM 370/195 and its follow on systems. My path led to systems like Cray, Burroughs, Univac, Unisys, and several IBM Midrange Computers from IBM 32 to 38’s and AS400’s. My last 25 years were mainly spent on very large Linux Systems with Terabytes of memory and Petabytes of SSD, running Oracle Databases and E-Business Suite. But up to my retirement day I was still using Assembly Language to interface a multitude of varying hardware back to Oracle! Even though we used a lot of C and other languages, I always had Assembly to fall back on. Keep up the good work Dave!

  • @JoeBurnett
    @JoeBurnett 25 днів тому +2

    I look forward to every new video you publish! Great stuff!

  • @swaroopsahoo214
    @swaroopsahoo214 7 днів тому

    Just FANtastic. So much i’ve learnt from you than today’s modern cs profs.

  • @frankj.hoffmann7030
    @frankj.hoffmann7030 16 днів тому +1

    Great stuff as usual, Dave. Much appreciated content!!! Greetings from across the pond.

  • @donjaksa4071
    @donjaksa4071 8 днів тому

    I wrote 6800 and 6809 assembly language professionally for 10 years. We wrote everything from the real-time-multi-tasking-interrupt driven operating system. From reset vector to the power-down non-maskable interrupt driver.
    This was before windows and the internet. Talk about a sound foundation.
    40 years in the business

  • @JT-kz7kq
    @JT-kz7kq 7 днів тому +1

    For those of us lesser mortals who don't have a physical PDP, there is simh (simh.trailing-edge) and the software kits for RSTS/E and RT11. These provide a simulation of physical computers. There are also ones for PDP-10 (Tops 10/20), HP (TSB) etc.
    PDP-11 assembler was the first assembler I used. I thought it was great. I did a lot of PDP-11 assembler programming in the 1970's and 1980's. I also used the 68000/68020 which were fine. Then I came to the 8086/80286/80386 et al. Oh dear. What's with ptr, offset and operands from right to left?? Can names be named for who came up with notation for MASM?
    Great videos. Keep up the good work!

  • @schmidt28117
    @schmidt28117 26 днів тому +1

    I agree with the great video and great memories. The PDP-11 and RSX were a great pair. I implemented many industrial process control systems in either Macro or Fortran , using memory mapping over the I/O page and then inputting / outputting directly to the device registers. I also love the comments section of the macro programs. I did 10's if not 1000's of "sysgens" that configured the operating system for the machine I was using. We had the whole source code of RSX on the disk. Things like looking at the module of RSX where it tried to dig it's way out of a stack issue, if it failed it went to address "Crash", where there was a HALT instruction, with the comment "Die Horribly" .

  • @NathanielMishkin
    @NathanielMishkin 7 днів тому

    In the computer architecture class I took in the mid 1970s I had to write a PDP-11 emulator in IBM 360 assembly language. It was a great educational experience-I learned two machine architectures at the same time!

  • @carisma-uk
    @carisma-uk 11 днів тому

    Thank you for sharing this Dave, I spent about 4 years writing Assembler on PDP 11/23 and the 11/73 on RSX11S so this is a great blast from the past

  • @dannyepstein
    @dannyepstein 22 дні тому

    For your next video, I recommend getting even closer to the metal: machine language. The PDP-11 instruction set is quite elegant, particularly when you use octal. For example, 011507 is MOV (R5), R7 with 01 specifying the MOV instruction, 15 specifying deferred addressing for register 5, and 07 specifying direct addressing for register 7.
    I was pleasantly surprised when I found out that one of my courses in the late 80's was taught on a PDP-11. I enjoyed it a lot. I remember going back to the building where it was taught a year or two later, only to discover that the PDP-11 had been moved to the stairwell and now had a placard describing it as the museum piece it was! An elegant computer for a more civilized age.

  • @sqlsmarty4325
    @sqlsmarty4325 7 днів тому

    Great look into retro coding in assembler! Enjoy these trips down memory lane! 😎👍

  • @judirollings3959
    @judirollings3959 7 днів тому

    So much fun! I wrote PDP-8 and PDP-11 code in college and Data General NOVA assembler in early jobs. Then on to VAX/VMS writing special purpose drivers for material handling systems. Proprietary protocols for distributed controllers. No email in those days!

  • @lohikarhu734
    @lohikarhu734 26 днів тому

    My first introduction to "software" was a course about microcomputers, but the instructor used the PDP 11/05 schematics to illustrate how a "computer" worked, right down to the gate level... It gave me a "Eureka moment" to realize that "software" was a means to get the hardware to be re-configured, on the fly, to perform a sequence of operations that performed the desired movement and math operations on individual high/low 'bits', and on "words".... Suddenly, it made sense!
    And, we wrote a boot loader, which actually resulted in something, in the real world, doing something visible, with a big old KSR-33 suddenly clattering away! Talk about "bare metal", seeing 74xx logic devices shifting high/low signals around on data and address lines, multiplexers redirecting signals, ALU's adding and subtracting, all controlled by "instructions" that had specific bits to control what/where/how this all happened! Then, the MC68000 assembly code was clear!!

  • @ian-nz-2000
    @ian-nz-2000 26 днів тому +2

    Great memories! Back in the early 80s, I attended a DEC PDP-11 assembler programming course that had us writing machine code before we could use the assembler. I still have the workbooks 😀 Fun times.

  • @avatarcowboy2435
    @avatarcowboy2435 25 днів тому

    My first job after graduation involved programming in Fortran on a PDP11/34. Removable storage at the time consisted of 14" diameter 1Mb disks.
    I shared this computer with two other software engineers. Every so often I had to run a large simulation. Had to arrange with the other two engineers to tie up the PDP11/34 for an entire week!

  • @ronbackus1229
    @ronbackus1229 26 днів тому +2

    Memories, my first CS class was Fortran WATFOR / WATFIV on a UNIVAC 1100 using punch cards and line printer output.
    The first code I got paid for was 6502 assembler. Nothing since has been as satisfying.

  • @mst14160
    @mst14160 26 днів тому +3

    Lots of memories there. I started UofR in 1979. Used a dec pdp 11, to write my first code. The machine was actually in the computer lab with us, but we had only a teletype writer to code on. Never forget when I got something to run rather than spitting out error messages on rims of 36 inch folding printer paper. At least it was better than the punch cards for the IBM assembly language I would write a year later. We have come a long way.

  • @kurttosczak8544
    @kurttosczak8544 25 днів тому

    The mini that the college was running on when I got my computer degree was the PDP-11/70 (released in 1975. 1 years before the 11/34). I learned a whole raft of languages on that computer, including assembly. You are bringing lots of memories back to me.

  • @ah244895
    @ah244895 26 днів тому +3

    I remember learning assembly on a DEC10 back in the mid 1980's. When computers were computers.

  • @ViniciusSoaresBatista
    @ViniciusSoaresBatista 25 днів тому

    This is so beautiful. Thanks for your hard work creating and sharing

  • @ModusPonenz
    @ModusPonenz 23 дні тому

    Seeing that shelf of orange binders brings back memories. I recall getting sets of errata manual pages with the new version of the OS. Starting with the first binder, replace pages 7,8 with pages 7a, 8a, 8b. Sometimes just a page or two per chapter. Sometimes whole chapters were dropped and replaced with a new chapter. Keep repeating until all the relevant pages were replaced. And we actually referred to the manuals often and needed them kept up-to-date.

  • @rjy8960
    @rjy8960 26 днів тому +1

    I have always loved coding in assembly because I had total control over the CPU in those days. I cut my teeth on it as a kid with various MCU's - 6800, 8085, Z80...
    My formative commercial years were on bare metal and very constrained single processor embedded microcontroller systems before the PIC's and similar arrived . I spent YEARS developing code for a Hitachi H400 4-bit microcontroller on a 4.77MHz PC development system using using Word Perfect as an editor (RIP Bruce Bastian) native Hitachi tools, programming to a UV reprogrammable part with broken legs (they were expensive) and crash and burn, bringing out test pins to unused I/O as traps. Code ran into hundreds of pages and I came up with my own bottom-up coding methodology that worked at the time and at the higher level of the programme the systems became almost high level configurable although with some faff.
    Happy days.

  • @SuperKidgib
    @SuperKidgib 26 днів тому +1

    That was great Dave,, thanks! I learned assembly on a pdp-8 and did a little pdp-11 assembly. I was a professional ibm 360 programmer for many years. In a lot of ways assembly is like an exact science.

  • @mahtin
    @mahtin 25 днів тому

    1975 was my first year PDP11 coding on DOS11 and then RT11. (I still have my DECtape from that year). I continued coding in MACRO11 for many many years. Thanks for bring back the memories!

  • @consultingengineer5593
    @consultingengineer5593 26 днів тому +2

    From an OLD Dec man. I loved your screen flash: "OCTAL DAMN IT"

    • @trail.blazer
      @trail.blazer 26 днів тому

      I actually shouted it before the flash showed. I did a lot of MACRO11 and whilst I haven't used it for a very long time, I suspect I might remember quite a lot about it.

  • @SteeleDynamics
    @SteeleDynamics 26 днів тому

    This is gorgeous! I love how the post-increment instruction has a direct mapping to C's post increment!
    Keep up the great work, Dave!

  • @RobertM125
    @RobertM125 26 днів тому +6

    It's just crazy to think how far we have come with the colorful and type ahead predictions of Visual Studio. Thank you for this awesome look back in time.

  • @davidwilliss5555
    @davidwilliss5555 26 днів тому +2

    I used to do that sine wave BASIC in the 70s too. I was an Apple fan at the time so I'd go into Radio Shack and enter that code but have it scroll "TRS-80 Sucks" over and over.

  • @willynebula6193
    @willynebula6193 26 днів тому +1

    I couldn't click fast enough Dave.
    Thank you for making awesome videos on assembly!

  • @DougKnowles76
    @DougKnowles76 26 днів тому

    In my first job out of college, I worked with several PDP-11s, including the earliest model (eventually called the 11/20, but this machine had no model designation on the front panel). It was equipped with a (removable) disk drive but booting required hand-loading the boot loaded into memory via the binary switched on the console (about 20-30 instructions, IIRC). Talk about bare metal...
    I also loved the instruction set. It was so rational, most of my co-workers and I could manually disassemble an octal dump of code. My company also performed some magic leveraging the PDP-11's Unibus architecture, which was also exciting to work with.
    I later moved on to the Motorola 68000, which had a similarly "orthogonal" instruction set and some advantages (more and larger registers), but was not as simple and pure as the PDP-11.
    Thanks for the memories!

  • @lborate3543
    @lborate3543 26 днів тому

    I've learned so much about modern coding from these videos! So cool, thanks Dave!

  • @andrewcrompton3444
    @andrewcrompton3444 25 днів тому

    Oh yes! My - actually my lab's - first computer was a PDP11 running RSX11-M back in the 1980s. We were trying to do speech IO in real time, a hugely demanding task in those days. We enlisted the help of a friend of mine called Adrian. who was an RSX-11 system programmer - bow down and make homage, please: these guys were gods!
    Adrian had his own PDP11, which lived in his front room (he was single, so where else would it live?). With Dave's PDP11, it looks like you just press a few switches and the machine comes up - luxury. Adrian's PDP was not so advanced and initially required a lot of manual intervention to get it to boot up. Eventually, though, he bought a boot board for it. This was a card, about 20 x 25cm, with an array, about 8 x 10, of locations, which you slotted into the machine's back-plane. In some slots a big capacitor had been soldered in. In other slots there was no capacitor. (Or maybe they were resistors.)
    When the PDP started up using this boot board, it read the presence or absence of a capacitor in a slot as a 1 or a 0 and used a complete row of 8 slots to form 1 byte. The 10 or so bytes hard-coded on the board defined some machine code, which told the computer where to find the OS on disk and how to start it up.
    A beautiful illustration of hardware as software.

  • @baronvonschnellenstein2811
    @baronvonschnellenstein2811 26 днів тому

    Now we're talking! Yes, more of this please, Dave.
    Appreciated the preamble (including the dudes using a PDP to cross-assemble to a C64, rofl) before you broke out the "big pants" and dived into the assembly coding. 👍

  • @MorrisTart
    @MorrisTart 25 днів тому

    Fabulous. I used to keep my PDP-11 pocket coding quick reference card with me at all times. I'm sure that I still have it somewhere. The instruction set was elegant and logical.

  • @JimRoberts
    @JimRoberts 26 днів тому

    That brought back memories. As a self taught programmer it did push me to write assembly code for a obsolete language (RPL) for the PICK OS for Dec and Microdata
    ‘Mini’ machines in the late 80’s early 90’s fun times

  • @jeffolson4731
    @jeffolson4731 26 днів тому +2

    I am glad you are doing this series. The PDP-11 was a fun machine. Though, I only ever had the emulator that ran in a PC on an FAA certified flight simulator. By the time I got there the hardware had been replaced.
    I do have some real old hardware experience though. I am not much older than you but I started at a small flight simulator training company in 1986 and had a simulator that had see a DDP-124 for the host and a Varian 620/L for the visual. Both used paper tape and I assure you, pranks were pulled with the bits that were punched out.
    I rather miss programming in Assembly or just punching in a quick program for diagnostics using the data and register switches on the front panel.

  • @AreTwo2
    @AreTwo2 26 днів тому

    Thanks Dave. Love your work. My "bare metal" in 1966 was an IBM 1620 M1 with an 80 col card reader. Great to learn on as it operated in decimal, and no bootsrap as it had a "Load" button (read card image into pos 0 and branched there). It had no registers, just storage to storage commands (well one for a sub call to store return address). Then we got a 360 so I had to learn hex and operating systems.

  • @j1952d
    @j1952d 26 днів тому

    Early in my career, I programmed an 11/23 (I think - it was called an LSI 11, and defo had a Q-bus) to control and reconstruct images from an isotope emission tomographic medical scanner. Didn't have a compiler or assembler 9or OS), so I hand-wrote the assembly code and hand-assembled it into machine code. Only storage was a 4K core board, It also had 16K of RAM. HIDs were a VT52 and a DD teletype/tape punch (punch/reader was unreliable). I installed/commissioned scanners in the UK, France, Germany, Switzerland and Japan. Company went bust when gamma cameras were found to be better and cheaper.

  • @tomcolby3052
    @tomcolby3052 26 днів тому

    I spent lots of hours in high school on a PDP 11/34. Only BASIC programming, but learned a lot. Nice to see that some machines still live.

  • @otsu2cob
    @otsu2cob 26 днів тому

    Reminded me of working on the Univac CP-890-UYK on Strategic Submarines in my young Sailor days. Cheers and thanks Dave.

  • @johngoodspeed3585
    @johngoodspeed3585 26 днів тому

    Dave, love your channel and subjects, I started out in the 70's on an IBM 1130, a PDP 11/40 and then on to the Intel 8008 and 8080. Keep up the great work!

  • @julianpalmer4674
    @julianpalmer4674 26 днів тому

    My first forray into computers was Commadore 64's /Sinclair etc then Apricots and Amstrads, then the full MS-DOS and Windows suites, but this takes me back to when I taught myself assember programming for Microchip RISC devices, that you needed to UV erase each time before reprogramming. It's amazing how similar the commands are.

  • @ronosmo
    @ronosmo 26 днів тому

    I started with programming on the canon sx300 in 1975. We wrote programs for accountants. Each accountant would design his own chart of accounts, and my job was to punch in the text for those 300 accounts. So tedious! Our leaders were comp-sci students at uni. I was 20 and a uni dropout. But i had reasonable maths skills and had a job operating an ibm 360 at nights. I hated operating that beast. For some reason i liked programming! I graduated to our new platform, which was a pdp11 with a teletype console, twin 8 inch floppies, typically 16k of memory and running RT11. The left hand or a: drive contained all our programs and the accountant's client list, while the b: drive held a single client's data. My first task was to write a utility in macro-11 to verify the integrity of the client data and recover as much as possible if corrupted. The others were busy manually fixing client data disks as someone had fooled with the buffered write (bwrite from clib) and forgot that sometimes users would create odd numbers of transactions and all our testing was done with simple debits & credits. Such were the good, bad and ugly of computing in the 70s...

  • @rjsmall23
    @rjsmall23 23 дні тому

    Fascinating episode. Took me back to assembly coding in university using MASM.

  • @PCBcarlson
    @PCBcarlson 22 дні тому

    Brought back memories of asm coding a PDP-9 18-bit machine storing five 7-bit characters per two 18-bit words. KSR-33 terminal quickly replaced with a Tektronics tube. Load everything from paper tape, store to mag tape, not DECtape. Core memory 16kwords. Used it for four years until a PDP-11/45 showed up. Thanks, Dave

  • @LexSijtsma2
    @LexSijtsma2 26 днів тому

    Thanks Dave, this is very nice to see. It reminds me of my early years in programming in the 70ties. I started with Z80 assembly language on a Sinclair ZX80 with 1 Kb of RAM.

  • @jamesbond_007
    @jamesbond_007 25 днів тому +2

    I'm in agreement about the beauty both the PDP-11 instruction set and the 68xxx instruction set. Very clean, very easy to use. No real surprises when coding at that level.

    • @NathanielMishkin
      @NathanielMishkin 7 днів тому +1

      +1. The first two instruction sets I learned were for the IBM 360 and the PDP-11 (writing an emulator for the latter in the former for a course). A little later I learned the 68000 ISP which was an easy follow on to those. Eventually I encountered the x86 architecture and I’m like what? Address calculation isis done how? Fortunately I rarely had to dive down to that level when programming for x86 boxes.

    • @jamesbond_007
      @jamesbond_007 5 днів тому

      @@NathanielMishkin Interesting. The 360 instruction set with it's (I think) segmented architecture has made me think that it was an inspiration for the x86 architecture. I had to learn a superset of the 360 instruction set for an avionics processor called an AP-101C, which is like what flew originally in the shuttle, and is like the 360 instruction set, but has specific instructions for doing trig operations.

    • @NathanielMishkin
      @NathanielMishkin 5 днів тому

      Ah, no on your inspiration point (at least not for ground-based 360 CPUs :-). No segmentation. If anything it was the 68000 instruction set that was inspired by the 360.

  • @howardgraff4084
    @howardgraff4084 26 днів тому

    I used two PDP/11s (an 11/20 I think acting as a FEP for an 11/70) during my Computer Science course at Manchester University in the UK starting in 1979. I remember using assembler code to program an attached Calcomp plotter to output text - my code directed the calcomp how to draw each letter and this was then tested with an input string. It was very cool. Those were fun days. How times have changed. Thanks for your video.

  • @victrolaman2007
    @victrolaman2007 26 днів тому

    Wow, I was working at DEC back in 1979 as circuit pack repair technician for the RL01/2 disk drive while I was in college. I had to be able to control the drive at the register level and hand wrote many PDP11 assembly language routines to be able to control the hardware at the bit level. This past year I was going through old papers and came across my DEC PDP11 programmers reference pocket guide. Programing at the assembly level was a lot of fun and, back in those days, it opened a world of imagination of what was to come. Thanks for the memories, and keep them coming!

  • @jimmeade2976
    @jimmeade2976 26 днів тому

    Dave, you're really bringing back memories. Though most of the rail control system code we ran on our PDP was in FORTRAN, we did use assembler for important operations like resource locking between tasks, time-critical I/O, and code that needed to be re-entrant. That was circa 1990-1994, about 30 years ago. Thanks for the memories.

  • @Raudora
    @Raudora 26 днів тому

    Thank you Dave, for sharing your knowledge! I'm too young to have had the privilege to work on machines like these yet I'm deeply intrigued by coding & computing with much of the abstractions torn away. Practical examples shown in such a simple manner are extremely helpful.

  • @engineer6250
    @engineer6250 26 днів тому

    My first exposure to computers was a PDP-11/33 which I played Adventure on. That was 1978. From there I went to a print shop in my first job and eventually got a job working on a Wang VS77, but that was eventually replaced with a Prime system running Pick OS. I left that job in 78 and ended up on an IBM MVS XA course, then got a job running an MVS system (I thought), but in traditional was running CICS on a System 38. Once I left there I went to work for a Gas company, running MVS and also an interesting ICL2966 running George3.
    Then it was all PCs. It seems like a lifetime ago….

  • @MadMathMike
    @MadMathMike 26 днів тому +1

    Reliving that failed exam question is something I identify with very strongly. 😅

  • @grahamkwalmsley
    @grahamkwalmsley 23 дні тому

    A blast from the past. I started off my IT career on the PDP-11

  • @PaulGeffen
    @PaulGeffen 25 днів тому

    This brings back great memories from the Digital (Equipment) days. My first personal computer was a PDP-8/e in 1972. We had one in our basement and wrote programs for stock brokers in BASIC. I also built a hardware interface to an external tape drive for it. Much simpler than your PDP-11/34, I know, but definitely bare metal. Thanks for keeping this legacy alive and running.

  • @joelyoungcbi
    @joelyoungcbi 25 днів тому

    I can't express how much I enjoy your videos. I know quite a bit about computers and computing, but not as deep as I'd like. I know enough to understand 95% of what you talk about, and the other 5% I can figure out from the context.
    But yeah, I'm a geek, and I love hearing your stories and explanations, and learning or refreshing my memory with it all. Thanks, Dave!

  • @ariella4063
    @ariella4063 25 днів тому

    I love learning how it was done in the old day, Please keep making more videos.