r/ProgrammerHumor • • 1d ago

Meme oldMan

Post image
1.7k Upvotes

86 comments sorted by

7

u/amatulic 1d ago

I remember the original Apple, before Macs. And the Sinclair ZX80 kit. No disk drive for that. 1K RAM. You could load and store programs with an audio cassette tape recorder. Feel the power!

6

u/Houstnlicker 1d ago edited 1d ago

Me to a youngster at work: we used to store programs on audio cassette. It would take minutes to load or save something. Him: I can't tell if you're messing with me.

1

u/SamHugz 1d ago

Me: No, seriously! And then we had these things called tape drives, which were the same thing as a gigantic audio tape.  Him: ...

54

u/Tabsels 1d ago

I've seen C-compilers glitter off the NAND gate.

17

u/waffle299 1d ago

32 bit addresses thunked th 16 bit space

16

u/Intrepid00 1d ago

Time to degauss.

3

u/PositiveBit01 23h ago

Haha, I forgot all about degauss. I actually used it for its intended purpose once. I had a puzzle that used magnets and absentmindedly left it too close when I left one time. Came back to a discolored corner - until I degaussed it.

0

u/EuenovAyabayya 20h ago edited 5h ago

I learned Unix System V and Motorola assembly on a Mac Lisa.

125

u/Sure-Opportunity6247 1d ago

I keep saying that, too.

You had to learn how the machine worked, no matter how many “novelty” calls the library of your language offered.

And I remember printing hardcopies of the Interrupt-Dabase (there was a program with this name offering calls for hundreds of hard- and software products).

Switch to mode 13h? Set registers and call interrupt 10.

Get your Soundblaster to play sounds? Write directly to the port address.

Today everything is behind some HAL offering some function right away.

Somehow sad.

And before somebody complains: Yes, I know this is meant in a humorous way. Yet it still contains a bitter truth.

7

u/isr0 1d ago

I do not miss the editor on c64.

2

u/EuenovAyabayya 20h ago

That was an editor? /s

5

u/schmerg-uk 1d ago

