ความคิดเห็น •

  • @donjohnson24
    @donjohnson24 4 ปีที่แล้ว +346

    Around 1980, I soldered together the COMPUKIT UK 101 to make my first computer and taught myself BASIC. Coincidentally, I was thinking about this recently, but at nearly 80 years old, I couldn't remember how I did machine code programming - and now I know! You mentioned the difficulties of using a line editor, and the one that made me swear was the fact that you could write sub-routines and manually calculate the jump to get there, but if you changed the earlier lines, all the jumps had to be redone. I did eventually get an assembler, but by then I had run out of ideas of things to do on the 6502. Pre-assembler, I coded the game 'rhino' ( a heart symbol being chased around a crossword-type layout) in machine code, and it took me many long nights until 4 a.m. to get it to work. How wonderfully easy it would have seemed with assembler. When my version of rhino did actually run, I then had to put in loads of loops to SLOW IT DOWN 'cos it was ridiculously speedier than the BASIC version. Thanks for this reminder of days gone by.

    • @mrsillywalk
      @mrsillywalk 4 ปีที่แล้ว +3

      I was on the Atmos and a Spectrum. They taught me more maths than i learnt at school.

    • @warrax111
      @warrax111 4 ปีที่แล้ว +6

      +Don Johnson24 Very interesting story, Don. Thank you, for sharing it. 80's were unique decade, music, movies, and growing computer industry, when only nerds understood it. I love it , I was 90's kid. It has to be very hard to programm in that time. Anyway, I've wrote few programs in BASIC, the longest had 5000 lines, so I understand little bit from it, but I've programmed under DOS with QBASIC of course, in 90's, so I've missed that era of pre-PC 286-486 computers. Anyway, I love to understand those feelings, how people had it in 80's and 70's with computers.

    • @TeaLeavesProgramming
      @TeaLeavesProgramming 4 ปีที่แล้ว +18

      Lovely story - thank you for sharing!

    • @5Gazto
      @5Gazto 4 ปีที่แล้ว

      Brilliant!

    • @garychap8384
      @garychap8384 4 ปีที่แล้ว +19

      Oh God, I remember hand assembling. I used to call to a jumptable of jump instructions that pointed to routines... then I learned how to hand assemble indirect addressing instructions and started to use a proper call-table.
      Back then I was 14 and skipping school to hang out in the University library... I managed to steal credentials on their Prime minicomputer (there were dumb terminals in the library and I made a little box to switch terminal lines to steal a session - and I used that session to create a fake login that printed credentials to the library printer). Armed with about 20 user credentials I wrote routines to watch people logging in and out around the building using a who command and a script - and I went around getting terminal ID's and mapping them to locations... just in case I was using a users account and they were sitting at the same table : /
      Later, I got caught and instead of getting into trouble, I was shown around the Prime, asked clever questions, and when they realised I was actually just super-curious I was given the username 'gary' on their system ... making me the only person not on the computing staff to have their name as a username. It was set never to expire ... they also gave me a library card : ) I just had to promise not to skip school and only use the services in the evenings and weekends.
      I spent my time helping adults with their 1st year computing homework : ))))
      After getting into trouble at school, the headmaster marveled at my unusual idea of truancy and permitted me a day-release to spend one schoolday per week at the university or doing my own thing... as long as I knuckled down the rest of the time.
      So, I'd hang out in lecture halls reading adult books on high level languages, digital electronics and telecoms - whilst classes would file in and out - listening to lectures on sociology, psychology, computing, engineering, math ... it was awesome. It was amazing not to be chased away. They didn't care who sat in on lectures... you could get a free education and nobody looked down on you for being young.
      Being treat as an adult made SO much difference to my education.
      I still occasionally code sections in ASM today, although I'm more of a C, Verilog, VHDL and HLSL/GLSL guy. I haven't hand-assembled in about 35 years... but I go sometimes get into 'Magic' and hand-draw machines in silicon for the MOSIS process, laying down N and P-doped wells, polysilicon and metal layers... simulating, doing the timing and heat closures. I guess that's a little like hand-assembly.
      My idea of fun has always been a little twisted : )))
      5 years ago I got an adult ASD diagnosis - it turns out I am autistic, which probably explains a lot XD
      Big love to anyone who ever took the time to learn to hand assemble.
      And thank you to Don for bringing back those memories of an awkward young me, sitting on the floor surrounded by pages and pages of quadrille paper, where I sat cracking away at bitfields and generating strings of MC to try the next day.

  • @GS-oj1zk
    @GS-oj1zk 4 ปีที่แล้ว +747

    Are all IT related people getting this recommended or is it just me?

    • @starplushtv2185
      @starplushtv2185 4 ปีที่แล้ว +11

      Nope, not just you lol

    • @crylia8666
      @crylia8666 4 ปีที่แล้ว +1

      Every one is lol

    • @simonhansen5038
      @simonhansen5038 4 ปีที่แล้ว +4

      All IT related people. Targeting individuals with recommendations would be unethical.

    • @SrIgort
      @SrIgort 4 ปีที่แล้ว

      Lol

    • @love.ly.
      @love.ly. 4 ปีที่แล้ว

      Yeah

  • @starburstdragon
    @starburstdragon 4 ปีที่แล้ว +334

    In 2059 : video : Programming like it's 2019 :)

    • @TeaLeavesProgramming
      @TeaLeavesProgramming 4 ปีที่แล้ว +69

      Everything would be Javascript and Python!

    • @superslayerguy
      @superslayerguy 4 ปีที่แล้ว +56

      "So what you're gonna wanna do is go to stack overflow..."

    • @ltxr9973
      @ltxr9973 4 ปีที่แล้ว +5

      I don't want to program like it's 2019 though :(

    • @rkan2
      @rkan2 4 ปีที่แล้ว +2

      @jonny j You'll probably just be thinking of a program and some other program will write it...

    • @MarZandvliet
      @MarZandvliet 4 ปีที่แล้ว +9

      We'll all be dead by 2059 if we keep programming like it is 2019

  • @CoderOfBugs
    @CoderOfBugs 5 ปีที่แล้ว +222

    I wish I would have been able to experience the early days of computing. Everything is so abstracted these days that it's hard to get a grasp on what is actually happening (which is kind of the point, I know). I just recently started to learn about 6502 assembly and I found your videos. Thank you for sharing your knowledge.

    • @therealkustomizer
      @therealkustomizer 5 ปีที่แล้ว +1

      There are a lot of emulators, books and documentation out there. Just search !!!

    • @careygreen4274
      @careygreen4274 4 ปีที่แล้ว +3

      Lol yes and no. It was tedious but so primitive that you couldn't get stuck. I've been trying to compile a Unity game for weeks lol

    • @careygreen4274
      @careygreen4274 4 ปีที่แล้ว

      @@peterberger3518 fun stuff
      Great memories

    • @przemekkobel4874
      @przemekkobel4874 4 ปีที่แล้ว +6

      6502 is a sweet tiny CPU that mimics features of mainframe machines of that era (and I was lucky enough to learn 6502 ASM as a kid, and then a thing or two about IBM360 architecture, which was a basis for the eastern-bloc computing). Later, I also found 8080's assembly was quite awesome, as well as 68000. But if you'll ever feel like trying x86, just don't. Avoid like a plague.
      Anyway, stuff I learnt during that time is really what enabled me to pay my bills to this day. I'm not afraid of writing from scratch, and I'm not afraid of complicated. And that's what you get if you are able to create even a few KB of useful 6502 code.

    • @xcvsdxvsx
      @xcvsdxvsx 4 ปีที่แล้ว +2

      no reason you cant get yourself an apple 2 today

  • @pipe2devnull
    @pipe2devnull ปีที่แล้ว +3

    I liked drawing 6502 programs with pencil and printer paper. The arrowed lines showing loops and jumps turned them into artwork.

  • @cafeinst
    @cafeinst หลายเดือนก่อน

    I had an Apple II plus as a kid in 1980 but did not have good books or an instructor that could teach me what you’re doing. Because of this, I missed out on a lot of what I wanted to learn. Thanks for your videos.

  • @s.i.3702
    @s.i.3702 4 ปีที่แล้ว +2

    Amazing! You brought me back to secondary school when we learned programming on a 6502 board supplied with HEX keyboard and pinout on 2 registers to switch on\off LEDs + other cool stuff.

  • @KerranKaksi
    @KerranKaksi 4 ปีที่แล้ว +6

    I learned assembly language the same way on the Commodore 64. I can still remember quite many of the opcode values by heart :)

  • @glasstronic
    @glasstronic 4 ปีที่แล้ว +3

    Nice! Got my start on AIM65, then Atari130XE, then Apple II. The Apple really got me going because of Merlin. Wrote my own monitor/assembler. It is named S/O/S SyMon III. Similar feel to Apple's approach.
    Thanks for taking the time to produce/post this. Keep the 6502 ART alive! :-D

  • @ClearComplexity
    @ClearComplexity 2 ปีที่แล้ว +1

    When I turned 6 in 98, I was given two old complete computers filled with some of the best expansion/accelerator cards you could get for the period along with great displays and disk drives; an Apple IIGS Woz Edition and a Macintosh IIci. I started learning Assembly as soon as I got a book on it for the IIGS soon after and then moved to writing Assembly and C for both the IIGS and the Mac IIci. Funnily enough, I never really wrote a lot of games. Instead, I wrote programs to create high resolution/color graphics using the tricks on the IIGS I learned from books with swapping palettes and writing trackers to make music. Eventually I started making demos on both machines just to see if I could replicate what I saw Pentium machines doing.
    Assembly didn't really seem that difficult back then, it helped that the architectures I learned for were simple. Times have changed, now it seems like people can't be bothered to learn even Python when they gain some interest in maybe learning to program.

    • @TeaLeavesProgramming
      @TeaLeavesProgramming 2 ปีที่แล้ว

      Great story!

    • @OpenGL4ever
      @OpenGL4ever 11 หลายเดือนก่อน

      Today's problem and blessing is the internet and games. This is distracting and takes a lot of time, on the other side it can help you. And if you have a problem that you could solve by programming a tool, you first look for an existing solution on the Internet. As a result, there is a lack of motivation to program something yourself. This used to be easier when all computers were still offline and additional programs cost extra money. All you needed were parents or acquaintances who would buy you a compiler or assembler. If these two did not come with the computer.

  • @giordanob.8515
    @giordanob.8515 4 ปีที่แล้ว +25

    My goodness! How great if I could have attendend such a lesson in 1980.

    • @johnsimon8457
      @johnsimon8457 4 ปีที่แล้ว +1

      Giordano B. From the video: Lack of documentation and support is an integral part of the experience. 😜
      Anything like this would have helped me quite a bit as a kid with a hand-me-down Apple

    • @OpenGL4ever
      @OpenGL4ever 11 หลายเดือนก่อน

      @@johnsimon8457 The main problem back then was rather that nobody had a clue and therefore you couldn't ask anyone who would give you a start-up help. If that wasn't the case for you personally, then you were extremely lucky.

    • @johnsimon8457
      @johnsimon8457 11 หลายเดือนก่อน

      @@OpenGL4ever I'm listening to John Romero's memoir, "Doom Guy" and sure there's books like Assembly Lines and the Apple II 6502 manual - but even then someone who wants to do game dev has to be a on a ''teenager with no money and desperate to escape their life situation" level of motivation.

  • @jlinkels
    @jlinkels 4 ปีที่แล้ว +3

    Great video, great educational value. I remember this soooo well. Learned assembly on a PDP-11, and then dropped into Commodore PET 6502 assembly and 6800 assembly (MIKBUG!) for self-developed systems. This was how you really and literally shifted bits around in the processor. And there were even some undocumented opcodes in the 6502. Like Store Immediate IIRC. Those days I wrote assembly with the same easy as writing Python now. Thanks for creating and uploading!

    • @TeaLeavesProgramming
      @TeaLeavesProgramming 4 ปีที่แล้ว

      Now I want to go look up this undocumented opcodes...

  • @MRWALLFan
    @MRWALLFan 4 ปีที่แล้ว +4

    We need more of this.

  • @peterpanther8627
    @peterpanther8627 4 ปีที่แล้ว +2

    The PC computing revolution has so much to teach us. Thanks for the video, chai leaf.

  • @SeanJTharpe
    @SeanJTharpe 4 ปีที่แล้ว +7

    Finally, a useful and amazing video gets recommended to me!

  • @YanksOnTop
    @YanksOnTop 2 ปีที่แล้ว

    I took LISA Assembler back in H.S. in 82'. We learned by building the game Breakout. Fun times.. Great video. Brings back a lot of great memories..

  • @ButchAnton
    @ButchAnton 5 ปีที่แล้ว +9

    To fill a range of memory with a value:
    1. Assign the value to the first byte of the range of memory. In your example, this would be
    800: 00
    2. Move the new value into the rest of the range. If you want to fill 800-807, first note that 800 is already done in the first step. Second, note that you fill one less byte in the range. In your example, this means that we're filling 801-806:
    801

  • @charlesbaldo
    @charlesbaldo 4 ปีที่แล้ว

    Excellent video, you piqued lots of bits in the back of my brain. I worked 6502 on Commodore PET and Apple II both in BASIC and machine/assembler
    In 79, 80,81 The machine code was so pure, simple and accessible. Back then no google, so tech bookstores , magazines like byte and user groups were the answer to your problems.

    • @TeaLeavesProgramming
      @TeaLeavesProgramming 4 ปีที่แล้ว

      Glad you liked it! And yes, the speed with which you could find answers to questions back then was a lot slower.

  • @jeanlemoignan3130
    @jeanlemoignan3130 4 ปีที่แล้ว +1

    Aaaaah! Fond memories!!! Thank you for reminding me my youth on a Commodore PET!

  • @trulyspinach
    @trulyspinach 4 ปีที่แล้ว +5

    Thanks for the great content! Pls make more like this

  • @ekv
    @ekv 5 ปีที่แล้ว +2

    Great video, more of this please! :)

  • @Enroxxx
    @Enroxxx 3 ปีที่แล้ว +1

    Thanks for bringing back so many memories! The //e was the first computer I wrote code on.

  • @theears995
    @theears995 5 ปีที่แล้ว +11

    This is fascinating!

  • @metamango500
    @metamango500 4 ปีที่แล้ว +8

    Great video. Man, I could really have used this advice in about 1985. Really wanted to learn assembly etc, and I didn't motivate and I didn't learn it. THANKS

  • @jgurtz
    @jgurtz 4 ปีที่แล้ว +13

    I like this real-world treatment of the subject. It is curious how we played math blaster and Oregon trail and never a word said about this more interesting material!

    • @Jumpae
      @Jumpae ปีที่แล้ว +1

      no

  • @dougware5649
    @dougware5649 4 ปีที่แล้ว +6

    Ahh, memories of writing code in Big Mac. My first was a screen printer for the MX-80, which turned out better images than most commercial programs (it did some crude bit-wise processing and used a 3.5 dot vertical scroll to give half dot resolution via interleave - much like the screen itself). Those were the days - get home on Friday night, and program until my head hit the keyboard (or I ran out of snacks).

    • @thomasfink2385
      @thomasfink2385 4 ปีที่แล้ว

      Hello, yes, Big Mac was also my BIG favourite. I disassembled and modified lots of stuff to my needs, like THE INSPECTOR....

  • @maxpiantoni
    @maxpiantoni 4 ปีที่แล้ว

    Fantastic overview, thanks for making this!

  • @VoyagesDuSpectateur
    @VoyagesDuSpectateur 5 ปีที่แล้ว +13

    This brought back memories. I wrote commercial software in 6502 and Z80 assembler in the 1980s. The 6502 was more challenging, due to the limited instruction set, but more satisfying: it forced you to be creative.

  • @jeffr.640
    @jeffr.640 4 ปีที่แล้ว

    it reminds me of my college days! thanks sir for the upload!

  • @michaelhoffmann2891
    @michaelhoffmann2891 3 ปีที่แล้ว +1

    Thank you, TH-cam algorithm, 2 years late. :P That brought back memories. Only 2 weeks ago I stumbled over my hand-commented disassembler output of the Apple disk controller (generally at C600). Plus the machine language course a student/tutor had sent me, a wide eyed kid, hand-written, week by week in the post. My favourite assembler was Merlin (EDIT: wrote this before I watched the video all the way to the end). Sadly so much was lost when I foolishly sold every single bit of my Apple kit, including books and floppies. Few things I regret more. :( I still have various address ranges committed to memory.... $100-stack, $300-general purpose, $400-screen #1 IIRC, weren't there two, just like: $2000 hires1 and $4000 hires2, $C000-various hardware mapping, e.g. keyboard, speaker with $Cx00 used for the addon slots. But I have a horrible memory for names. :D

    • @TheXJ12
      @TheXJ12 3 ปีที่แล้ว +1

      $0800 was - I mean IS - screen #2 but it's also the default location for BASIC programs. Applewin is a very good emulator is case of nostalgia. And Merlin (as well as many others) is available as a virtual disk for it...

  • @psour33
    @psour33 4 ปีที่แล้ว

    That's was the best way to learn what is a CPU and how it works. This was a sort of travel in the unknown.Thank you sir.

  • @Danhec95
    @Danhec95 2 ปีที่แล้ว

    Awesome video. I love the 6502 chip.

  • @gazzacroy
    @gazzacroy 3 ปีที่แล้ว

    i used to love assembly on these and the commodore plus 4. nice video i miss them days in some ways lol.

  • @MarvelousLXVII
    @MarvelousLXVII 4 ปีที่แล้ว +1

    brings back a ton of memories. I never took the full jump into 6502 programming but learned a lot where I was able to "crack" a Phoenix clone on the Apple 2. It relied on the disk being in the drive so I found out what memory location was used to view the disk and I changed it to NOP which was "No Operation" and it actually worked lol.

  • @bradleyp3655
    @bradleyp3655 4 ปีที่แล้ว +2

    I remember doing assembly on a 6502. I was not an Apple II but a circuit board with a builtin keyboard, composite video, and audio cassette for external storage. It ad BASIC and a hex input prompt for assembly language. I had to write every program on paper in hex with the assembler code beside it. That was 1979 I was 15.

  • @derstreber2
    @derstreber2 4 ปีที่แล้ว +48

    2019: "Here I have set up a stack overflow simulator. I ask it a technical question regarding my javascript program. Entering in all the relevant data of the problem. The simulation, in the form of a simulated user, will first berate me, telling me I don't actually want to do the thing I am asking, subtly hinting that it knows far more about the problem then I do, then hours or perhaps days later another simulated user will respond with an answer. There is a 74.8% chance that this answer is incorrect and does not work at all. There is a 34.2% chance that the program runs but does not do as I require. Additional data may need to be added to the original query. (depending on several factors, this may actually make the problem worse) Now, once I find a correct piece of code that fits my problem specifications I will "copy and paste" it into my integrated development environment (IDE), optional: I will retroactively write some unit tests to in order to be "test driven", and when using git, in order to maintain a clean and tidy version control history, I will be sure to rebase all of my changes on top of the latest commit."

    • @peterpanther8627
      @peterpanther8627 4 ปีที่แล้ว +7

      I'd laugh, but this joke is behind at least seven layers of abstractions

    • @catorials444
      @catorials444 3 ปีที่แล้ว

      @@peterpanther8627 *claps profusely*

  • @elmo8696
    @elmo8696 4 ปีที่แล้ว +6

    I saw the title, waited to hear your voice, sounded like a professional, I hit subscribe.

    • @TeaLeavesProgramming
      @TeaLeavesProgramming 4 ปีที่แล้ว

      Awww, thanks!

    • @elmo8696
      @elmo8696 4 ปีที่แล้ว

      @@illegalsmirf You can judge a book from it's cover actually. I got a hint from the title and the way he professionally started the video, the casual way with which he dealt with such old system implies that he is a veteran. That's worth a subscribe.

    • @TeaLeavesProgramming
      @TeaLeavesProgramming 4 ปีที่แล้ว +1

      @@elmo8696 No need to reply to trolls; they're just trying to waste your time. Live well instead.

  • @moominjuice2
    @moominjuice2 4 ปีที่แล้ว +4

    Thanks for this vid. You took me right back to my 6502 assembly language days as a 12year old. Whenever I hear a new programmer talk about something tough to code it makes me laugh when I see today's tools and languages.

    • @bjarnestronstrup9122
      @bjarnestronstrup9122 4 ปีที่แล้ว

      I hate when someone brags about "how they wrote this Python script and it was so difficult", it really makes me depressed. Its cringe worthy to see a so called programmer/software dev who barely knows what a byte is.

  • @cellularmitosis2
    @cellularmitosis2 4 ปีที่แล้ว

    Thanks so much for making this video!

  • @DaveRoberts308
    @DaveRoberts308 4 ปีที่แล้ว

    This brings back a lot of memories. I spent tons of time hacking 6502 assembly with Big Mac, the precursor to Merlin, back in the day. Also ORCA/M later, but it was slower and more bulky than Big Mac, though more powerful.

    • @TeaLeavesProgramming
      @TeaLeavesProgramming 4 ปีที่แล้ว

      I never used ORCA/M, but I know the people who did swore by it.

  • @nackyding
    @nackyding 4 ปีที่แล้ว

    This was really cool. Thanks!

  • @chadsmith8476
    @chadsmith8476 4 ปีที่แล้ว

    Thanks for the video. Apple ][ was my first micro at a young age and all thru high school.

  • @paranoiatable
    @paranoiatable 4 ปีที่แล้ว +1

    Great Video!

  • @mglmouser
    @mglmouser 4 ปีที่แล้ว +3

    It's also quite an evolution over previous systems like the Altair where you had to flip binary switches on the front panel to enter those hex bytes.

  • @adobo1976
    @adobo1976 3 ปีที่แล้ว

    Great Refresher! I've not been in the Apple II assembler since High School.

    • @TeaLeavesProgramming
      @TeaLeavesProgramming 3 ปีที่แล้ว

      Thanks! What did you use it for back then?

    • @adobo1976
      @adobo1976 3 ปีที่แล้ว

      @@TeaLeavesProgramming Mainly trying to figure out how to program music since assembly was really the only way to do that on the apple IIe. However, we ended up writing a program that would play the highest pitched frequency in an infinite loop and loaded it up on every apple II in the computer lab right before the teacher showed up. The look on his face was unforgettable.

  • @vcv6560
    @vcv6560 2 ปีที่แล้ว

    The Apple products were great, I was in college (BSEE, 84) when the II+ was the main offering, still a full system was about the price of a small car! Easy to forget how much impact the Commodore offerings had by opening this career to so many new people. Fun to play with all of this now in emulation.

  • @stargazer7644
    @stargazer7644 4 ปีที่แล้ว

    Brings back fond memories, though mine is of Z80 on a TS-1000 and later a TRS-80 Model III

  • @benjaminscherrey2479
    @benjaminscherrey2479 2 ปีที่แล้ว +1

    This hand assembled monitor is where I spent most of my time on the Apple ][. Often this was to code my own programs but even more often it was to figure out how to break the copy protection schemes of the games I wanted to play. Understand that a game might typically cost $24.95 back then. A blank single sided double density floppy disk at Radio Shack was $3.50 (and you'd use a hole punch to make a notch on the other side to make it double sided for twice the capacity). My allowance each week was $5.00! The economics was pretty clear as you might imagine.
    But pretty soon learning how to hack the machine was more fun than most of the games so I learned to do "real" programming in that monitor in my free time on a school machine since I definitely could not afford my own computer until I got a job in high school and eventually bought a Compaq Deskpro and entered the world of PCs in 1985. But the Apple ][ and Steve Wozniak will always have a special place in my heart.

    • @TeaLeavesProgramming
      @TeaLeavesProgramming ปีที่แล้ว +1

      Thanks for sharing your experiences! I did the hole-punch trick too.

    • @OpenGL4ever
      @OpenGL4ever 11 หลายเดือนก่อน

      I.e. you stole the income from the game makers.

  • @DennisDA
    @DennisDA 2 ปีที่แล้ว

    Back in the 80's I had a nice macro assembler for the 6502. I had a lot of fun with it.

    • @TeaLeavesProgramming
      @TeaLeavesProgramming 2 ปีที่แล้ว

      Do you remember which one it was?

    • @DennisDA
      @DennisDA 2 ปีที่แล้ว

      @@TeaLeavesProgramming No, I'm sorry.

  • @BitwiseMobile
    @BitwiseMobile 3 ปีที่แล้ว

    Wow, what a wonderful walk down memory lane! My math teacher had an Apple ][e in the back of the class room. He would let me tinker on that for hours! Once I discovered Monitor and with my trusty dusty Computes! Guide to 6502 Assembly Programming I was in heaven.

  • @ericcindycrowder7482
    @ericcindycrowder7482 4 ปีที่แล้ว

    In the 80s I loved to program assembly language in my family’s Apple ][ Plus. I didn’t program machine from the monitor, I used the Big Mac assembler.

  • @leodeoliveira7480
    @leodeoliveira7480 5 ปีที่แล้ว +8

    Wish I had seen this video back in 1981 ...

    • @TheRainHarvester
      @TheRainHarvester 4 ปีที่แล้ว +2

      I search every library in 1985 for books ...rode my bike to find them. Couldn't find anything!

  • @coldaddysupreme2956
    @coldaddysupreme2956 4 ปีที่แล้ว +1

    He hits that enter button with passion

  • @chuckmuziani6262
    @chuckmuziani6262 4 ปีที่แล้ว

    Back in the day (mid-1980's) I programmed a "spectrum analyzer scanner" display on the Apple II. I constructed an 8-channel ADC interface (plugged in to an Apple II slot), which was connected to the outputs of a portable 8-channel LED-display spectrum analyzer. My code displayed vertical bars that exactly followed the LED display on the analyzer. I added peak-hold and a few other features. It was one of my first projects programming the 6502 via *opcodes*, not assembly. My other project was a talking blackjack game ("Welcome to blackjack") and it would announce each card dealt. I miss those days!

    • @TeaLeavesProgramming
      @TeaLeavesProgramming 4 ปีที่แล้ว

      Fascinating! If you still have your code you should make sure it's uploaded to archive.org's Apple ][ collection.

    • @chuckmuziani6262
      @chuckmuziani6262 4 ปีที่แล้ว

      Thanks for the suggestion but I was lucky to have barely remembered I did those projects, much less to go find the code stored away on one or more out of a dozens of 5.25" floppies scattered in storage. ;-)

  • @Allbbrz
    @Allbbrz 4 ปีที่แล้ว +1

    oh dang... i worked for small company in the begining of the 80's and we had no compiler for 6502 whatsoever but we were pretty gifted with binary so wrote all our small tests and programs straight in hex into the Apples memory so we could get out stuff done... pretty damn fun time, I'll say !

  • @christiancarter255
    @christiancarter255 4 ปีที่แล้ว

    I'm learning about LC-3 right now, so this is an exciting video to me.

    • @TeaLeavesProgramming
      @TeaLeavesProgramming 4 ปีที่แล้ว

      Is LC-3 referring to the "little computer" programming language? Is this in a class, or are you learning on your own?

    • @christiancarter255
      @christiancarter255 4 ปีที่แล้ว

      @@TeaLeavesProgramming It's a requirement per the the computer science field, here. Also, I would like to further learn the LC-3 architecture, after this semester, so that I could better understand how things work in C++ and in other languages, such as pointers.

  • @LukeAvedon
    @LukeAvedon 5 ปีที่แล้ว +1

    LOVE THIS!!!

  • @mannhansen9337
    @mannhansen9337 4 ปีที่แล้ว +1

    I still have a KIM-1 in working condition. Don't use it very often but I learned 6502 assembly programming on it back in 1980. Now I program Arduinos and ESP8266+ESP32.Turning 60 years next March.

    • @TeaLeavesProgramming
      @TeaLeavesProgramming 4 ปีที่แล้ว

      That's awesome. Go you! Would love to see a video explaining the KIM-1. It was juuuuust before my time.

  • @orbitalgolem91
    @orbitalgolem91 4 ปีที่แล้ว

    This brings back memories of working with Merlin Assembler back in the mid '80s. The assembler to use in the day. If memory serves, Glen Bredon developed it.

  • @robj7481
    @robj7481 4 ปีที่แล้ว +14

    New Prince song... “Tonight I’m gonna program like it’s 1979” 🎸🥁

  • @tomservo75
    @tomservo75 4 ปีที่แล้ว +1

    Ugh this brings back bad memories. I was a Computer Science major and we had to learn Assembly language. Here's the problem. It was not Apple, it was VAX/VMS Assembly... and this was in the mid-90s, so they were obviously so way behind the times.

  • @kylegivler8372
    @kylegivler8372 3 ปีที่แล้ว

    Cool video thanks for sharing

  • @AllGamingStarred
    @AllGamingStarred 4 ปีที่แล้ว +2

    this is very, very helpful. I would love for this dude to be my teacher

  • @tengkuizdihar
    @tengkuizdihar 4 ปีที่แล้ว +88

    There's a lot of old people in the comment section. Which is nice.

    • @chillappreciator885
      @chillappreciator885 4 ปีที่แล้ว +1

      Who did you call the old people?

    • @UshankaMaster
      @UshankaMaster 4 ปีที่แล้ว +6

      Experienced programmers.

    • @charlesbaldo
      @charlesbaldo 4 ปีที่แล้ว +2

      Happy to be here. I can still out code, out think any youngster and I have wisdom now as well.

    •  3 ปีที่แล้ว

      @Tengku: passive ageism.

  • @sirbobbyuk
    @sirbobbyuk 4 ปีที่แล้ว

    when i was doing my Btec in computer studies we covered machine code and LDA was the only thing i remembered. wish i had payed more attention to class

    • @garychap8384
      @garychap8384 4 ปีที่แล้ว +2

      I remember fondly the Btec adult students at Newcastle. Many of them struggled so much as they'd arguably been born a decade or more too early. I used to truant there (Newcastle Uni, polytech and College) to use their minicomputer terminals and reference libraries... I was always helping folks with their COBOL and ASM assignments. The BTEC folks were the best ; ) I got caught using BTxxx accounts on the system so often that the admins gave me my own account 'gary' and a library card and made me promise I'd stay in school and only use the facilities in the evenings... but then the school allowed me a day-release, mainly as a bargaining chip to keep me engaged : )
      I often wish I knew what happened to those BTec students I made friends with. It was an unusual time... being 14 and an undiagnosed autistic, I had no friends at school and doing unofficial study at Uni and the Polytechnic was the only time I ever really felt I belonged somewhere.
      Today it would probably seem a little inappropriate that all my friends were adults - but it was a magical time for me.
      I still sometimes wonder where they all ended up.

  • @dellagustin
    @dellagustin 4 ปีที่แล้ว +1

    Great video, I always wonder how people did assembly coding on this machines back in the day.

  • @kaumsatria7981
    @kaumsatria7981 4 ปีที่แล้ว

    awesome sir

  • @oscarj0231
    @oscarj0231 4 ปีที่แล้ว

    This...this is machine code... beautiful

  • @tomsite2901uk
    @tomsite2901uk ปีที่แล้ว

    That was a trip down memory lane. The bad thing is i still remember some of it. Does that make me old? But i have to admit that i worked more on the 6510 Processor and the C64. I also did some Pascal but quite frankly i can't really remember any of it.Then i had a long break before i entered the time of IT again. I started on mainframes and UNIX machines, programmed in Cobol before the advent of the PC came. My first own PC was a 486 DX2 with Win3.11 and NT4, then came Linux.

  • @penguin1714
    @penguin1714 4 ปีที่แล้ว +144

    In 40 years when all the programmers are using puzzle pieces, C++ will seem too hard. =(

    • @TheBypasser
      @TheBypasser 4 ปีที่แล้ว +29

      LOL C++ seems too hard already - just take a look how people ignore INLINEs and STATICs while abusing function calls and doing crazy shit like inter-register MEMCPYs ;)

    • @recklessroges
      @recklessroges 4 ปีที่แล้ว +6

      Looking at the young and vibrant Rust community seems to refute that sentiment.

    • @bjarnestronstrup9122
      @bjarnestronstrup9122 4 ปีที่แล้ว +4

      @@recklessroges I really love Rust, its like having C and Haskell had a baby which also inherited some C++ and Python genes. I can't wait to see what people will come up with using "procedural macros" and similar features.

    • @TheBypasser
      @TheBypasser 4 ปีที่แล้ว

      @GloriousTapeworm Although the most compilers have auto-inlining, the 'inline' directive still forces them to do so no matter what (even if the size-aimed optimization mode is active). And even whenever it has no effect it still improves the code's readability ;)
      Also if you are so "smart" please prove me wrong on the other two things (statics and memcpys that is) ;)

    • @TheBypasser
      @TheBypasser 4 ปีที่แล้ว

      @GloriousTapeworm F wrong you are. Just to make sure I just tested it in VC2010 compiler in x64 debug build set to full optimization (/Ox, just like in the actual release builds) by taking a look at the assembly listing, and even so the functions declared lacking the 'inline' directive are accessed via the CALL command, while those marked as 'inline' (even not '__forceinline', by the way) are actually recurrent throughout the code as a set of their respective commands. So, you are a proof of my comment about the lack of knowledge (and probably even never compiled a native code) ;) And, most likely, even never looked through your ASM listings believing in the all-mighty compiler doing it all for you (spoiler: it never does). (Though, I must admit, the 'inline' directive indeed has no effect over the 'stock'-configured debug builds, /Od and /RTC1 that is - but who cares about that stuff anyway as it never makes it out yet misguides the newbie coders).

  • @hamtechoutdoor
    @hamtechoutdoor 2 ปีที่แล้ว

    Wow, back in 1982 I was programming in Basic on an Apple IIe and assembly language as well (remember call -151?)

  • @Breakfast_of_Champions
    @Breakfast_of_Champions 4 ปีที่แล้ว +4

    I learned 6502 assembler on the C64 when macro assemblers were already common. It used the C64 fullscreen editor and I had a monitor program on a cartridge too, so that was already a step better than this Apple ][ setup here.

    • @TeaLeavesProgramming
      @TeaLeavesProgramming 4 ปีที่แล้ว

      Awesome! Did you ever make anything fun?

    • @markcummings150
      @markcummings150 4 ปีที่แล้ว

      Breakfast of Champions he’s only demonstrating the built-in mini assembler and one other assembler. There were plenty of other assemblers including macro assemblers available.

  • @7073shea
    @7073shea 3 ปีที่แล้ว

    Awesome! Thank you

  • @jeffr.640
    @jeffr.640 4 ปีที่แล้ว +8

    those beep codes so nostalgic...

  • @LetrixAR
    @LetrixAR 4 ปีที่แล้ว

    It started to study Assembly on my career and it's really difficult compared to other languages like C++ but I get the point why is teached and when learning with PICs, makes it really interesting.

  • @effsixteenblock50
    @effsixteenblock50 4 ปีที่แล้ว +3

    Great video! One thing though - the stuff on the right are instructions (mnemonics) not opcodes. The opcodes are the values on the left.

  • @Darryl_Frost
    @Darryl_Frost 4 ปีที่แล้ว +1

    you had a green screen and BASIC in 79? My Sygnetics 2650 (July 1978 Electronics Australia kit), used Baudot code and a 20mA current loop to a teletype, and before that the Mini-scamp had 8 toggles switches for the data bus and another 8 for the address bus the SC/MP CPU clocked along at a blinding 670Khz !! (4 clock cycles per instruction).

  • @paulpkae
    @paulpkae 3 ปีที่แล้ว

    I used to remember most 8088 op codes in my head and could code direct. Have even sat at Eprom programmers typing in code in Hex direct from the keypad on the programmer unit. No way I could do that now. As soon as I got access to decent compilers and debuggers I forgot it all. Segment and offset with internal 4-bit-shifting was cumbersome in x86 world. Remember a brilliant NEC debugger called AFD I think. Many years ago now.

  • @2thinkcritically
    @2thinkcritically 4 ปีที่แล้ว +1

    I know there's a lot of love for the 6502, but to this day my favourite CPU is the 6809. Writing assembly for it is a joy, although having to convert it to machine code and then poking it into memory using BASIC as a child was a tad tiresome on my trusty Dragon 32. All those hours spent typing it all in... Nowadays I can fire up Vim, type it all in and run the code straight through a 6809 assembler in a matter of minutes.
    It was a simpler time back then, when microcomputers were the new frontier. So many things had yet to be learnt on those early systems when they were released and anyone from a university professor to kid in their bedroom could make the next big software hit.

    • @TeaLeavesProgramming
      @TeaLeavesProgramming 4 ปีที่แล้ว

      The TRS-80 Color Computer (based around the 6809) remains one of my other favorite 8-bit machines.

  • @Wobblybob2004
    @Wobblybob2004 4 ปีที่แล้ว +9

    I'll stick with my BBC micro, It had a "fully featured" multi pass in-line assembler. You could freely mix basic and assembly language.

    • @EdCourtenay
      @EdCourtenay 4 ปีที่แล้ว +5

      Yes, the BBC Micro had a built in multi-pass assembler (in BASIC), but it lacked a monitor. That said, I used the awesome Ismec Monitor 2.01 ROM back in the day when breaking copy protection routines on the games I could lay my hands on.... ahem...

  • @owndoc
    @owndoc 4 ปีที่แล้ว +4

    I soldered my own 1 MHz Acorn Atom together (6502 assembly & BASIC). 2 KB RAM, of which 512 bytes freely usable. Good times.

    • @TeaLeavesProgramming
      @TeaLeavesProgramming 4 ปีที่แล้ว +1

      Awesome!

    • @rickharriss
      @rickharriss 4 ปีที่แล้ว

      Yep me too. That's where I learned assembly programming.

    • @rickharriss
      @rickharriss 4 ปีที่แล้ว

      photos.app.goo.gl/wsKvzgBSuKnpkzHNA Link to the Atom circuit diagram in case you want to make another ( I still have mine)

  • @mrdarbab
    @mrdarbab ปีที่แล้ว

    I loved 6502 programming with my c64 especially animated sprites.

    • @TeaLeavesProgramming
      @TeaLeavesProgramming ปีที่แล้ว

      I would love to know more about the sprite support in the C64 than I do!

  • @malicant123
    @malicant123 4 ปีที่แล้ว

    I work for an old insurance company. The old old mainframe code is still in use today, and it NEVER breaks.

  • @loucummins7918
    @loucummins7918 4 ปีที่แล้ว

    Very cool.

  • @njsynthesis
    @njsynthesis 3 ปีที่แล้ว

    This guy mastered the remote learning vibe in 2018.

    • @TeaLeavesProgramming
      @TeaLeavesProgramming 3 ปีที่แล้ว +1

      I am 100% confused about whether this is a compliment or an insult!

  • @manonthedollar
    @manonthedollar 4 ปีที่แล้ว +1

    4:45 I'm surprised the flashing letters and flashing cursor are not in sync. Pretty advanced for the time!

    • @chinesemusic8019
      @chinesemusic8019 4 ปีที่แล้ว +4

      The flashing letter speed is controlled by an onboard 555 timer hardware. The flashing cursor speed is just controlled by a software loop.

  • @e74av
    @e74av 4 ปีที่แล้ว

    Amazing

  • @mekkler
    @mekkler 4 ปีที่แล้ว +1

    I did 6502 on the C64, it's my second favorite programming language.

    • @TeaLeavesProgramming
      @TeaLeavesProgramming 4 ปีที่แล้ว

      And what's your favorite?

    • @mekkler
      @mekkler 4 ปีที่แล้ว +1

      @@TeaLeavesProgramming brainfuck

  • @john-lenin
    @john-lenin 4 ปีที่แล้ว +4

    In 1979 I was using Pascal.

  • @bestintentions6089
    @bestintentions6089 4 ปีที่แล้ว

    man way back machines were so friendly to fiddling and finding way things worked, also alot simpler.

    • @TeaLeavesProgramming
      @TeaLeavesProgramming 4 ปีที่แล้ว

      It's a trade-off, right? They're friendlier to tinker with, but probably harder for the end-user to use.

  • @monkey_see_monkey_do
    @monkey_see_monkey_do 2 ปีที่แล้ว

    Thank you for amazing presentation! Is it a next version of Apple 1's WOZMON?

    • @TeaLeavesProgramming
      @TeaLeavesProgramming 2 ปีที่แล้ว +1

      Believe it or not, I have never used an Apple I! But reading about WOZMON it certainly sounds like an elaborate on that concept.

    • @monkey_see_monkey_do
      @monkey_see_monkey_do 2 ปีที่แล้ว

      @@TeaLeavesProgramming well, me neither) I just played around with WOZMON in the emulator and found it to be fascinating! Apple ][ version like the same program but with enhancements obviously. Btw thank you for showing how to use space in MINIASM instead of entering address every time - this would help me tinkering with my KIM-1 derivative that involves MINIASM as a ROM.

  • @llamasarus1
    @llamasarus1 2 ปีที่แล้ว

    As someone who has used high level languages, assembly to me looks like what C# looks like to people who've never programmed. I'll have to give it a try!

  • @Orbixas
    @Orbixas ปีที่แล้ว

    My father was 3 years old when the Apple 2 was released. Wow.

  • @TheGuyThatEveryoneIgnores
    @TheGuyThatEveryoneIgnores 4 ปีที่แล้ว

    12:46 "So to write a program of any length, of any significant length, if you're not Woz, you really need ... a real assembler ..."
    Gee, I must have been Woz when I was a teenager.
    (I started by writing my programs on paper in assembly language and then manually converting them to their hexadecimal codes as I typed them into the monitor. Eventually I became good enough that I did not need to write out everything. I still used a pencil and paper to keep track of all my variable and routine addresses. I often kept routines in their own separate space in memory so that I could modify them freely without affecting other routines. I would later move the routines to be adjacent when I was finishing up the program. Being able to insert instructions without having to retype everything afterwards and adjust conditional branch displacements would have been really nice though!)
    If only I could be Woz today ...

  • @MsSam010
    @MsSam010 ปีที่แล้ว +1

    Legend

  • @robertcuthbert8095
    @robertcuthbert8095 4 ปีที่แล้ว +1

    The good old days. I used Merlin assembler to write machine code on the AppleII

    • @TeaLeavesProgramming
      @TeaLeavesProgramming 4 ปีที่แล้ว

      I'm sure people would be interested to hear about some of your projects - do you remember them?

  • @AndrewErwin73
    @AndrewErwin73 5 ปีที่แล้ว +2

    On the Commodore machines, you could use PEEK and POKE in the BASIC interpreter. Did the Apples have the same ability, or did you have to always do it from the monitor?

    • @peterb12
      @peterb12 5 ปีที่แล้ว +3

      Both Integer BASIC and Applesoft BASIC supported PEEK, POKE, and CALL. Those were not part of Dartmouth's original BASIC, but were in the proto-Microsoft's Altair BASIC in 1975; I'd expect most home computer BASICs to support them.

  • @viktorhugo8252
    @viktorhugo8252 3 ปีที่แล้ว

    A very good look in the past of programming. It's good to learn the basics, before starting with 16 bit, 32 bit or 64 bit computing and programming in the high level languages. it's history but wonderful to see the old machines running. and apple I and II are not the only ones. There are a lot of 6502 based machines before the 68K comes with Macintosh and Atari, Commodore and many more.
    The first uProcessor is in 2021 fifty years old, it is not the 6502, INTEL 4004 from 15.11 1971 comes before the 76,77,78,79 apple computer.with the MOS6502, Rockwell 6502, Sygnetics 6502 from 1975. The first computer with Intel 4004 is this: www.computerhistory.org/collections/catalog/X1320.97

  • @GaryCameron780
    @GaryCameron780 4 ปีที่แล้ว +5

    At the * prompt type ... 800: A9 C8 20 ED FD A9 C5 20 ED FD A9 CC 20 ED FD A9 CC 20 ED FD A9 CF 20 ED FD 00
    Followed by ... 800G
    Your 'welcome. :)

  • @drmonkeys852
    @drmonkeys852 ปีที่แล้ว

    Got a question about 8:38. What did he mean with the endianess of the processor? Since the apple I I is an 8 bit system, wouldn't that mean that all the words would just be one byte, so we'd never have to worry about the order they were stored in memory?

    • @TeaLeavesProgramming
      @TeaLeavesProgramming ปีที่แล้ว +1

      Although the 6502 was an 8-bit CPU, it has a 16-bit address space, so you still have to worry about the endianness of the bytes. It's little-endian. Thus, if we want to represent memory location $1234 in 6502 assembly language, it will appear in our code as `34 12`.