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 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.
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!!!
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.
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!
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.
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. :)
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.
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'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!
@@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
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
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 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.
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 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.
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 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!
So glad TH-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.
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 ...
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
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...
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.
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!
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!
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
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.
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 :)
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 😉
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 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.
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?
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.
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 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 🤩
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.
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 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.
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.
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.
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.
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.
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.
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!
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 TH-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 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.
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.
Playstation2 used to come with a cd with demo games. It also included this software you could actually program and plugin usb keyboard in. It had a template code to make fractal shapes, which was fashinating. I was a kid back then in the late 90's early 20's, so I didn't know anything about coding back then.
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.
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 :)
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 was at high school in the mid-eighties and there was a 14 year old boy there who was amazing at computer programming. He wrote a fractal tree program on the ZX Spectrum just like yours here.
One of the things that made VIC-20 so much more popular than Apple was that it used any TV as a monitor. You didn't have to buy a fancy colour monitor, you just plugged it in to your TV at home. This opened up for Commodore64 to surpass Apple II a few years later as well. It wasn't until people made dedicated rooms for their computers that it became easier to just have monitors separate from TVs in their homes. When home programmers started doing fancy things like putting the computer on a desk and sitting on a chair instead of the floor and no longer bending their necks at a 270 degree angle...
Televisions with NTSC composite video inputs could be used as monitors for Apple II computers. I grew up using an Apple //e with a monochrome monitor. When I discovered that my parents' console television had composite video input, I ran wires from one end of the living room (where the Apple //e was located) to the other end (where the television was located) just to see how the graphics looked in color. One could have also ran the Apple II video output through a VCR to display it on a television through the RF signal. The real reason computers began having separate monitors is that the graphics resolution increased beyond what a CRT television could support. The irony in this, though, is that thirty years later, high definition televisions surpassed the resolution of CRT computer monitors and in fact, I am using a high definition television as my PC monitor at this very moment. I think the Commodore 64 sold more the Apple II simple because it had a much lower price ($400 versus $1000).
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! :)
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! ! !
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 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!
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
LOVE THIS!! Brings back 9th grade memories. HGR!! Parents bought an Apple ][ + a year later and my "career" started...
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.
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!
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.
Обожаю этого чувака. Бейсик. 1995 год, 5 класс, компьютеры YAMAHA. Финалом было написать игру с использованием спрайтов. Ностальгия...
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
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!
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.
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. :)
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
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'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 expected it to be boring, but the peek made me laugh with nostalgia. The second part of video is where the story begins ;)
This is such a throwback to the past. I honestly prefer this to modern graphic apis! Thank you so much for this!
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! 🚂
Me too! Mandelbrot set zoom ins (in Applesoft BASIC) , captured with an assembly program for later playback. Ahh memories.
This video is like my blankey if i ever need something to cheer me up this always does the trick.
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!
What a brilliant feel good channel. Takes me back to my childhood days on my Atari 800XL.
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
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
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.
I love how you always reach the point in wich you say "this does't work, we need an array". We all love arrays
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.
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 love this new style of videos keep it up!
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.
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 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!
So glad TH-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!
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 ...
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
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 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...
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.
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!
A basic 3D-ish renderer in apple basic sounds way to cool to just ignore!
Holy moly. This is so cool. Millennial programmer here. Graphics are just too easy today 😄 this just seems like too much fun.
I am loving this series, and I would love to see more!
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!
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
aaah yesss. the Bob Ross of programming. Thanks for all your content, it's really enjoyable and inspiring.
Stick with basic! This is great. I haven't been so excited about a series in a long time.
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.
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 :)
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 😉
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 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! ✨
i love these so much i actually saved this for my lunch break so I could watch it all in one go!
Man, this brings back SOO many memories.
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?
thank you!! we need modern programmers making these videos, finding old archived code tutorials from the 80s is way too strenuous for me
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.
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 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 🤩
Seeing that fractal tree drawing out was incredible! What a little trigonometry and logic can do!
I really love these serie on Apple II+, it's really awesome for me, a young programmer, to see how people used to code
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.
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!!!
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.
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.
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.
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.
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.
It was a pleasure to see you code on the Apple II. I am very grateful to have my modern IDE's now!
With your videos my learning curve will shrink drastically. Thank you.
I was screaming internally when you were reversing the velocity w/o either setting it back to the border or adding the new velocity
This is a great series. It's cool to see that relatively primitive technology can actually do pretty advanced stuff.
absolutely loving this low series, please keep it up. I'd love to see the 3D renderer!
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.
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!
I do enjoy watching you work through the problem and update the code.
Go on! I love this flashback of my youth!!!!!
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 TH-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 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 :)
THIS TUTORIAL REALLY WORKS I AM FROM PHILIPPINES! THIS MAN DESERVES A SUBSCRIPTION!
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.
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.
Playstation2 used to come with a cd with demo games. It also included this software you could actually program and plugin usb keyboard in. It had a template code to make fractal shapes, which was fashinating. I was a kid back then in the late 90's early 20's, so I didn't know anything about coding back then.
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.
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 :)
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 wouldn't even believe any of this was possible until I saw you do it.....
Holy cow, I love your energy! I was so excited every time you got something working and threw your arms out in joy.
I was at high school in the mid-eighties and there was a 14 year old boy there who was amazing at computer programming. He wrote a fractal tree program on the ZX Spectrum just like yours here.
One of the things that made VIC-20 so much more popular than Apple was that it used any TV as a monitor.
You didn't have to buy a fancy colour monitor, you just plugged it in to your TV at home.
This opened up for Commodore64 to surpass Apple II a few years later as well.
It wasn't until people made dedicated rooms for their computers that it became easier to just have monitors separate from TVs in their homes.
When home programmers started doing fancy things like putting the computer on a desk and sitting on a chair instead of the floor and no longer bending their necks at a 270 degree angle...
Televisions with NTSC composite video inputs could be used as monitors for Apple II computers. I grew up using an Apple //e with a monochrome monitor. When I discovered that my parents' console television had composite video input, I ran wires from one end of the living room (where the Apple //e was located) to the other end (where the television was located) just to see how the graphics looked in color. One could have also ran the Apple II video output through a VCR to display it on a television through the RF signal.
The real reason computers began having separate monitors is that the graphics resolution increased beyond what a CRT television could support. The irony in this, though, is that thirty years later, high definition televisions surpassed the resolution of CRT computer monitors and in fact, I am using a high definition television as my PC monitor at this very moment.
I think the Commodore 64 sold more the Apple II simple because it had a much lower price ($400 versus $1000).
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! :)
Olds pieces of hardware like this Apple 2 looks so cool, wish i was born 20 years earlier just to play arround with these.
This is the kind of joyful second to second programming that I think gets us all hooked initially. Really fun stuff to watch.
Ahh, so nice to watch this very simple yet powerful programming environment!
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! ! !
Please please continue to make more of these videos on classic computers its so interesting especially for us retro computing enthusiasts :)
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)
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 want this guy's dedication and passion