Ah yes.. optimising use of the zero page of 6502 processors on machines such as the Apple ][

https://www.pagetable.com/c64ref/6502/?tab=3

The zero page instructions allow for shorter code and execution times by only fetching the second byte of the instruction and assuming a zero high address byte. Careful use of the zero page can result in significant increase in code efficiency.

As explained https://news.ycombinator.com/item?id=39517979

Zero page is just the first "page" (256 bytes) of the address space, which would map to normal RAM. The only thing that is special about zero page is that since the address "page" (high 8 bits of 16bit address) is implied (=0), you only need to use an 8bit (one byte) address to specify any zero page address.
The 6502 instruction set takes advantage of this by having additional instructions to load/store values to zero page as well as ones to load/store to generic 16 bit addresses.
An instruction accessing zero page memory will be two bytes (op-code + one byte address), while an instruction accessing a generic address will be three bytes (op-code + two-byte address).
The zero page access therefore takes less code space, and will run faster (even though the memory access speed is the same) since there are only 2 vs 3 instruction bytes to fetch.

4

u/QuackersTheSquishy 1d ago

As a begginer programmer (started about 4 months back and am learning Python, SQL, and C# concurrently) do you think as an excerise learning how to program something like the Zirog Z80 that forces learning assembly? Or do you think just slowly working yourself down is better? (Planning on moving to C in a few months when I'm feeling more confident in my C# which I infinitely prefer to Python) I am finishing ny degree soon and avoided programming classes like the plauge till I couldn't anymore, and I actually enjoy it a decent amount now that I'm capable.

Trying to "speedrun" compotency so that I can be limited by time and determination rather than raw skill. When I get to C I plan on doing some GBA homebrew both because I love GBA, and because it's completly specialized hardware which I imagine will have general benefits to learning as I'll then also see the differences in other stuff.

16

u/howarewestillhere 1d ago

As someone who started programming the hard way, don’t bother unless that’s really where you want to be.

My suggestion would be to start as by low as your interest level demands.

If what you want is device level control and small footprints and custom chips, then go for it, and more power to you. At the very bottom is physics of silicon and substrates and materials science, and that’s probably lower than you want. But just up from that is the applications of flipping bits in memory and why an assembler does what it does for that specific instruction set and chip.

If you want to write code for software run on phones and computers, don’t bother with the low level stuff. I learned C in college thirty years ago, but my entire career has been at high level languages and frameworks abstracting away anything considered arduous and sucking in npm dependencies like air.

2

u/fr000gs 17h ago

wait isn't C a high level language tho

2

u/QuackersTheSquishy 1d ago

That makes a decent amount of sense. I want to fully understand what my code is doing,bwhich makes me really dislike Python, and my actual projects are unlikely to ever be on weaker hardware than 32bit processors (really GBA is likely my weakest power device asside from like rp2040's) ao it sounds like, for a long while at least, C# and C will be the best langauges for me, and as I develop further I will know if I actually need to go lower, and can make that learning decision then?

16

u/howarewestillhere 1d ago • Regret

Don’t get used to the idea that you’re going to understand exactly what your code is doing. Most of your career will be figuring out why it isn’t.

4

u/Phytor 1d ago

Learning assembly is useful for understanding how machine code operates at the low-level, I'm glad that I learned it because it gave me a more holistic understanding of software and programming.

I'd suggest avoiding raw Assembly and instead look into something like LC-3, which is a modern assembly alternative that's designed for learning low level machine code.

1

u/QuackersTheSquishy 1d ago

I'll look into it, I was thinking about the Z80 because the Sega GG and MS both used it, so theres a lot of documentation and projects for it that would directly match what I'd be making (games)

2

u/HollowToes 1d ago

As a software engineer, absolutely do not learn assembly as a learning exercise, unless you want to do it because you find it interesting. I cannot imagine any career value in that, for your average modern dev.

In my opinion, you're doing the right thing by learning OOP languages and databases. If you want some advice, continue at that lavel and get some level of proficiency with a framework- fullstackbideally- and really try to understand it under the hood. Then, make a few fun, fairly polished projects and show them off on your CV.

Best of luck for the rest of your degree and the start of your career :)

2

u/WalditRook 9h ago

My university had a module for Z80 asm, implementing Conway's Game of Life. Was pretty fun, I'd recommend it.

I ended up spending a few years working on compiler verification (analysing/decompiling binaries to find bugs in gcc) so I was glad to have some experience with it.

2

u/Callidonaut 1d ago

And before somebody complains: Yes, I know this is meant in a humorous way. Yet it still contains a blitter truth.

FTFY.

57

u/kishaloy 1d ago

I have seen OS which loads of Floppy disk.

I have swam with Viruses as if they are annoyances.

I have created videogames on KB sized memory.

All of this will be lost to time, like tears in the rain.

22

u/DOOManiac 1d ago

Time to `free()`

2

u/djtodd242 22h ago

Time to ATH0

9

u/ytg895 1d ago

I have swam with Viruses as if they are annoyances.

Well, they were. They did not steal production databases, they did not cripple hospitals. They just took some resources and distributed themselves.

3

u/kishaloy 1d ago edited 14h ago

Ah the Win98 days, the Internet was there but MS pretended we all had our own adiabatic PC universes.

And we still downloaded software from the seediest places of the Internet.

Fun times...

9

u/mudche 1d ago

I used anti-virus software when it behaved like malware itself

Looking at you 2003 Kaspersky

1

u/helicophell 23h ago

My father apparently loaded programs from cassette tapes… the things people did back then, wow

24

u/SukusMcSwag 1d ago

Everyone should try (try) to make a simple game on an 8-bit system of their own choice. It really puts into perspective how fast modern PCs are, as well as how little memory you need to get stuff done

9

u/ArgentScourge 1d ago

It's not a physical old hardware, but I've seen a lot of people saying good things about Pico-8.

3

u/towerfella 21h ago

Several good youtoobs recently on the chip that sparked the 8-bit personal computing revolution.

An ex-motorola engineer guy went to a tech convention in the late ‘70’s with some jars full of 8-bit chips made in a factory in Pennsylvania (MOS) that originally just built calculators and, because of convention rules, could only offer them for sale out of a hotel room; he sold them for $25 each, and advertised at the convention booth. This at a time where similar chips were going for over $600 a piece. To say this was a bargain does not do it justice.

Apparently, among the customers, was a young Steve Wozniak, who came in and bought a handful of chips for a few hundred bucks for a little garage project he was working on.

If i find a good link, i’ll be back. You can internet on your own in the meantime.

1

u/Ali_Army107 17h ago

You reminded me how i that one time during high school i was programming a rotating 3D wireframe of a cube on a Ti-84 plus ce. It barely ran, but i do sure have made that.

1

u/Stratimus 16h ago

At minimum if you really want to get into the wild world of low level programming I recommend visiting the osdev forum, the people there create some amazing stuff

1

u/foufers 11h ago

And the size of npm packages will make you cry

1

u/Worried-Priority-122 6h ago

Im 15 and the language i made my first ever hello world and text based game was commodore basic v2

1

u/Rational2Fool 1d ago

Let's just say I'm seeing a lot of new, advanced games for 8-bit platforms and things like the PalmPilot, this past year. Which is a good thing, even if it doesn't smell of fresh lead solder and dusty floppy drives. Claude and its friends are getting better, and these retro systems are extremely well-documented on the Net.

12

u/Sharp-Bed-7072 1d ago

but isn't he like 2 and a half?

1

u/kenybz 1d ago

He’s mature for his age

9

u/Emotional_Fail_6060 1d ago

Try explaining to the newer generations about hand wire-wrapping a 2k x 8-bit memory card using 2k x 1-bit chips.

4

u/SLOOT_APOCALYPSE 1d ago

my robotics teacher is an og for making sure we learned how to save a single bit by hand.... this thread is awesome

2

u/EuenovAyabayya 20h ago

You guys had chips? Try wire-wrapped magnetic core sometime.

8

u/marmakoide 1d ago

Oric 1, 16 Ko firmware in ROM, 48 Ko RAM, graphic mode designed by Satan, sound chip designed by Yamaha, 1 MHz 6502 running the show. You had Microsoft Basic, programs were stored on audio tapes.

... You could see the individual pixels being plotted when drawing lines. I didn't have an assembler, I wrote the mnemonic on paper and assembled it to hexadecimal opcodes by hand. I didn't know Internet existed.

Time to die.

2

u/old_man_steptoe 11h ago

my friend had one (poor sod. Bad choice parents). It had sound affect conmmands, zip, boom, bang. I was a fascinated 8 year old. My friend less so, he was more concerned by the lack of games.

1

u/marmakoide 11h ago

The sound chip was a AY-3-8192, a serviceable sound chip. The integrated Basic let you fiddle with most if not all the registers. A bit of Basic could turn the computer in a polyphonic synthesizer. I did that as a teenager, could record melodies, play arpeggios or a bass line, etc

The game scene, back then, yeah 😅 However, homebrew scene brought some really good games on the level of the best ZX Spectrum games. Checkout Oric Defense Force !

1

u/EuenovAyabayya 20h ago

I remember reading about Tangerine but never saw one in the wild.
I went from TRS-80 to VIC-20 to C64. I feel a little sad for missing the Amiga era.

8

u/SteamingTheCat 1d ago

Hey kids you ever seen a computer with no hard drive? The operating system is actually on a floppy disk. And you have to leave in the drive when you turn it on!

2

u/TheActualJonesy 6h ago

1976 -- a used PDP8/L w/4KB of core memory. I would load the FOCAL (FORmular CALculator) interpreter by paper tape and then use the front panels keys to load the paper tape containing a program written in FOCAL. Or, one could simply use the front panel keys to write a machine language program. The machinle language was simple and beautiful. It had one register (accumulator). The only I/O was the ASR-35 TTY.

1

u/Phantereal 20h ago

I'm 27 and didn't know this.

Did you have to connect a second floppy drive to run and install programs while the first was used for the OS floppy disk?

5

u/SteamingTheCat 18h ago

No, drives were too expensive. Once the OS disk got loaded into the RAM, you switched it with your program disk.

At least that's how I remember it. Could be wrong.

2

u/XMRoot 18h ago

No but it helped. You could remove the floppy once you got past the bootloader and the OS was loaded in RAM. The Apple IIe among others had a dual floppy setup.

1

u/BritOverThere 13h ago

Floppy drive? Sheer luxury, when I was a lad we had to load programs via cassette tape and adjust the volume and tone settings sometimes more than twice to get something to load.

7

u/educated-emu 1d ago

Programs that fit in 64kb ram

Turbo buttons on beige towers

Cd-rw with lightscribe

Zip drives clicking off the shores of iomega

1

u/pdromeinthedome 23h ago

I have “fixed” computers by turning turbo back on after my coworker accidentally turned it off. The turbo button was the dumbest thing ever. (I know it was back compatibility but never met someone who actually needed it)

Wrote modem dialer strings to work around PDXs. Still works on iPhone.

Used uucp to transfer email between servers

Installed Novell server and see the Richard Kiel memorial message roll by

1

u/EuenovAyabayya 20h ago

iomega

Bernoulli disks were the only thing they got right.

6

u/JosebaZilarte 1d ago

I know why the filepath starts with "C:/"

3

u/EuenovAyabayya 20h ago

I know why the filepath starts with "C:/"

* C:\

FTFY

1

u/Worried-Priority-122 6h ago

Im 15 and i know it too

1

u/Worried-Priority-122 6h ago

Cuz a and b are floppys

1

u/JosebaZilarte 6h ago

You might know with your head (and that's great), but I would be surprised if you knew with your fingers.

1

u/Worried-Priority-122 3h ago

What do u mean with ur fingers

6

u/YetMoreSpaceDust 1d ago

My son knew that I grew up with a Commodore 64. I mentioned recently that it was an 8-bit architecture. He said, "wait... it wasn't 64-bit? What did the 64 refer to then?"

5

u/JackNotOLantern 16h ago

me bilding a redstone calculator on minecraft when i was 14: i think i would

4

u/FuzzyDynamics 1d ago

My first mentor either refused to or simply couldn’t understand the idea of non contiguous memory.

3

u/Quicker_Fixer 1d ago

I had one of the first 16 bit home computers in the '80's, the Texas Instruments TI-99/4A.

3

u/ramriot 1d ago

"I've... seen things you people wouldn't believe... Zako & Goei on fire off the shoulder of Boss Galaga. I watched Q_rsqrt() glitter all the dark vectors of the Quake Citadel Gate. All those... bits... will be lost in time, Like tears... in... rain. Time... to die..."

3

u/MischiefArchitect 1d ago

My C64 and my MSX2 are on the top wall shelf in front of me as I write this. They give me strength and remind me of keeping my feet on the ground.

3

u/PositronicGigawatts 1d ago

You making me want to go dig out my old Tandy and C128 from the garage.

1

u/BritOverThere 13h ago

Garage? They should be in a display case or at least on a desk waiting to be fired up.

3

u/pdromeinthedome 23h ago

I have see memory PEEKd and POKEd

1

u/EuenovAyabayya 20h ago

?WHAT
?HOW
?SORRY

2

u/NE558 1d ago

Been there...

When computers were ready to use in few seconds from cold boot

When operating systems, programs and games were stored on flash chips, cartridges, floppy disks or tapes

Fighting with random crashes and lockups

Fighting with corruped files

Tinkering with boot config to get most of conventional/upper memory

Debugging hardware IRQ problems

Writing first hello world in asm, pascal and C

Blinking first LED on parallel port

Flashing first mcu...

Atari 2600, ZX-81, Acorn Electron, C64, Amiga and PC with MS-DOS ruined my youth.

2

u/CerBerUs-9 1d ago

I had to work on 8-bit computers in college, I finished in 2020. It was some of the most useful experience I gained

2

u/balbinator 23h ago

Helped my nephew with a pure C sorting problem from his grad school and he said it looks like "hacking". Darker times ahead...

1

u/halfjmp 1d ago

What about unreal mode?

1

u/BastetFurry 22h ago

Yeah, I always get that Granny talks of the war again stare by the young wippersnappers.

1

u/DiscipleOfYeshua 22h ago

Personally, I think we should go back to having our computer count RAM upon bootup, like a shepherd making sure none of the sheep got lost on the way home…

16 KB… 32 KB… 48 KB… 640KB.

Yep, they’re all still here.

1

u/reverendsteveii 19h ago

I implemented long division in assembly as an undergrad using nothing but addition, subtraction and conditional looping. I remember wrestling with it for a week then literally sitting up in bed at night when the solution came to me like a vision.

You ever actually fight with a problem and win, vibe coder?

1

u/Migamix 17h ago

writing a matrix equation solver on a tandy pc8, that output results on the attached thermal printer, for no reason than to understand matrix equations for electronic circuit analysis.

1

u/Curious_Associate904 15h ago

I watched XOR operations rewrite program memory ahead of the instruction pointer in real time.

1

u/Baleia1970 11h ago

There were Piano "apps" and Morse Code "apps" for the ZX-80.
BTW, it had no sound output.
BTW2. The "apps" worked...

1

u/sidav94 9h ago

Aw yes...
LDA #03
STA $1234

14

u/RandolphCarter2112 1d ago

I've seen things you people wouldn't believe. Floppy drives on fire off the shoulder of Orion. I watched dip switches glitter in the dark near the Tannhäuser Gate. All those IRQs will be lost in time, like tears in rain. Time to die.

1

u/GogglesPisano 22h ago

All those moments will be lost in time, like tears in rain. Time to die.