I made some errors when talking about NTSC frames so here's some corrections: -The animation at 5:26 isn't actually showing interlacing. If it were it would be sending beams to every OTHER line, and then the next pass would fill those in. -The 262 lines drawn by the Atari in NTSC are per interlaced field. Since interlacing skips every other line, it makes sense that the vertical resolution is half as tall as the total number of scanlines. -The vertical blank and overscan are not "intended" to provide space for game logic, but to move the beam back to the top of the screen to draw the next frame. It's just a lucky coincidence that logic can be done there. Thanks to Ashe for pointing those errors out. I'm not an expert on Atari programming, but I wanted to try it out and share what I was able to come up with. discord: discord.com/invite/EKPBjjUc65
@Cliffordlonghead8 ай бұрын
hi
@Scudmaster117 ай бұрын
Hello Hello Truttle1 Ive been watching your esolang series... and encouraged me to make me own esolang... love ya videos ❤
@chinablue16993 ай бұрын
When the Atari 2600 came out the second gen consoles like the Channel F and the Odyssee 2 were already in existance and in peoples homes and they already had swapable cartridges.
@anthonylosego25 күн бұрын
Your detraction downward from today's compute doesn't really sit well from the going from nothing to up to what was available. There was nothing. No cell phones, no PCs, no anything. You couldn't go talk to anyone unless you could walk to their house. You might be missing the results of such an incredibly restricted time. It was 10 years later before a 300 bps modem was even available commonly. You don't have to be more respectful, but at least you could understand how much this was hard given the environment it was created in. Which you seem to be using today's standard with emulators to understand it. But try turning off your internet and make a new game from scratch. While also making the game work. No help anywhere.
@anthonylosego25 күн бұрын
Though I have to admit, now that I heard your outro, it's pretty good. I give you more than a no points for that.
@kornsuwin8 ай бұрын
i just wolfed down [unspecified value] bagels and now i feel h
@Lixxide7 ай бұрын
is that value an int ?
@kornsuwin7 ай бұрын
@@Lixxide i think so i forgoŧ
@Lixxide7 ай бұрын
@@kornsuwin is that int >= 0 ?
@reas05 ай бұрын
@@Lixxideno
@Lixxide5 ай бұрын
@@reas0 ok
@tazgirl_8 ай бұрын
Truttle, I was just discussing the 2600 in college 2 hours ago. Your timing horrifies me.
@Truttle18 ай бұрын
imagine not having this week as spring break in college
@tazgirl_8 ай бұрын
@@Truttle1 I'm in the UK so when I say college it's more like the end of high school I think. Also we had half term last week which is like spring break I think?
@peterkerj73578 ай бұрын
@@tazgirl_ *say college
@tazgirl_8 ай бұрын
Ah, thanks
@Faebiebot8 ай бұрын
Just goes to show how impressive games like Yar's Revenge are.
@20windfisch118 ай бұрын
Let alone Solaris.
@juststatedtheobvious96338 ай бұрын
Or Kung Fu Master. Or modern homebrew like Star Castle and Pac-Man 8kb.
@0011peace8 ай бұрын
Raiders of the Lost Ark i firsr console with an invetory s more than 1
@GarryGri5 ай бұрын
There are loads of accomplished games on the ATARI 2600, the original Pac-Man from ATARI was one of the worst, not the best! A couple of my favorites are 'Smurf: Rescue in Gargamels Castle' and 'Dark Chambers' a really striped down Gauntlet, or dandy, clone.
@r3jjs8 ай бұрын
The 6502 has a BCD mode, or binary coded decimal, which works VERY well in contexts like this. You can use the same display logic you have now ..... worked very well in the 2600 games I've put together.
@syntaxerror99948 ай бұрын
One detail people often get wrong about the ET landfill is that it was to get rid of returned ET carts. What actually happened is they were liquidating a wearhouse for tax reasons. Among the copies of ET there was other games and console parts. The game gets a bad rep. Its not that bad... Its just not that good either.
@glurp1erАй бұрын
As a kid I could never figure out what to do in ET. Like most other kids who played it, I mostly fell in holes and tried to get out of them.
@paradoxzee6834Ай бұрын
Also Atari had much more unsold copies of Pacman because they made more Pacman copies than Atari 2600, hoping it would be such great sucess people will line up to buy a 2600. Even it was the best selling game of all time back in the day, Atari still had many copies just sitting in the warehouse
@JrIcify8 ай бұрын
The beginning of the video having one full second of silence made me think my headphones weren't on during that second. I guess that's how rare it is for a video to not immediately start with some kind of noise.
@yetidynamics8 ай бұрын
16 Kilobytes of Ram back in 1977 was around $400 or more.. and that's 1977 dollars. the atari 2600 had 128 BYTES of ram, not even 1 KB
@cerulity32k4 ай бұрын
Good thing is, you don't have to worry about going outside the zeropage. It's all zeropage!
@BlUsKrEEm8 ай бұрын
Growing up my parents and sister were big gamers. We always had the newest systems, and got days off school for big releases. It was always a race to get to the systems after school. But one day I found an old 2600 and realized no one wanted to play it because it was ancient, so I got to see it up in my room and play when ever I wanted. It was my game console and I loved it. My dream was to make a game for the archaic machines and I had notebooks full of tiny game ideas and sprites. I've tried so many times to make my childhood dreams a reality. And failed so many times. I'm glad to see someone explain why it's so hard. It did lead to me make games for more modern hardware, though. So I still love my 2600.
@GarryGri5 ай бұрын
I's not that difficult once you get your head around the basics of how it works. Look up what is refereed to as 'chasing the beam' any you learn to program in assembly. There are some good books on programming the ATARI 2600. Some things said on this video are not exactly best explained, or in some cases if not wrong then not entirely complete. I don't like the unnecessary sarcasm on this video.
@enoua52228 ай бұрын
14:20 I'm pretty sure the 2600 supports BCD mode, which automatically skips A-F for exactly this reason
@sa32708 ай бұрын
It absolutely does. Unless you're programming on the variant used in the NES.
@TheJaguar19838 ай бұрын
We are so spoiled these days as programmers, especially game programmers. It's good to appreciate that by looking back at these kinds of things.
@anthonylosego25 күн бұрын
Probably the most underappreciated concept is lerping. lol
@gducrash8 ай бұрын
Back in the good old CRT days, when monitors didn't have a horizontal resolution
@matthewrease23768 ай бұрын
Color displays do.
@Mrshoujo8 ай бұрын
CRTs have infinite resolution.
@GarryGri5 ай бұрын
They did, you thinking is just wrong on this. It doesn't work like a modern display.
@AWriterWandering7 ай бұрын
1:12 the craziest thing about the Odyssey is that it was analog. The “cartridges” were just a set of jumpers that slightly altered how the console would behave.
@KinuTheDragon8 ай бұрын
I've seen Retro Game Mechanics Explained's video on racing the beam, but this was a nice refresher on how hellish it is.
@Rignchen8 ай бұрын
hey, I've discovered you a few months ago on some of your 4 years old esolangs video and was wondering if you were planing on making more esolangs videos?
@Truttle18 ай бұрын
Probably
@Xizyx4 ай бұрын
Thank goodness the TIA's successor, the CTIA chip (and then GTIA) on the Atari 400 and 800 automatically DMA'd the player-missile sprite data onto the screen for you and all that was needed was setting the horizontal position register for all of them (and their DMA base address).
@Its_PacFan8 ай бұрын
Just Discovered your channel, and it's uhh pretty neat!! Never really seen programming structures for older consoles (even the NES!!)
@revoblam79758 ай бұрын
the turtle sprite looks like an amongus knocking on a door
@Truttle18 ай бұрын
I won’t be able to unsee that now
@bobbackward64618 ай бұрын
AMORGGULUS
@retroboi128thegamedev8 ай бұрын
@@Truttle1 i see an amongus smoking a pipe
@a-bombmori73938 ай бұрын
@@retroboi128thegamedev "Ce n'est pas suspect"
@WowplayerMeАй бұрын
Maybe it is a nightmare, but, it's one that I don't want to wake up from until my game is completed!
@JohnCrawford19798 ай бұрын
Nintendo's Seal of Quality was also very anti-competition, particularly in North America, in that 3rd parties that wanted to develop for the NES could not develop for the competition. It's why in North America the Sega Master System had a limited, and partially what killed the Atari 7800, besides Jack Tramiel's cost and corner cutting that led to the aging Tia chip to remain for sound, rather than the much improved sound of the Pokey chip.If they were actually trying to compete with Nintendo, the 7800 was sadly tossed out to face the dragon with a wooden spoon.
@migsy18 ай бұрын
Jeez, I don’t think I’ve ever seen Creaturey that mad, nor have I seen Obfuscate that sad. Great video!
@Blue-Maned_Hawk8 ай бұрын
4:17 I wonder if that beigeness was because the gap between ‘video game console’ and ‘professional A/V equipment’ was smaller back then.
@jwhite50088 ай бұрын
not really, professional broadcasting equipment was typically large, heavy, mounted on 19" racks (or half-width ones) , and thus usually had metal frames.
@everynametaken8 ай бұрын
From what I recall the Apple ][ did it first and everybody copied them.
@adamengelhart51598 ай бұрын
*Lots* of stuff was beige in those days, even outside electronics.
@darkally12358 ай бұрын
Congrats on making a game for the Atari 2600 from the creator of Skeleton/Skeleton+. The two biggest advantages of the TIA were its flexibility and that it is tightly coupled to the CPU. Because the TIA registers could be modified during active video, it allowed for games to reuse the sprite registers rather than having a fixed number of sprites. And because the TIA and CPU were tightly coupled, game could change the TIA registers at exact times during the scanline, allowing for even more flexibility. Yes, horizontal positioning is difficult - a side effect of the use of LFSRs instead of counters. But LFSRs require only a trivial amount of transistors to implement, so it made sense for the TIA where every transistor was precious. (This is the same reason the Apple ][ graphics layout is weird - it saved logic and therefore money.) Note: 192 lines is what was originally suggested to ensure the all lines were visible on TVs of the era. The VCS is capable of generating more, although more than 240 typically won't be visible even on modern TVs (maybe emulators).
@Nbrother12348 ай бұрын
This is apparently the channel’s 127th video according to your channel info
@Lixxide7 ай бұрын
1111111
@AntonioBarba_TheKaneB8 ай бұрын
maaaan why don't you have seventy billion subscribers? You cracked my up while delivering excellent information. Now I have even less interest in developing my own 2600 game than I had previously (which was exactly zero) :D
@Helokus4 ай бұрын
My heart breaks for the guy they rushed to make ET
@Stiky_Piston8 ай бұрын
Was a really fun watch! Next, you should maybe try DS development!
@tassaron6 ай бұрын
By the end of the video I started laughing out loud at the absurdity, specifically during the segment about drawing the score. Great video!
@taokodr8 ай бұрын
Definitely showing my (advanced) age here; to me this video serves as a reminder that we had some pretty amazing games back then given the limitations the programmers had to deal with. Yeah, there were clunkers, but there was some darned fun gameplay in that era as well (Activision's games raised the bar, IIRC. We *ALL* wanted their games when they came out). If you haven't already, check out "GDC Classic Postmortem: Warren Robinett's Adventure" on YT. It's a fascinating lecture where Warren talks about some of the shortcuts and concessions he had to make in order to make Adventure happen.
@BainesMkII8 ай бұрын
Because some people like a challenge, or just want to prove a point, a homebrewer coded a much better Atari 2600 port of Pac-Man, using the same cart size limit. It still had visible flicker, but it was much more faithful to the arcade game. They apparently went on to make an even more improved port for the Supercharger.
@MidnightWonko8 ай бұрын
I seem to recall something about Atari programming known as racing the scanline, or something to that effect.
@Truttle18 ай бұрын
I've heard that term too. It makes sense since scanline timing is really important. Though I think the actual term is "racing the beam"
@Mekelaina8 ай бұрын
The truttle1 lore grows deeoer with every episode. Also please, if you ever get the opportunity, make a creaturey plushie.
@PlushPilla8 ай бұрын
What other consoles will you try? I think the GameBoy (just using ASM and Z80 instructions) or Pokemon Mini (a more obscure system) would be fun ones.
@Truttle18 ай бұрын
Probably doing Vic-20 next
@0011peace8 ай бұрын
@@Truttle1thing with you could just drectly doihe onitor or tv hooked up to it. same with most 6502 computer you could just use it with a tv. And all cold be run though tape or disk drives.
@fivelittlestones860213 күн бұрын
@@Truttle1 Boomer-Man
@KalimbaJammer8 ай бұрын
Well, wasn't the Channel F the first with programmable cartridges?
@matthewrease23768 ай бұрын
Yes, I believe so And the first home game system was the Magnavox Odyssey in 1972
@0011peace8 ай бұрын
@@matthewrease2376well with changable gams thing like poing whuich are one game existed
@everynametaken7 ай бұрын
@@0011peace No, the Magnavox Odyssey predated Pong (and Pong may have been lifted from a Odyssey game shown in a trade show).
@0011peace7 ай бұрын
@@everynametaken actully rease with in 10 wees from each otehr and Tenis for 2 was released 14 years early.
@milk-it8 ай бұрын
That coding nightmare is indicative of the processor's and RAM's massive limitations. Well, I'm glad I didn't have that console for long until I got my C64 in the early 1980s! Great insight.
@JohnHenrySheridan8 ай бұрын
Awesome video! And fascinating process...!
@EdgyNumber18 ай бұрын
Ahhh.. the days before display memory buffering..... by the way, what happens to a CRT if you get the timings wrong? Does it do any physical damage?
@Truttle18 ай бұрын
I’m not sure, I was using an emulator the whole time due to not having an actual Atari 2600 or cartridge writer… I have one of those “Atari 2600 flashback” things that have a bunch of preloaded games on it somewhere in my basement though
@notbaldfrost8 ай бұрын
if your number of lines is too far off or you set some of the related registers in the wrong order it fails to vsync so you usually get a distorted video output that "rolls" up or down that's about it
@GarryGri5 ай бұрын
No.
@klausambrass14603 ай бұрын
Nicely done - but what happens when you hit 99 (or 255) +1 points?
@metronome84716 ай бұрын
Truttle Doesn't understand how to use what Jay Miner designed with the TIA.
@XDBroSoft3 ай бұрын
7:18 I remember putting an Atari 8 bit game and that pooped up and i though my emulator was broken.
@MerrowHawk8 ай бұрын
Interesting.. so that's why all major UI information seemed to default to the top right for a while. Of course, now there are better ways to display statistics.
@kazii_the_avali8 ай бұрын
and yet i still see a few(mainly retro like) games default to the top right. i mean it is a nice place to put information.
@MerrowHawk8 ай бұрын
Still makes sense that it's a holdover from hardware limitations.@@kazii_the_avali
@JimWolfie8 ай бұрын
So im not supposed to assemble an nes entirely on a bread board
@jwhite50088 ай бұрын
Not unless you have all the chips, a few hundred wires, and angelic patience of wrangling the latter...
@Gecko1993HogheadIncOfficial8 ай бұрын
Thank you so much! Not only was this helpful, but I think this is the best video you have made! However, it would also be cool if you covered Visual Batari Basic. I’ve been trying to compile a game on there for the longest time but with disastrous results. Maybe you can help? The only tutorial that was available by tinkernut helps only so much. Regardless, videos like these are cool! Keep it up!
@enoua52228 ай бұрын
Ive done some NES programming. I looked into the Atari when learning that, and never made anything for the system because its specs are a Nightmare. I'm impressed you got *anything* running on it, lol
@mohhingmanАй бұрын
to the beginner, it's a nightmare. Once you get used to it, the timing is accurate and it's powerful. Many tricks available.
@guyrocketram96988 ай бұрын
its honestly so sweet how obfuscate has gone from not wanting to make friends in fear of loosing them since he's immortal, to genuinely caring that creaturey accidentally insulted him.
@NightpireVideos8 ай бұрын
bonuspoints for the vvvvv soundtrack
@RaposaCadela8 ай бұрын
this was a really fun video!!
@lior_haddad8 ай бұрын
The 2600 was basically just a pong machine that was accidentally capable of much more, since at first glance it barely seems capable of pong at all. The atari was also the first and last console to use this method of display, because this is insane and stupid.
@Mrshoujo8 ай бұрын
If it's stupid & it works, it's not stupid.
@arlasoft8 ай бұрын
Far from insane and stupid, it was a stroke of genius. The Channel F showed pretty much the maximum of what was possible in 1976/77 using the 'traditional' video RAM method while still being somewhat affordable, which was itself was ahead of its time with colour graphics three years before that became common place in the arcades. And that was still absolutely blown out of the water by the 2600. When games are designed specifically to take advantage of the 2600 hardware and avoid its limitations, it can do things that no other home machine could do until the Amiga arrived, and using far more colours.
@GarryGri5 ай бұрын
It was like that to keep production cost to a minimum. (RAM for screen memory would add expense)
@fivelittlestones860213 күн бұрын
@@arlasoft THis was a well Written & The most understandable & Likely awnser.
@georgerogers11668 ай бұрын
128 bytes of ram.
@Nbrother16078 ай бұрын
Apparently the 6502 and some derivatives are still being made today by Western Design Center
@qwertzuioppel8 ай бұрын
yayyyyy new truttle1 vid dropped!!!
@tux14688 ай бұрын
I remember trying to program for the Atari 2600 once. I failed miserably. Just... too much.
@retroboi128thegamedev8 ай бұрын
ten hundred billion likes on this comment and i will buy an original atari 2600 and play this game on it
@Truttle18 ай бұрын
first like!
@retroboi128thegamedev8 ай бұрын
@@Truttle1 Second reply
@notbaldfrost8 ай бұрын
i'll do it for free when i get home from work today
@notbaldfrost8 ай бұрын
done lol kzbin.info/www/bejne/pHaqd6CeeNSUaLs
@Kawa-oneechan8 ай бұрын
Every time I think the 2600 couldn't get worse, it gets worse.
@NumbHydro8 ай бұрын
Oof, ROM Hacking for me its a nightmare, not only its there limited support for very few games and its harder than creating a full game, but theres barely any support of ROM Hacking at all and everything's like outdated, had to make a very simple Super Mario World hack because of this.
@williamist8 ай бұрын
wooooo new truttle1 video! and about a 6502 based console?? amazing :))
@909crime8 ай бұрын
i had an atari developmwnt phase like 12 years ago lmao what a throwback. I developed a whole maze game in batari basic, its MUCH easier than assembler
@MeltingGalaxy78_YT28 ай бұрын
Can you make a video about the master system? Also love your content!
@esathegreat8 ай бұрын
Where is the "sleep" opcode coming from
@Kevzz2srs8 ай бұрын
it's a macro that inserts instructions that don't do anything for x amount of cycles
@bunnybreaker8 ай бұрын
It's actually surprising we have any form of video games at all. I say this as a game dev. Just watching this makes me want to pull out my hair.
@GarryGri5 ай бұрын
You should look at programming the Vectrex then. You have to move the actual CRT gun around manually, no scan lines at all!
@Kevzz2srs8 ай бұрын
there's better ways to move sprites on the x axis by using horizontal motion registers
@CS-zn4bu4 ай бұрын
E.T: is a quite good game on the Atari 2600! Dunno what you have. I loved it playing as kid with my friends.
@trannusaran61648 ай бұрын
hell yeah, 2600 asm! I was almooost gonna learn C, but I saw a udemy course on 6502 assembly for the 2600 specifically and I went "ooo, let's do that instead" :3
@Truttle18 ай бұрын
c is way usefuller though
@trannusaran61648 ай бұрын
@@Truttle1 surprisingly more cursed, tho. Would've expected assembly to be the height of the "cursed build system" mountain
@BouncingCowАй бұрын
@@trannusaran6164 my first though on you comment was to write something cheky about hating yourself, but to be honest, I think while assembler is more niece these days, it's very useful, in particular when optimizing this or reverse engineering or some legacy code. I also want to learn it, so I would appreciate if you could point me to the course and tell me if it was good for beginners that just know python and some basic c for Arduino. That is probably the only thing that confuses me, why chose an ancient, hard to get CPU instead of let's say ann Arduino, where you can do more things with easier available.
@jacobusburger8 ай бұрын
Dropped everything, Truttle1 video dropped...
@swordofkings1288 ай бұрын
Love your videos!
@jeffzebert49828 ай бұрын
Because the Atari 2600 had an MOS Technologies 6502 processor, if you programmed for the Atari 2600, then you'd require very little training to program in Machine Language for the Commodore 64! This was because the Commodore 64 also used the 6502 processor! Atari 2600 machine language and Commodore 64 machine language therefore shared many, if not all, mnemonics such as INC, INA, INX, INY, JMP, JSR, STA, STX, STY, and so on.
@RaptureMusicOfficial6 күн бұрын
E.T. and Pacman on Atari 2600 are good games, come on! I had a lot of fun with both in 80s with my friends, and played thru E.T. a lot of times no problem!
@ChillaxeMake4 ай бұрын
WAH! ITS-A-ME! WALUIGI ON THE ATARI 2600! (unintelligible noise)
@randomazzy118 ай бұрын
i just opened the video and i have barely any idea of how the 2600 works but i do know it doesnt have a video chip or vram and thr cpu has to do graphics so i already think its hell
@argonwheatbelly6378 ай бұрын
Fit a 6502 program into 4k. It's fun. But that was long, long ago.
@kirishima6385 ай бұрын
Good video. Lots of stuff covered here but I think you over did the effects a little.
@vitaliykormov12668 ай бұрын
As a game dev, this is terrifying
@andrewdavie3868 ай бұрын
Nice video. The "SLEEP #26" should actually be "SLEEP 26" @ 15:38
@DarkMoe8 ай бұрын
whats with the flash dinosaurs ? so weird
@matthewrease23768 ай бұрын
"this is like one of the 3 things it can do" 🤣🤣
@stevenmitchell76977 ай бұрын
Man, if you're at the level of using delay loops and counting scanlines, you only a few steps away to just implementing the game on an FPGA and doing away with a CPU. It would probably look better too.
@beverins8 ай бұрын
Think about how hard it was for the people who made the first games
@algotkristoffersson158 ай бұрын
10:09 why is it like this?
@Breakfast_of_Champions8 ай бұрын
what's the green camel
@Truttle18 ай бұрын
🐢?
@orchishgrunt78888 ай бұрын
Your video content is amazing, but the thrusting, heaving, constant exaggerated motion is slightly jarring. Could you maybe tone it down slightly, or maybe slow down the loops?
@polocatfan8 ай бұрын
Isn't there a game maker like program you can just use to make 2600 games???
@alphadog69708 ай бұрын
Never knew 2600 is so painful 😅
@i_teleported_bread74048 ай бұрын
Given the quality of games for the Atari 2600, if you had sold "Survive" for it back when it was still big, it probably would've become the best selling Atari game there ever was.
@PhrontDoor8 ай бұрын
Programming for the atari truly was nightmarish.
@vectrex288 ай бұрын
I think I'll stick to NES and PC Engine assembly, haha
@AandNvg8 ай бұрын
You know they make Atari 2600 games until about 1990. Here is a game from 1989- kzbin.info/www/bejne/iGjco2CKa9OFkKc
@algotkristoffersson158 ай бұрын
Now make this game in malbolge and see if that’s even any harder.
@Mr.1.i7 ай бұрын
How do you understand the 2600s logic
@cloudcity4194Ай бұрын
You kids are funny. Everyone these days look back at the 8-bit era and think, "why were games SO BAD!?! Lazy devs!" Then toddle off to download a free engine that does all the heavy lifting, then google anything they can't figure out (which is everything) and get chatGPT to write horrible code they don't understand, and don't have to fight ANY graphic limitations or audio limitations on machines that are THOUSANDS of times faster than those 8-bit machines. Yup... lazy devs alright. LOL
@bobbackward64618 ай бұрын
Malbolge before there was Malbolge
@OSslash28 ай бұрын
please release season 2 of slithers software
@theowillis68708 ай бұрын
ive been doing this but with the NES :3
@GhassanPL8 ай бұрын
I'd take this over Unity any day of the week
@Blaineworld7 ай бұрын
et bryan beyblade beer
@stinghouseproductions85028 ай бұрын
Bruh, it's really not that difficult.
@puzzud8 ай бұрын
Agreed
@YEWCHENGYINMoe8 ай бұрын
I think you mean extremely easy
@Truttle18 ай бұрын
Can I see your portfolio of 2600 games?
@arlasoft8 ай бұрын
I wouldn't say easy, compared to say, Unity or Godot. But if you've programmed other 8-bit hardware, and providing you get your head around the concept of display kernals, it's not really harder - just different. The 8bitworkshop online IDE is absolutely fantastic for 2600 development as you can change one instruction and instantly see if that's had the desired effect or completely put your display kernal out of sync. I can see how if you were using a standalone assembler and waiting for that to assemble before sending it to Stella, that would be quite a bit more frustrating. Obviously for the programmers working in the 1970s and 80s it was extremely difficult, iteration times would be measured in minutes rather than milliseconds and they didn't have the benefit of 40+ years of accumulated knowledge that we have. They didn't know what the tricks were, they had to invent them.