Hacker News new | past | comments | ask | show | jobs | submit login

This also misses a lot of other tricks: self-modifying unrolled code, keeping track of blocks of memory that don't need to be updated, or blocks of memory that have the same value. Memory moves may not be the fastest way.

  0 HIMEM: 5608
  1DATA5532563300922139021390213932135045238263536503037252627503845615305817312092293902932835845478875645836575037148845550351083966132653706165276445377489621322135821322334213502130051520282036
  2DATAQLNZQLNZQAQQDSAQRDSAQQDSAQVDSAQXCKDNAPFXANAQXXANANXNXNXQXNXCQXKXNZQXKXNZQCQODMAQODMAUUYQXCKATAUVQXCKMNXQXKANXUAUTCQXKENXUMUSQJHSAHFQZTXRDFQZTAOCQZTAOBQHDSAPDSAQADSANZNZKDSAQZDSAXZQZOZXZUAXZJ
  3 READ L$: READ H$
  4 FOR I = 1 TO  LEN (L$)
  5POKE767+I,10*(ASC(MID$(H$,I,1))-65)+VAL(MID$(L$,I,1))
  6 NEXT
  RUN
  HGR : CALL 768: CALL 5608



Jeauzeus Chistmas!

I completely forgot about HIMEM... and what a difference it made when it happened...

God there is so much computer history knowledge thats going to die in the next 20 years.


Perhaps I’m forgetting but was HIMEM control not something that was pretty well known since early on in the C64? I didn’t think it was a secret. There’s articles describing it’s use in January of 1983.


Sure, but the fact is when was the last time you had a "startup.bat" file you had to edit that had HIMEM stated in it....?

Easy to forget that the velocity of understanding for people in tech has been ridiculous over the decades.

Ask a new hot shot programmer to do dip-switches and IRQs etc... if they are <40 years old... they may not know what youre even talking about, let alone be able to tell you a PIN switch on a mobo for IRQ settings (PRE IPv4)...

There was a generation of people brought up THROUGH THE STACK in a hardware manner...

So much history is lost through the advancement of history.

This is why we lost the tech to construct pyramids of scale.

"Kids these days just arent interested in levitating blocks with sound waves, and they just only want to domesticate Camels and plants for something called "agriculture""


HIMEM here refers to a control mechanism for switching out the mapping of the C64 kernal (the ROM “OS”) to access more RAM.

The C64 is called that because it has 64k of memory and the 6502 is a 16 wide address bus so 64k of memory requires bank switching since there is no room for anything else. This was baked into the design of the system from day 1.

Anyway, I also really have a hard time understanding how an old DOS driver to overcome the limitations of PC architecture when it was pushed into service well past its sell by date is or should be relevant to anyone except hobbyist tinkerers with old hardware. Most people won’t be able to start a Model A Ford, either. I don’t think forgotten knowledge of DOS/PC shittiness is somehow such a great loss of domain knowledge.

> Ask a new hot shot programmer to do dip-switches and IRQs etc... if they are <40 years old... they may not know what youre even talking about

Meanwhile, for those that are interested it’s never been easier to get into low level development. I do not fucking miss the days of etching PCBs in my basement and always cursed the cost of small run manufacturing. The types of things the home hobbyist can work on/solve is far beyond the frankly waste of time futzing with IRQ and blech DMA on IBMs steaming POS. Home hobbyists have the tools for free to design their own multilayer PCBs or “just” integrate the myriad embedded hardware devices available to them. More young people are involved in robotics then ever, a far more interesting endeavor to me then moving jumpers around to make a crappy machine produce 8 bit audio cassette quality sound.

> PIN switch on a mobo for IRQ settings (PRE IPv4)

Yeah even I’m fucking totally lost on this one.


>> PIN switch on a mobo for IRQ settings (PRE IPv4)

>Yeah even I’m fucking totally lost on this one

---

You dont recall on a 286? Having to swap DIP PIN switches on the motherboard to establish the IRQ port the card in said slot was going to use?

IRQ3 was typically the modem...

----

You were etching PCBs in your basement

I was flipping DIP SWITCHES.

Different era of education there...


I know what DIP switches or configuration pin headers do. For one, I've never heard them referred to as DIP PIN switches like PIN is some kind of acronym - perhaps DIP pin switch is some kind of regionalism. But that was not the confusion:

>> "Ask a new hot shot programmer to do dip-switches and IRQs etc"...

Ok.

>> let alone be able to tell you a PIN switch on a mobo for IRQ settings (PRE IPv4)

After the first part about dip-switches and IRQs this makes it sound like "PIN switch" is something distinct. Further confusing, I still have no idea what PRE IPv4 means here. The only IPv4 I've heard of is internet protocol and not something I would associate with PC hardware configuration. (IPv4 was released pretty much at exactly the same time as the original IBM PC in 1981).

> IRQ3 was typically the modem

IRQ3 was more specifically the 2nd set of serial UARTs COM2/COM4 - with the IO base port assignment 2F8h and 2E8h. COM1/COM3 was IRQ 4 (base ports 3F8h, 3E8h). So a modem may very well been on IRQ 4. In practice it was often dependent on whether one was a using a serial vs PS/2 mouse.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: