There's an extended version (with a few more minutes about COLOR and HCOLOR) on Nebula! nebula.tv/videos/codingtrain-coding-challenge-174-fractal-tree-on-apple-ii
I'm a big fan of this new series. I like the commitment you have to the style of the era, even with the silly intro and a theme song. Something about you programming in this reduced environment is very relaxing. I always try to use the least complicated tool for a task and this feels just perfect. Thank you for making these videos.
Totally agree. I'm not big on processing or P5, but this series has me completely fascinated. There's something very relaxing about it, definitely. Maybe this is the programming equivalent of manual machining videos, compared to CNC?😁
Totally share the feelings. As a kid I started to make silly programs in a friend's house who owned an Apple IIe and these videos about programming in the apple IIe makes me travel to those times.
I literally watched this in between college classes and I’m just so happy that I can watch a coding video as pure entertainment. Please keep this series going!!!
I have been struggling with bouts of depression as of recently and I just wanted to say that your videos are one of the only things that actually make me feel happy. Seeing you work through algorithms on this old outdated computer and seeming so happy whilst doing it genuinely makes me feel so good for some reason. It's taking something that I have a lot of interest in, that being programming, and making it purely entertaining instead of making it to be a sort of monotonous chore. Thank you for putting so much effort into these videos.
Exactly. Man, if he can have this kind of fun today, I can only imagine the wonders he must have witnessed with his apple when he was twelve. Funny thing, my 1st home pc was a 286, and I was very bad at coding then, and the only thing I could imagine to do was pixels with random colors all over the screen. These first examples of him put me a bit on TBT mode... lol...
Despite his infectious enthusiasm, the whole video does have a cool, calming, almost hypnotic effect, The video flew by too fast, I'm watching it again. Taking notes this time around.
This actually looks like fun. The overall tone and snobbery on coding forums, all this "the right way to do stuff", actually prevented me from getting into coding multiple times. The same thing happened with music. Then i found youtubers (like this one) that make it actually fun to learn things.
When I was a kid in the '80s I "invented" push and pop by using a string as a stack and pushing numbers on by converting integers between 0 and 255 to characters using CHR$. I think that was before I learned machine code and learned about stacks. I probably didn't even realize they were the same thing. I really miss being able to just turn the computer on and start plotting pixels. The stuff you have to do on any modern OS and programming language to just plot a pixel is ridiculous. Installing some kind of framework like Processing or SDL2 is usually the easy way and is not always easy and never as satisfying as doing it natively.
I wish there were more capable versions of the renderers that processing provides. Getting a triangle, or even a pixel with something like openGL with plain code (meaning not as easy as "pixel(40,60)" is just garbage. It's either starting easy with processing or directly getting into vulkan, shaders and whatnot. No small step up...
back in 1989 my mother was 14 and actually helped pay for her education by learning Basic on an Apple ][ and then teaching at schools, showed her this video and she loved the fact people still enjoyed the wonders of the past. thanks for the videos!
This is by far the best thing I’ve accidentally stumbled upon. I took coding classes in late middle and high school. None got hem matched this guys absolutely adorable energy. He’s funny, smart, and extremely relatable. I laughed so many times while watching your video and really want to try coding in basic. Keep doing what you’re doing, you’re inspiring the young generation. :)
I remember typing in a Mandelbrot plotting program listing from a copy of Incider magazine and letting it run all day while I was at school. It still hadn't finished by the time I got back home. Regarding renumbering; the DOS 3.3 Master disk came with a Renumber program that would load a renumbering utility into memory. It utilized the so-called "ampersand hook" in that you invoked it by typing '&' at the prompt and pressing RETURN. By default it would renumber all lines in the program so they start at 10 and increment by 10.
It's so much fun to see you having so much fun with this thing. I love the little Ziggy (from Quantum Leap) moments from Future Dan. Also, I think a double buffering video would be pretty interesting indeed.
i'm not sure what he's better at: math, coding, or keeping the viewer interested in the process. TOTALLY subscribing, love the video, love the attitude, love everything. keep it up!
I've recently been binging a bunch of your coding challenge videos and these recent apple II+ videos have been great! I would also like to mention that the genuine fascination and happiness you convey in your videos have brightened my days, during some recent tough times, thank you for doing so much for the coding community. You are like the Bob Ross of programming! 🚂
I no joke loooooove these videos. There's something crazy about how intuitive and usable coding in BASIC is that makes these so fun to watch! Hope to see more!
Daniel - this is so cool! There are people out there that are still teaching kids how to code using BASIC and computers from the 80s. Your videos are very good for that. All the best with you Apple II nebula series as well! ;-)
@@eBrunoro 8 bit computers are very friendly for coders. There is nothing to install, they have a simplified language with a simple graphics API. There are also tons of type-in programs. ... and there is also nostalgia. However - I think the best method to introduce kids to coding is by using a simplified online platform... (I have my preferences here).
@@eBrunoro because the machine is 'instant on". You flip the power switch and it's there ready for your input. And coding is not confined to some programming language, it is more the kind of thinking required to break down tasks into managable steps until the computer understands it. Although I must say 'unlearning' all the unsavoury habits BASIC put into my brain was really one of the harder tasks 😉
The variable name length used by Apple Basic is 2 characters. You can use longer, but "10 STARTX=5; STARTY=10;Print STARTX" will print "5" as the actual variable name in applesoft is "ST" Also, what's this whiteboard thing, That's some weird futuristic magic. That should be a blackboard and chalk. renumber was a BeagleBros tool.
So glad UA-cam recommended this and the previous AppleSoft BASIC video... absolutely fantastic. Thank you so much for making these; they've really revived my interest in programming! You're great at teaching and so genuinely enthusiastic-it's really a beautiful thing. Please continue.
@@robertsyrnicki5638 ahhh cool yeah i forgot they can drive LED's really nicely , been watching Dave's Garage and he's done some cool stuff with esp32's and led's, i thought maybe you made some kind of gpu out of the esp32 or something like for another micro controller to use. I think the esp32 is fast enough on its own, my 25mhz 486 computer from way back could run doom, im sure a 240mhz dual core esp32 could do it but i hear the limits is the ram, not big enough for a screen buffer
with this series we now know you are not in the programming business. neither the empire business. you are in the coding-content-creation business. and you are doing it so well!
This video is the pefect example of why the very first thing we learned in school when programming BASIC on the Apple II and later the IBM PC, was how to define a "screen border" subroutine, that would check any commands that printed to the screen for out-of-bounds coordinates, and would deal with offenders appropiately.
You are the prof that programing skill is not about Hi tech computers or hi level language, but about reasonning, patience, problem solving and efficient algorithms..good job.
I don't know how I missed this the first time around, I see that I'm still subscribed and I check my subscriptions page every day. Especially considering that I love fractals. The interesting thing about this fractal tree is that you don't need an array, stack or recursion to draw it. You just need to keep track of the angle and count of the nodes. Then each level can be drawn left to right or right to left and it'll run faster on older hardware that way too. One of the more beautiful aspects of symmetric fractals, they're super easy to make efficient.
This totally gave off retro/nostalgic vibes, reminding me of how fun it was to simply sit at the computer and figure out how to make the lines dance every which way in HGR mode. You've re-captured the excitement and sense of adventure in exploring the possibilities many of us experienced in our teens (give or take), and how satisfying it is to write code, and make it work. Thank you for this.
I like that you keep your mistakes in rather than editing it out. Reminds people new to code and programming (like myself) that everyone makes mistakes
I was thinking all this time: "whay does it look so familiar?" Then it came to me: I used to have an Agat - USSR clone of Apple II and I used to learn coding on it when I was in school...
Thank you for making these, sincerely. The Apple IIc was my first computer, BASIC my first language, and this fills me with such warm nostalgia. GOTO statements. Those sweet monochrome graphics. The simple joy of coding something and seeing it happen. We're so lucky to be able to do this for a living
Your enthusiasm for graphics programming on retro devices is infectious, and this brings back wonderful memories of writing similar programs for my Tandy TRS-80 Color Computer 2 when I was a kid. Thank you for this video, it was so much fun!
@Ryan : those good old memories from 40++ years ago :-) my first "computer" was the SR-52 from TI in 1975, and my first real computer in 1979 had a 6502 with hex keyboard, 8 digit 7-segment display, and 1.25 kb ram. a year later i got the apple ][+ (choice was between trs80, pet, and apple). later we severely modded its hardware by soldering stacks of ram chips to its mainboard to increase it from 48kb to 4×48 kb, getting an additional 144kb (just enough for a ram-floppy disk of 140kb and 4kb of tricky driver software to do the bank switching; loading of new levels of one game reduced from two minutes every minute to only less than one second each time), and also replacing the character generator prom with another eprom and a ram so that we could load variable fonts, or separately access each single dot to do better graphics. a friend designed the hardware and i did the software (mostly not even in 6502 assembler, but directly in hex, lol). too bad that all this is not possible to do with any emulator :-( btw: i also found that the sound generator (done with software in the apple rom) had a timing bug and replaced it with a new gosub to a short routine that i placed in some free bytes among dos :-) ... later, i extended this to playing two selectable notes at the same time by changing the ratio of on/off (using hystheresis of the transistors) on that original speaker (the simple toggling by peeking created that sound you heard in this video) a year later we blew the power supply by pulling 5A from it while it could only deliver 4A (officially only 1A or 2A) ... which then got me the Atari 1040, while other people switched from pet/c64 to amiga ... the apple's corpse still is somewhere in my storage ...
I was never interested in BASIC until I watched this series. And I also love the fact that you have so much joy while coding. It makes me feel at home to see other people enjoy it as well!
I coded a Mandelbrot fractal on the Apple 2+ circa 1982 when I was a kid. I'd got a copy of Mandelbrot's book and spent quite a bit of time working out the mathematics - That's where I first found out what a complex number was. The program took 2 days to run. Many years later I'm designing cryptographic circuits for a semiconductor company. Maybe there's a connection there.
This series is sooooo cool! I love it! Please make another one! Don‘t stop now! What about reading a graphics file from disk and display it in HGR? Or programming a simple racing game with horizontal lines, steering a car with a joystick?
I can't express how I enjoy your 80s-retro-series, this is totally awesome! I grew up with the C64 of my dad and I have a special sentiment to this decades computers.. thank you very much!
Hi Dan... this is... amazing. I was 12 when I started programming in Basic on an Olivetti PC 128, (an italian rebrand of the Thomson MO6), connected to the living room television... [It also had an optical pen... SCI-FI!] I never stopped coding since then, in any language, for every purpose. Now I'm a web developer, and a teacher in the field of VR / XR... and all started with those 128 Kb of RAM... in the living room!
Love your enthusiasm, it is contagious. I was a little burnt out while learning to code and this really helped. I hope one day have this much passion about programming and life in general. Keep up the good work!
I love this! I started programming when I was 11 on a TRS-80 CoCo, at first in Microsoft BASIC, then supplemented with 6809 assembly for performance, eventually moving on to PC's with C and other languages. It turned into a career for me, and sometimes I long for these days when it was pure programming - no DLL or library hell, odd OS and driver bugs, connectivity issues, or weird bugs in one of the 30 packages you import.
I thought I'd poke in to say how much I'm really, really enjoying this series. As useful and informative current as the other videos are, I feel like there's a lot to be learned about the basics of computing from using BASIC or ASM on a limited system. No libraries or includes or additional bits to use, nothing else going on elsewhere to think about. It makes the ideas clear an immediate and easy to follow. I'm sure there are some frustrating elements like constantly re-writing most of a line. But something tells me you think more about a line of code the fourth time you have written it out. I really want this series to continue, it would be really interesting to see how an assembly version of the same fractal tree program would run vrs the basic one on the same system. Keep up the good work sir. It means a lot!
Love your videos! DO NOT switch that monitor out! That setup is all period correct AND the apple ii is a monochrome machine at heart. If you do go for it, the only acceptable monitor would be an Amdek Color I or II I already know this as this is the first computer I ever put my hands on and grew up on these in elementary school, but I just love to watch you! PLEASE More Apple II ...I still learn stuff.
OMG Daniel! You've joined THE CLUB-welcome! That club? That would be anyone who's effortlessly melded two or more "worlds"- computer art with cinema in your case, as per the opening. Still, you have a seriously wonderful curiosity that you're pouring into these tutorials-kudos! ! !
very fun to watch what I learned back in high school. We (computer programing class) would try to make a video game with mini fractals with trees, and snow flakes. The game was of a skier and you had to miss the trees. The snow flakes were just for background. When we were able to use a color monitor we would put in a random color for the snow. The trees were always one color, but the skier would have different color clothes at first of the life. Its been over 30 years since then. Thanks for the walk down memory lane.
The excitement this guy feels when his code just works just reminds me of my own excitement when I started working as a software developer decades after him. X3
If you run out of lines, you don't necessarily have to renumber. You can just goto out and come back in. Gosub also works, but it uses stack space. Yes, that's spaghetti code in action! 3d sounds cool, but ugly without hidden line removal, too slow with it. You may want to use an old trick like the one Elite uses. Only render viewer facing polygons on convex objects.
it helps to write a main program in lines 100, 200, 300, etc, with each line being a gosub to 1000, 2000, 3000, etc. if changes are needed, all these separate parts are easier to maintain.
This is truly so entertaining to watch! The theme song at the beginning and the whole setting just gives such a good vibe. I'd love to see more of this 🤩
I love your enthusiasm! Too many programming related channels are monotone. I always learn something interesting in your videos. Also, the intro video for this series is amazing :)
When I watch you coding, it makes me believe it is fun. About '85' my high school counselor purchased a couple of Commodore 64 computers and during a study hall he supervised, for about three weeks he alternated about a handful of us into a room behind his office where we could pick from a half dozen crafts to be introduced to, and/or go thru a few tutorials for programming on the Commodore 64 computers. I had no idea the opportunity it was at the most optimum time in history to be introduced to that stuff. I just did not see the point of being able to control variables and characters on a screen. They are not even real. I instead invested my time in playing music. Not that it is any more or less tangibly real that a screen.. I thought Mr. Simpson was wierd. He taught math to some of the younger students and his teaching methods and lesson plans were not directly from books and seemed like stuff he just made up. He was amazing I know now.
this is really interesting. I've recently gotten into coding in python and am working on wirelessly controlling motors for robotics. I really wish I would have had more of an interest in this growing up.
its really beneficial that your video includes making mistakes, figuring out where it went wrong, then fixing and explaining it. i dont think many newcomers realize that often times debugging takes far more time&effort than writing code to begin with. and that never, ever ends; no matter how good you get :)
This reminds me of something we would do using Logo back in grade school. I don't remember whether this was possible on Apple II Logo, but I do recall using multiple turtles and recursion to draw trees like this on some Logo implementations.
@@TheCodingTrain I'm adding the comment again. I hope to not be a duplicate. The previous version was deleted by UA-cam because it contained a Url. // LOGO program from fmslogo [dot] sourceforge [dot] io [slash] workshop /* TO PLANT :SIZE :ANGLE IF :SIZE < 1 [ STOP ] RIGHT :ANGLE FORWARD :SIZE REPEAT 4 [ PLANT :SIZE / 2 DIFFERENCE RANDOM 160 80 ] BACK :SIZE LEFT :ANGLE END
PLANT 100 0 */ // and JS version function plant(size, angle, t) { if (size < 1) return;
I really like working in BASIC, because it is very interactive. Even if you program errors out, the values of the variables can be examined or changed and program execution can be resumed. This makes debugging quite easy. Programming languages, such as C, require you to edit source, compile, and then execute just to see if your code works correctly.
back when I was in high school, we had a basic editor we used to use to help write the code, cannot remember what it was called but we would load it in then load the program you were working on and it made life so much easier. If i remember correctly it used the upper part for your 'display' area and the bottom 2 lines for instructions to the program. Oh and as a fun side note that original twisting bouncy line screen saver was written by a class mate in pascal on the apple ][ and he later went on to MIT to do some more programming.
Thank you so much for this excellent video! The apple][ is such a direct machine, where one can truly interact and be creative on the computer. The first Applesoft Renumber was published by Apple Computer in 1978. Later in 1980, it was part of the Applesoft Toolkit. ProDOS came out in 1983.
Great video as always. I cut my teeth on the Sinclair ZX machines and the BBC Model B in the early 1980s before ending up working as a professional developer from the mid 90s. I've been working in event driven OOP systems for the last 27 years and had forgotten the fun and challenges of procedural coding. I am loving watching you re-explore the world of Apple Basic.... it's fun getting back to coding this way. Would love to see something about double buffering if you get around to it!
Thanks for this video. I appreciate seeing you struggle through this. Because I tend to program on my own, I never get to see how others do it, or see what they don't know.
I can kind of relate to this, i am currently studying computer engineering and the first language that i learned to the core was C, but not the most recent C, we actually used an IDE that was developed for the MS-DOS system and it was called TC-2.0 It also included a graphics mode that had support for up to 16 colors. And one of my assignments for the Programming Languages class was to program a minesweeper. I loved this video, and i loved your recursive fractal tree, keep up!
This is about the era when I was first exposed to programming. My first programming class only had us in front of the computer for the last few sessions while we typed in our programs. We did all of our programming on paper and manually debugged over the course of the class.
I love your video and enthusiasm for programming on Apple II computers. This brings back good memories of learning to program Apple II's, TRS-80, and Commodore computers.
I didn't work in micros (and not in Basic), but this series is a fascinating example of the disparate ways to program various machines in the late 1970s/80s. The work done since (adopting C mostly) is pretty fascinating.
Really loving these videos as it takes me back to when I was learning to code in the 80's on a TRS-80 CoCo 3 and looking at code written in another computers Basic and trying to replicate it on your own machine then wondering why certain syntaxes don't work the same.
On my Apple Iic I remember double hi res, and how difficult drawing was especially using direct memory access to set the pixels. Then of course there is the entire reason different colors were showing up with your white lines (every 2 pixels together controlled what color they appeared as, with a hidden bit controlling color set one or two for the pixels in that byte. It’s how woz squeezed the color hi res display into 2k of memory.
This is the first video of yours that I have seen. I really like your style and enthusiasm. Definitely more retro videos please. I would love to see you play around with forth on the Apple ][!
I really LOVE your apple II+ videos! That very machine was the first computer I ever had. I learned programming on it. Also spent hours and hours playing Wizardry, Zork, and other games. Please make more! :)
I'm not an ex-Apple II user but oh does this bring memories of programming my old VIC-20 and my CoCo 2. BASIC may not be structured or Object Oriented but what else is there that allows you to quickly implement an idea for a program, see it running, fix it, fix it again, see it running, save it before the dog unplugs the computer while running below the desk... and all without having to load an IDE and create a project and remember to include some library. BASIC had everything already there, all ready to go. Oh, it was so much fun. I'm not saying that programming in other languages is not fun (it is!), it is just not the same feeling as one had when it was just you and the computer. There are many features of BASIC I don't like and that I would miss if I had to program in BASIC today, it is just that it was such a simple, straightforward programming language, and I miss that feeling of control I was given over the hardware. I can say I only have that feeling when programming a Pico with Micro Python or a Micro:Bit but neither makes color graphics and sounds like I could in Extended Color BASIC and even Commodore BASIC.
I really like how you solved your x and y inversion. Normally we try to keep these kind of fix secret but you make it a statement!!! really enjoyed the video. thanks bud :)
Reminds me of the time I developed a text based quiz on a Dec Vax using Fortran, then added colour and flashing text and using inverse to create a 3D effect on the orange screen monitor. Those were the days! Loving the energy you provide, I’m buzzing trying to locate an emulator to see if the data feature enables storage of binary to create a sprite using hgr or hgr2 lol 😆 keep them coming!
problem with the colors in hgr was that each dot used 2 bits (4 colors only), and an additional bit per byte selected between two "palettes" of 4 colors each. thus you could only have dots with the same palette next to each other, and painting a dot from the other palette over one of those dots would change all dots of that byte.
@@Anson_AKB Actually, pixels used just one bit each with an additional "palette selection" bit for each group of seven pixels. The palette selection bit delayed the video signal by the width of half a pixel. Color was achieved by alternating pixels on and off horizontally. Steve Wozniak took advantage of the NTSC composite video signal to produce color graphics without using the amount of RAM really required for independently colored pixels. That is, the hi-res color was, more or less, faked. From a color perspective, the horizontal resolution was really only 140 pixels instead of 280 pixels.
What a great series! I really feel like I am experiencing the same wonder and joy that my parent's generation must have enjoyed when this was all brand new. Keep it up!
These videos are great, I just recently picked up an apple //e and without any disk drives, and these videos let my try different things to do with it!
There's an extended version (with a few more minutes about COLOR and HCOLOR) on Nebula! nebula.tv/videos/codingtrain-coding-challenge-174-fractal-tree-on-apple-ii
psshey what is drought
among
I asked no painkillers
Can you ask @ImbaMarinesto unblock me? I got blocked iny sleep.
me
I'm a big fan of this new series. I like the commitment you have to the style of the era, even with the silly intro and a theme song. Something about you programming in this reduced environment is very relaxing. I always try to use the least complicated tool for a task and this feels just perfect. Thank you for making these videos.
Totally agree. I'm not big on processing or P5, but this series has me completely fascinated. There's something very relaxing about it, definitely.
Maybe this is the programming equivalent of manual machining videos, compared to CNC?😁
I love this series too!
Thank you I really appreciate this feedback!
Totally share the feelings. As a kid I started to make silly programs in a friend's house who owned an Apple IIe and these videos about programming in the apple IIe makes me travel to those times.
The intro is just ❤😍 but I am an eighties fan
Cheer from France
I literally watched this in between college classes and I’m just so happy that I can watch a coding video as pure entertainment. Please keep this series going!!!
I literally watched this too! With my eyes!!!
Apologies for some of the comments on this thread, they have been removed. Thank you for watching!!
Wholesome and educating entertainment!
I have been struggling with bouts of depression as of recently and I just wanted to say that your videos are one of the only things that actually make me feel happy. Seeing you work through algorithms on this old outdated computer and seeming so happy whilst doing it genuinely makes me feel so good for some reason. It's taking something that I have a lot of interest in, that being programming, and making it purely entertaining instead of making it to be a sort of monotonous chore. Thank you for putting so much effort into these videos.
LOVE THIS!! Brings back 9th grade memories. HGR!! Parents bought an Apple ][ + a year later and my "career" started...
the intro song, the aspect ratio, the colour grading … pure perfection
I'm glad you point out mistakes for the people that are somehow following along, so they don't have to fix it by the time you realize it in the video
They should honestly make a retrospective movie about your life. You're the Bob Ross of programming, my guy. 💕
Happy little trees as well
Happy little fractal trees!
YES! That’s a great description of this guy. Bob Ross of programming. I learn so much and feel better about life on earth at the same time.
Exactly. Man, if he can have this kind of fun today, I can only imagine the wonders he must have witnessed with his apple when he was twelve. Funny thing, my 1st home pc was a 286, and I was very bad at coding then, and the only thing I could imagine to do was pixels with random colors all over the screen. These first examples of him put me a bit on TBT mode... lol...
Despite his infectious enthusiasm, the whole video does have a cool, calming, almost hypnotic effect, The video flew by too fast, I'm watching it again. Taking notes this time around.
This actually looks like fun. The overall tone and snobbery on coding forums, all this "the right way to do stuff", actually prevented me from getting into coding multiple times. The same thing happened with music. Then i found youtubers (like this one) that make it actually fun to learn things.
Yeah as a beginner one should just code however one likes, keeping track of software architecture can come way later, at first it should just be fun
i expected it to be boring, but the peek made me laugh with nostalgia. The second part of video is where the story begins ;)
When I was a kid in the '80s I "invented" push and pop by using a string as a stack and pushing numbers on by converting integers between 0 and 255 to characters using CHR$. I think that was before I learned machine code and learned about stacks. I probably didn't even realize they were the same thing.
I really miss being able to just turn the computer on and start plotting pixels. The stuff you have to do on any modern OS and programming language to just plot a pixel is ridiculous. Installing some kind of framework like Processing or SDL2 is usually the easy way and is not always easy and never as satisfying as doing it natively.
I wish there were more capable versions of the renderers that processing provides. Getting a triangle, or even a pixel with something like openGL with plain code (meaning not as easy as "pixel(40,60)" is just garbage. It's either starting easy with processing or directly getting into vulkan, shaders and whatnot. No small step up...
back in 1989 my mother was 14 and actually helped pay for her education by learning Basic on an Apple ][ and then teaching at schools, showed her this video and she loved the fact people still enjoyed the wonders of the past. thanks for the videos!
This is by far the best thing I’ve accidentally stumbled upon.
I took coding classes in late middle and high school. None got hem matched this guys absolutely adorable energy. He’s funny, smart, and extremely relatable. I laughed so many times while watching your video and really want to try coding in basic.
Keep doing what you’re doing, you’re inspiring the young generation. :)
I remember typing in a Mandelbrot plotting program listing from a copy of Incider magazine and letting it run all day while I was at school. It still hadn't finished by the time I got back home. Regarding renumbering; the DOS 3.3 Master disk came with a Renumber program that would load a renumbering utility into memory. It utilized the so-called "ampersand hook" in that you invoked it by typing '&' at the prompt and pressing RETURN. By default it would renumber all lines in the program so they start at 10 and increment by 10.
It's so much fun to see you having so much fun with this thing. I love the little Ziggy (from Quantum Leap) moments from Future Dan. Also, I think a double buffering video would be pretty interesting indeed.
i'm not sure what he's better at: math, coding, or keeping the viewer interested in the process. TOTALLY subscribing, love the video, love the attitude, love everything. keep it up!
I love this new style of videos keep it up!
I've recently been binging a bunch of your coding challenge videos and these recent apple II+ videos have been great!
I would also like to mention that the genuine fascination and happiness you convey in your videos have brightened my days, during some recent tough times, thank you for doing so much for the coding community. You are like the Bob Ross of programming! 🚂
I no joke loooooove these videos. There's something crazy about how intuitive and usable coding in BASIC is that makes these so fun to watch! Hope to see more!
Daniel - this is so cool! There are people out there that are still teaching kids how to code using BASIC and computers from the 80s. Your videos are very good for that. All the best with you Apple II nebula series as well! ;-)
I am puzzled about the reason why someone would teach a kid that 😵
@@eBrunoro 8 bit computers are very friendly for coders. There is nothing to install, they have a simplified language with a simple graphics API. There are also tons of type-in programs. ... and there is also nostalgia. However - I think the best method to introduce kids to coding is by using a simplified online platform... (I have my preferences here).
@@eBrunoro because the machine is 'instant on". You flip the power switch and it's there ready for your input. And coding is not confined to some programming language, it is more the kind of thinking required to break down tasks into managable steps until the computer understands it. Although I must say 'unlearning' all the unsavoury habits BASIC put into my brain was really one of the harder tasks 😉
The variable name length used by Apple Basic is 2 characters. You can use longer, but "10 STARTX=5; STARTY=10;Print STARTX" will print "5" as the actual variable name in applesoft is "ST"
Also, what's this whiteboard thing, That's some weird futuristic magic. That should be a blackboard and chalk.
renumber was a BeagleBros tool.
I think you meant, "10 STARTX=5: STARTY=10:Print STARTX" will print "10".
I left a similar comment before reading yours.
I think we can all accept his use of a witchcraft whiteboard! I never liked blackboards, their noise just sends shivers down my spine.
So glad UA-cam recommended this and the previous AppleSoft BASIC video... absolutely fantastic. Thank you so much for making these; they've really revived my interest in programming! You're great at teaching and so genuinely enthusiastic-it's really a beautiful thing. Please continue.
i'm so glad to hear this!
I'd love to see a 3D Renderer for an Apple 2. I did one for an ESP32 Microcontroller and it was so much fun!
thats cool, how does that work? I wasnt aware the esp32 could do graphics
@@mikejones-vd3fg I'm just using an adafruit library to some draw triangles on a oled screen.
Not a renderer, but back then I loved GraForth!
@@robertsyrnicki5638 ahhh cool yeah i forgot they can drive LED's really nicely , been watching Dave's Garage and he's done some cool stuff with esp32's and led's, i thought maybe you made some kind of gpu out of the esp32 or something like for another micro controller to use. I think the esp32 is fast enough on its own, my 25mhz 486 computer from way back could run doom, im sure a 240mhz dual core esp32 could do it but i hear the limits is the ram, not big enough for a screen buffer
@@smanzoli shudders in RedPower 2 FORTH
This is such a throwback to the past. I honestly prefer this to modern graphic apis! Thank you so much for this!
I love how you always reach the point in wich you say "this does't work, we need an array". We all love arrays
with this series we now know you are not in the programming business. neither the empire business. you are in the coding-content-creation business. and you are doing it so well!
Обожаю этого чувака. Бейсик. 1995 год, 5 класс, компьютеры YAMAHA. Финалом было написать игру с использованием спрайтов. Ностальгия...
This video is the pefect example of why the very first thing we learned in school when programming BASIC on the Apple II and later the IBM PC, was how to define a "screen border" subroutine, that would check any commands that printed to the screen for out-of-bounds coordinates, and would deal with offenders appropiately.
You are the prof that programing skill is not about Hi tech computers or hi level language, but about reasonning, patience, problem solving and efficient algorithms..good job.
aaah yesss. the Bob Ross of programming. Thanks for all your content, it's really enjoyable and inspiring.
I don't know how I missed this the first time around, I see that I'm still subscribed and I check my subscriptions page every day. Especially considering that I love fractals. The interesting thing about this fractal tree is that you don't need an array, stack or recursion to draw it. You just need to keep track of the angle and count of the nodes. Then each level can be drawn left to right or right to left and it'll run faster on older hardware that way too. One of the more beautiful aspects of symmetric fractals, they're super easy to make efficient.
What a brilliant feel good channel. Takes me back to my childhood days on my Atari 800XL.
This totally gave off retro/nostalgic vibes, reminding me of how fun it was to simply sit at the computer and figure out how to make the lines dance every which way in HGR mode. You've re-captured the excitement and sense of adventure in exploring the possibilities many of us experienced in our teens (give or take), and how satisfying it is to write code, and make it work. Thank you for this.
This video is like my blankey if i ever need something to cheer me up this always does the trick.
I like that you keep your mistakes in rather than editing it out. Reminds people new to code and programming (like myself) that everyone makes mistakes
I am loving this series, and I would love to see more!
I was thinking all this time: "whay does it look so familiar?" Then it came to me: I used to have an Agat - USSR clone of Apple II and I used to learn coding on it when I was in school...
Thank you for making these, sincerely. The Apple IIc was my first computer, BASIC my first language, and this fills me with such warm nostalgia.
GOTO statements. Those sweet monochrome graphics. The simple joy of coding something and seeing it happen.
We're so lucky to be able to do this for a living
Your enthusiasm for graphics programming on retro devices is infectious, and this brings back wonderful memories of writing similar programs for my Tandy TRS-80 Color Computer 2 when I was a kid. Thank you for this video, it was so much fun!
My first 3D programme was on my CoCo2. 21 lines making the shape of a jet plane. It ran at 1.5 frames per second.
@Ryan : those good old memories from 40++ years ago :-)
my first "computer" was the SR-52 from TI in 1975, and my first real computer in 1979 had a 6502 with hex keyboard, 8 digit 7-segment display, and 1.25 kb ram. a year later i got the apple ][+ (choice was between trs80, pet, and apple).
later we severely modded its hardware by soldering stacks of ram chips to its mainboard to increase it from 48kb to 4×48 kb, getting an additional 144kb (just enough for a ram-floppy disk of 140kb and 4kb of tricky driver software to do the bank switching; loading of new levels of one game reduced from two minutes every minute to only less than one second each time), and also replacing the character generator prom with another eprom and a ram so that we could load variable fonts, or separately access each single dot to do better graphics. a friend designed the hardware and i did the software (mostly not even in 6502 assembler, but directly in hex, lol). too bad that all this is not possible to do with any emulator :-(
btw: i also found that the sound generator (done with software in the apple rom) had a timing bug and replaced it with a new gosub to a short routine that i placed in some free bytes among dos :-) ... later, i extended this to playing two selectable notes at the same time by changing the ratio of on/off (using hystheresis of the transistors) on that original speaker (the simple toggling by peeking created that sound you heard in this video)
a year later we blew the power supply by pulling 5A from it while it could only deliver 4A (officially only 1A or 2A) ... which then got me the Atari 1040, while other people switched from pet/c64 to amiga ... the apple's corpse still is somewhere in my storage ...
I was never interested in BASIC until I watched this series. And I also love the fact that you have so much joy while coding. It makes me feel at home to see other people enjoy it as well!
A basic 3D-ish renderer in apple basic sounds way to cool to just ignore!
His teaching methods and enthusiasm really makes me wanna get an apple ii and just code for the fun of it.
It's not the same as the real thing but this emulator is pretty great! www.scullinsteel.com/apple2/
I coded a Mandelbrot fractal on the Apple 2+ circa 1982 when I was a kid. I'd got a copy of Mandelbrot's book and spent quite a bit of time working out the mathematics - That's where I first found out what a complex number was. The program took 2 days to run. Many years later I'm designing cryptographic circuits for a semiconductor company. Maybe there's a connection there.
Me too! Mandelbrot set zoom ins (in Applesoft BASIC) , captured with an assembly program for later playback. Ahh memories.
Holy moly. This is so cool. Millennial programmer here. Graphics are just too easy today 😄 this just seems like too much fun.
Stick with basic! This is great. I haven't been so excited about a series in a long time.
This series is sooooo cool! I love it! Please make another one! Don‘t stop now! What about reading a graphics file from disk and display it in HGR? Or programming a simple racing game with horizontal lines, steering a car with a joystick?
i love these so much i actually saved this for my lunch break so I could watch it all in one go!
I can't express how I enjoy your 80s-retro-series, this is totally awesome!
I grew up with the C64 of my dad and I have a special sentiment to this decades computers.. thank you very much!
Hi Dan... this is... amazing.
I was 12 when I started programming in Basic on an Olivetti PC 128, (an italian rebrand of the Thomson MO6), connected to the living room television... [It also had an optical pen... SCI-FI!]
I never stopped coding since then, in any language, for every purpose.
Now I'm a web developer, and a teacher in the field of VR / XR... and all started with those 128 Kb of RAM... in the living room!
I love hearing these stories so much!!!
Love your enthusiasm, it is contagious. I was a little burnt out while learning to code and this really helped. I hope one day have this much passion about programming and life in general. Keep up the good work!
I love this! I started programming when I was 11 on a TRS-80 CoCo, at first in Microsoft BASIC, then supplemented with 6809 assembly for performance, eventually moving on to PC's with C and other languages. It turned into a career for me, and sometimes I long for these days when it was pure programming - no DLL or library hell, odd OS and driver bugs, connectivity issues, or weird bugs in one of the 30 packages you import.
I thought I'd poke in to say how much I'm really, really enjoying this series. As useful and informative current as the other videos are, I feel like there's a lot to be learned about the basics of computing from using BASIC or ASM on a limited system. No libraries or includes or additional bits to use, nothing else going on elsewhere to think about. It makes the ideas clear an immediate and easy to follow. I'm sure there are some frustrating elements like constantly re-writing most of a line. But something tells me you think more about a line of code the fourth time you have written it out.
I really want this series to continue, it would be really interesting to see how an assembly version of the same fractal tree program would run vrs the basic one on the same system.
Keep up the good work sir. It means a lot!
Love your videos!
DO NOT switch that monitor out! That setup is all period correct AND the apple ii is a monochrome machine at heart.
If you do go for it, the only acceptable monitor would be an Amdek Color I or II
I already know this as this is the first computer I ever put my hands on and grew up on these in elementary school, but I just love to watch you!
PLEASE More Apple II ...I still learn stuff.
OMG Daniel! You've joined THE CLUB-welcome! That club? That would be anyone who's effortlessly melded two or more "worlds"- computer art with cinema in your case, as per the opening. Still, you have a seriously wonderful curiosity that you're pouring into these tutorials-kudos! ! !
very fun to watch what I learned back in high school. We (computer programing class) would try to make a video game with mini fractals with trees, and snow flakes. The game was of a skier and you had to miss the trees. The snow flakes were just for background. When we were able to use a color monitor we would put in a random color for the snow. The trees were always one color, but the skier would have different color clothes at first of the life. Its been over 30 years since then. Thanks for the walk down memory lane.
The excitement this guy feels when his code just works just reminds me of my own excitement when I started working as a software developer decades after him. X3
If you run out of lines, you don't necessarily have to renumber. You can just goto out and come back in. Gosub also works, but it uses stack space. Yes, that's spaghetti code in action!
3d sounds cool, but ugly without hidden line removal, too slow with it. You may want to use an old trick like the one Elite uses. Only render viewer facing polygons on convex objects.
it helps to write a main program in lines 100, 200, 300, etc, with each line being a gosub to 1000, 2000, 3000, etc.
if changes are needed, all these separate parts are easier to maintain.
I think that REN does renumber the lines ; In my souvenir, the command did accept parameters (lines from, to)
This is truly so entertaining to watch! The theme song at the beginning and the whole setting just gives such a good vibe.
I'd love to see more of this 🤩
I love your enthusiasm! Too many programming related channels are monotone. I always learn something interesting in your videos. Also, the intro video for this series is amazing :)
When I watch you coding, it makes me believe it is fun. About '85' my high school counselor purchased a couple of Commodore 64 computers and during a study hall he supervised, for about three weeks he alternated about a handful of us into a room behind his office where we could pick from a half dozen crafts to be introduced to, and/or go thru a few tutorials for programming on the Commodore 64 computers. I had no idea the opportunity it was at the most optimum time in history to be introduced to that stuff. I just did not see the point of being able to control variables and characters on a screen. They are not even real. I instead invested my time in playing music. Not that it is any more or less tangibly real that a screen..
I thought Mr. Simpson was wierd. He taught math to some of the younger students and his teaching methods and lesson plans were not directly from books and seemed like stuff he just made up.
He was amazing I know now.
thank you!! we need modern programmers making these videos, finding old archived code tutorials from the 80s is way too strenuous for me
this is really interesting. I've recently gotten into coding in python and am working on wirelessly controlling motors for robotics. I really wish I would have had more of an interest in this growing up.
its really beneficial that your video includes making mistakes, figuring out where it went wrong, then fixing and explaining it. i dont think many newcomers realize that often times debugging takes far more time&effort than writing code to begin with. and that never, ever ends; no matter how good you get :)
This reminds me of something we would do using Logo back in grade school. I don't remember whether this was possible on Apple II Logo, but I do recall using multiple turtles and recursion to draw trees like this on some Logo implementations.
Ah, yes, this would a great demonstration for Logo!
Having done it on an Apple II with Apple Logo, I can definitively say that it was possible.
Apple ][ had ZOTs you could programme as shapes. Then scale/rotate and hplot them.
@@TheCodingTrain I'm adding the comment again. I hope to not be a duplicate. The previous version was deleted by UA-cam because it contained a Url.
// LOGO program from fmslogo [dot] sourceforge [dot] io [slash] workshop
/*
TO PLANT :SIZE :ANGLE
IF :SIZE < 1 [ STOP ]
RIGHT :ANGLE
FORWARD :SIZE
REPEAT 4 [
PLANT :SIZE / 2 DIFFERENCE RANDOM 160 80
]
BACK :SIZE
LEFT :ANGLE
END
PLANT 100 0
*/
// and JS version
function plant(size, angle, t)
{
if (size < 1)
return;
t.right(angle);
t.forward(size);
t.repeat(4, () => {
plant(size / 2, random(160) - 80, t );
});
t.back(size);
t.left(angle);
}
// BASIC version?
I really like working in BASIC, because it is very interactive. Even if you program errors out, the values of the variables can be examined or changed and program execution can be resumed. This makes debugging quite easy. Programming languages, such as C, require you to edit source, compile, and then execute just to see if your code works correctly.
His happiness and energy is contagious! ✨
back when I was in high school, we had a basic editor we used to use to help write the code, cannot remember what it was called but we would load it in then load the program you were working on and it made life so much easier. If i remember correctly it used the upper part for your 'display' area and the bottom 2 lines for instructions to the program. Oh and as a fun side note that original twisting bouncy line screen saver was written by a class mate in pascal on the apple ][ and he later went on to MIT to do some more programming.
Thank you so much for this excellent video! The apple][ is such a direct machine, where one can truly interact and be creative on the computer. The first Applesoft Renumber was published by Apple Computer in 1978. Later in 1980, it was part of the Applesoft Toolkit. ProDOS came out in 1983.
This is a great series. It's cool to see that relatively primitive technology can actually do pretty advanced stuff.
I was screaming internally when you were reversing the velocity w/o either setting it back to the border or adding the new velocity
Seeing that fractal tree drawing out was incredible! What a little trigonometry and logic can do!
It was a pleasure to see you code on the Apple II. I am very grateful to have my modern IDE's now!
Holy cow, I love your energy! I was so excited every time you got something working and threw your arms out in joy.
absolutely loving this low series, please keep it up. I'd love to see the 3D renderer!
Great video as always. I cut my teeth on the Sinclair ZX machines and the BBC Model B in the early 1980s before ending up working as a professional developer from the mid 90s. I've been working in event driven OOP systems for the last 27 years and had forgotten the fun and challenges of procedural coding. I am loving watching you re-explore the world of Apple Basic.... it's fun getting back to coding this way. Would love to see something about double buffering if you get around to it!
THIS TUTORIAL REALLY WORKS I AM FROM PHILIPPINES! THIS MAN DESERVES A SUBSCRIPTION!
Thanks for this video. I appreciate seeing you struggle through this. Because I tend to program on my own, I never get to see how others do it, or see what they don't know.
Go on! I love this flashback of my youth!!!!!
I can kind of relate to this, i am currently studying computer engineering and the first language that i learned to the core was C, but not the most recent C, we actually used an IDE that was developed for the MS-DOS system and it was called TC-2.0 It also included a graphics mode that had support for up to 16 colors. And one of my assignments for the Programming Languages class was to program a minesweeper. I loved this video, and i loved your recursive fractal tree, keep up!
I really love these serie on Apple II+, it's really awesome for me, a young programmer, to see how people used to code
Man, this brings back SOO many memories.
This is about the era when I was first exposed to programming. My first programming class only had us in front of the computer for the last few sessions while we typed in our programs. We did all of our programming on paper and manually debugged over the course of the class.
Excited to get into the 3d renderer... I assume you might have go into some machine code to make something fast enough! Excited for that too
You've actually got so quality stuff on your channel. Keep that up man!
Ahh, so nice to watch this very simple yet powerful programming environment!
I love your video and enthusiasm for programming on Apple II computers. This brings back good memories of learning to program Apple II's, TRS-80, and Commodore computers.
I didn't work in micros (and not in Basic), but this series is a fascinating example of the disparate ways to program various machines in the late 1970s/80s. The work done since (adopting C mostly) is pretty fascinating.
Really loving these videos as it takes me back to when I was learning to code in the 80's on a TRS-80 CoCo 3 and looking at code written in another computers Basic and trying to replicate it on your own machine then wondering why certain syntaxes don't work the same.
On my Apple Iic I remember double hi res, and how difficult drawing was especially using direct memory access to set the pixels.
Then of course there is the entire reason different colors were showing up with your white lines (every 2 pixels together controlled what color they appeared as, with a hidden bit controlling color set one or two for the pixels in that byte. It’s how woz squeezed the color hi res display into 2k of memory.
This is the first video of yours that I have seen. I really like your style and enthusiasm. Definitely more retro videos please. I would love to see you play around with forth on the Apple ][!
I love that you do stuff on the apple II. I just got one, this is going to be so much fun
I really LOVE your apple II+ videos! That very machine was the first computer I ever had. I learned programming on it. Also spent hours and hours playing Wizardry, Zork, and other games. Please make more! :)
I'm not an ex-Apple II user but oh does this bring memories of programming my old VIC-20 and my CoCo 2. BASIC may not be structured or Object Oriented but what else is there that allows you to quickly implement an idea for a program, see it running, fix it, fix it again, see it running, save it before the dog unplugs the computer while running below the desk... and all without having to load an IDE and create a project and remember to include some library. BASIC had everything already there, all ready to go. Oh, it was so much fun.
I'm not saying that programming in other languages is not fun (it is!), it is just not the same feeling as one had when it was just you and the computer. There are many features of BASIC I don't like and that I would miss if I had to program in BASIC today, it is just that it was such a simple, straightforward programming language, and I miss that feeling of control I was given over the hardware. I can say I only have that feeling when programming a Pico with Micro Python or a Micro:Bit but neither makes color graphics and sounds like I could in Extended Color BASIC and even Commodore BASIC.
I really like how you solved your x and y inversion. Normally we try to keep these kind of fix secret but you make it a statement!!! really enjoyed the video. thanks bud :)
Reminds me of the time I developed a text based quiz on a Dec Vax using Fortran, then added colour and flashing text and using inverse to create a 3D effect on the orange screen monitor. Those were the days! Loving the energy you provide, I’m buzzing trying to locate an emulator to see if the data feature enables storage of binary to create a sprite using hgr or hgr2 lol 😆 keep them coming!
problem with the colors in hgr was that each dot used 2 bits (4 colors only), and an additional bit per byte selected between two "palettes" of 4 colors each. thus you could only have dots with the same palette next to each other, and painting a dot from the other palette over one of those dots would change all dots of that byte.
@@Anson_AKB Actually, pixels used just one bit each with an additional "palette selection" bit for each group of seven pixels. The palette selection bit delayed the video signal by the width of half a pixel. Color was achieved by alternating pixels on and off horizontally. Steve Wozniak took advantage of the NTSC composite video signal to produce color graphics without using the amount of RAM really required for independently colored pixels. That is, the hi-res color was, more or less, faked. From a color perspective, the horizontal resolution was really only 140 pixels instead of 280 pixels.
What a great series! I really feel like I am experiencing the same wonder and joy that my parent's generation must have enjoyed when this was all brand new. Keep it up!
I want this guy's dedication and passion
I do enjoy watching you work through the problem and update the code.
These videos are great, I just recently picked up an apple //e and without any disk drives, and these videos let my try different things to do with it!