Coding Challenge: 3D on Apple II

preview_player
Показать описание


References:

Related Videos:

AppleSoft BASIC:

Apple II Emulators:

Unedited Raw Footage:

Related Coding Challenges:

Timestamps:
0:00 The future of computer graphics!
0:39 Viewer comments
1:58 Editing code in BASIC
3:28 Floppy Emu disk emulator
5:09 Double buffered animation
6:55 Initialize high resolution graphics for 2 pages
7:42 Animating a line
8:50 CALL to clear the screen
9:22 Switching screens
13:18 The "draw loop"
14:55 Rotate a line
15:45 Add points
16:36 Add a subroutine that draws a line between two points
17:55 Scaling the line
20:55 Matrix Multiplication for Rotation
29:26 Animate rotation
32:00 Clear background
33:17 Subroutine to add the points of a cube
35:40 Subroutine to draw the lines
36:46 Incorporating matrix math.
40:24 Edit code to add more points
41:46 Connect the points to draw a cube
43:03 Beautiful, 3D rotating cube!!
43:17 x-axis rotation
43:52 Ways to optimize the code
44:42 Can you add perspective projection?
45:08 See you next time on Coding Together!

Editing by Mathieu Blanchette
Animations by Jason Heglund
Eye of the Tiger cover by Leon from @neo
Additional music from from Epidemic Sound

#3dgraphics #1980s #appleii #matrixmath #basic
Рекомендации по теме
Комментарии
Автор

I don't even code but here I am Professor, right on time.

ApexSim
Автор

This show is so cool. I like especially the retro-looking artifacts, studio, and happy atmosphere! It transposes you into the 80s when computers just entered personal homes!

CodingAdventures
Автор

I love this series, you always find ways to create complex projects in Apple basic, while I can’t make them in JavaScript or other easier language. I think you really are a Bob Ross of programming

zhabiboss
Автор

Being a kid from the late 70s who started programming in BASIC on my father's Sharp MZ-700 as an 8-year-old in 1985 I simply LOVE this channel!! Keep up the good work, Mr. Shiffman! Best regards from a fan in Denmark 😉

kasperchristensen
Автор

You, Ben Eater, 3Blue1Brown, Sebastian Lague and Numberphile are my favorite channels at the moment.

I struggle to understand some of yhe concepts but more and more is staying in each time I re-watch these videos.

Thank you for making them!

danielstephenson
Автор

Daniel is the best teacher any of us could ever had had; thanks to YouTube we do have him!!

mrBlagstock
Автор

Saturday night in Ireland, cold and rainy. So nothing better than a new vid from the Dan-meister.

kieran.stafford
Автор

oh man, when i was a kid, my dad got a Mandelbrot program for our 8086--we left it running all night and all the next day while i was at school, and my mind was pretty blown when i finally got home

evilotis
Автор

That old BASIC dialect feels a little bit strange nowadays ... but for sure it felt high-tech when we were kids! Those early 8-bit computers provided a very quick and accessible way into coding to people of all ages. Apple II and other micros contained the right recipe for coding: a built in language, a code editor and a decent API for graphics, text and sound. Congrats for making these videos!

CodingAdventures
Автор

Dan: You should do all the muliply (and divide) using bit shift and addition. Use lookup table for sin and cos. Also, as you said... remove the cls and use clear line function. If possible you could clear screen every vertical blank. You'll need to read that registry. Also I would sort the drawing order so that the line drawing follows the electronic beam in the CRT. just a few suggestions from a retro demo coder.

hblomqvist
Автор

Something I've noticed as someone who's learning to code as an adult learner is how a program lives in your brain whilst writing it. When I watch this I can't get a feel for what's happening and jump to the conclusions you make because I can't image and understand the program. When I write my own code I can imagine my whole program and fully understand it. It's the strangest phenomenon. Thanks for the video. I enjoyed the throwback to writing in basic.

kestergreen
Автор

Such a delight watching you harken back to a simpler time & enjoy coding on your Apple II! Retrocomputing is great fun!

ChrisPatti
Автор

You are incredible, these videos gave me a whole perspective on what my predecessors had to go through and a lot of my older coworkers' habits now make sense to me.

nionioniosmeg
Автор

As someone who already grew up with modern computers I love seeing the origins and how people did coding back then. Makes me really grateful for modern IDE's and programming languages + libraries

weirdcreature
Автор

Now I remember why I used to write code on paper and where that habit apparently came from since I still hand write code when I’m trying to figure out how to tackle something complicated

JohnGodwin
Автор

I, too, wrote a mandelbrot program for my Apple II+ clone in 1987 or so. I ran it overnight and found it had only done about a third of the image, and of course wasn't all that impressive on my amber monochrome monitor. So I hauled the computer down to the family room and plugged it into the TV so I could see colour. It only got about half way through an image before my step-dad insisted I get the computer off of the floor and back to the upstairs office where it belonged. Fun times.
As far as 3D animation goes, I remember being fascinated by GraFORTH. It was the second programming language I was exposed to and taught me a lot.

beauregardslim
Автор

I adore these videos. I am a second year computer science student, and I'm in the midst of learning C and C* right now. Even though the syntax and functionality between C and Basic are worlds apart, just the barebones breakdown of concepts is so useful for my understanding. I love the style, and I've always loved your energy, so keep up the great content!

CriticalMonkey
Автор

If you ESC edit a line that you've listed, be careful if it includes any text strings that wrap around to the next line because they'll be indented for clarity in the listing. That means you have to escape over the additional spaces added by the indentation or they'll be added into the string. You can also delete characters by escaping over them or insert characters by escaping back enough characters to type them in.

wyldride
Автор

xy = (x2 + y2 - (x-y)2)/2 can do an 8 × 8 by three lookups in a small squaring table, of just 512 bytes, and a few additional shifts and adds. Also unroll the loops.

hblomqvist
Автор

Honestly, what I love the most about this channel is the sheer honesty in the process. Dan makes mistakes and also makes happy accidents. It's lovely to see him to create in that fashion. It's only fair to fail to soon find the solution in the end.

peterrealar.