top | item 47025399

LT6502: A 6502-based homebrew laptop

417 points| classichasclass | 14 days ago |github.com

222 comments

order

vardump|14 days ago

I sometimes wonder what the alternate reality where semiconductor advances ended in the eighties would look like.

We might have had to manage with just a few MB of RAM and efficient ARM cores running at maybe 30 MHz or so. Would we still get web browsers? How about the rest of the digital transformation?

One thing I do know for sure. LLMs would have been impossible.

cosmic_cheese|14 days ago

For me the interesting alternate reality is where CPUs got stuck in the 200-400mhz range for speed, but somehow continued to become more efficient.

It’s kind of the ideal combination in some ways. It’s fast enough to competently run a nice desktop GUI, but not so fast that you can get overly fancy with it. Eventually you’d end up OSes that look like highly refined versions of System 7.6/Mac OS 8 or Windows 2000, which sounds lovely.

lucaspiller|14 days ago

I'm in the early phases of working on a game that explores that.

The backstory is that in the late 2050s when AI has its hands in everything, humans loose trust of it. There are a few high profile incidents - based on AI decisions -, which cause public opinion to change, and an initiative is brought in to ensure important systems run hardware and software that can be trusted and human reviewed.

A 16bit CPU architecture - with no pipelining, speculative execution etc is chosen, as it's powerful enough to run such systems, but also simple enough that a human can fully understand the hardware and software.

The goal is to make a near-future space exploration MMO. My Macbook Pro can simulate 3000 CPU cores simultaneously, and I have a lot of fun ideas for it. The irony is that I'm using LLMs to build it :D

b112|14 days ago

We had web browsers, kinda, in that we'd call up BBSes, and use ansi for menus and such.

My Vic20 could do this, and a C64 easily, really it was just graphics that were wanting.

I was sending electronic messages around the world via FidoNet and PunterNet, downloaded software, was on forums, and that all on BBSes.

When I think of the web of old, it's the actual information I love.

And a terminal connected to a bbs could be thought of as a text browser, really.

I even connectd to CompuServe in the early 80s via my C64 through "datapac", a dial gateway via telnet.

ANSI was a standard too, it could have evolved further.

ksherlock|13 days ago

There is an alternate reality where semiconductor advances ended in the eighties. It's called 1990.

Anyhow, the WWW was invented in 1989/1990 on a 25Mhz 68040 NextCube. Strictly speaking, the 68040 and NextCube weren't released until 1990 (and the NeXT was an expensive machine) but they were in development in 1989 so that's not a stretch. Anyhow, WWW isn't really much more than hypercard (1987) with networking.

bluGill|14 days ago

I remember using the web on 25mhz computers. It ran about as fast as it does today with a couple ghz. Our internet was a lot slower than as well.

lich_king|14 days ago

I think the boring answer is that we waste computing resources simply because if memory and CPU cycles are abundant and cheap, developers don't find it worth their time to optimize nearly as much as they needed to optimize in the 1980s or 1990s.

Had we stopped with 1990s tech, I don't think that things would have been fundamentally different. 1980s would have been more painful, mostly because limited memory just did not allow for particularly sophisticated graphics. So, we'd be stuck with 16-color aesthetics and you probably wouldn't be watching movies or editing photos on your computer. That would mean a blow to social media and e-commerce too.

grvbck|14 days ago

> One thing I do know for sure. LLMs would have been impossible.

We had ELIZA, and that was enough for people to anthropomorphize their teletype terminals.

tonyedgecombe|14 days ago

I always think the Core 2 Duo was the inflexion point for me. Before that current software always seemed to struggle on current hardware but after it was generally fine.

As much as I like my Apple Silicon Mac I could do everything I need to on 2008 hardware.

JdeBP|14 days ago

Transputers. Lots and lots and lots of transputers. (-:

kaashif|14 days ago

I don't think there's really a credible alternate reality where Moore's law just stops like that when it was in full swing.

The ones that "could have happened" IMO are the transistor never being invented, or even mechanical computers becoming much more popular much earlier (there's a book about this alternate reality, The Difference Engine).

I don't think transistors being invented was that certain to happen, we could've got better vacuum tubes, or maybe something else.

PetahNZ|14 days ago

We did have web browsers, I had Internet Explorer on Windows 3.1, 33mhz 8mb RAM.

dheera|14 days ago

> Would we still get web browsers?

Yes, just that they would not run millions of lines of JavaScript for some social media tracking algorithm, newsletter signup, GDPR popup, newsletter popup, ad popup, etc. and you'd probably just be presented with the text only and at best a relevant static image or two. The web would be a place to get long-form information, sort of a massive e-book, not a battleground of corporations clamoring for 5 seconds of attention to make $0.05 off each of 500 million people's doom scrolling while on the toilet.

Web browsers existed back then, the web in the days of NCSA Mosaic was basically exactly the above

Someone|13 days ago

> Would we still get web browsers?

https://en.wikipedia.org/wiki/PLATO_(computer_system) is from the 1960s, so, technically, it certainly is possible. Whether it would make sense commercially to support a billion users would depend on whether we would stay stuck on prices of the eighties, too.

Also, there’s mobile usage. I would it be possible to build a mobile network with thousands of users per km² with tech from the eighties?

wolvoleo|13 days ago

No, if we had the web it would be more like what gopher was. Or maybe lynx.

Edit: oh I thought you meant if we were stuck in 6502 style stuff. With megabytes of ram we'd be able to do a lot more. When I was studying we ran 20 X terminals with ncsa mosaic on a server with a few CPUs and 128GB RAM or so. Graphic browsing would be fine.

Only when Java and JavaScript came on the scene things got unbearably slow. I guess in that scenario most processing would have stayed server-side.

antidamage|14 days ago

Teletext existed in the 80s and was widely in use, so we'd have some kind of information network.

BBSes existed at the same time and if you were into BBSes you were obsessive about it.

myself248|14 days ago

And imagine if telecom had topped out around ISDN somewhere, with perhaps OC-3 (155Mbps) for the bleeding-fastest network core links.

We'd probably get MP3 but not video to any great or compelling degree. Mostly-text web, perhaps more gopher-like. Client-side stuff would have to be very compact, I wonder if NAPLPS would've taken off.

Screen reader software would probably love that timeline.

yoyohello13|14 days ago

This is basically the premise of the Fallout universe. I think in the story it was the transistor was never invented though.

jxdxbx|13 days ago

I like the 32 bit era because it's the only time we had symmetrical data and address buses. 32 bit data bus on chip. 32 bit addressable RAM, 4 GB. Used to be 8/16 and now it's 64/whatever. Understandable decisions given needs/constraints but sort of messy.

eqvinox|14 days ago

You'd probably get much more multiprocessor stuff much earlier. There's probably 2 or 3 really good interfaces to wire an almost arbitrary number of CPUs together and run some software across all of them (AMP not SMP).

user3939382|14 days ago

Actually real AI isn’t going to be possible unless we return to this arch. Contemporary stacks are wasting 80% of their energy which we now need for AI. Graphics and videos are not a key or necessary part of most computing workflows.

DeathArrow|13 days ago

>I sometimes wonder what the alternate reality where semiconductor advances ended in the eighties would look like.

We would have seen much less desktop apps being written using Javascript frameworks.

anticodon|13 days ago

> Would we still get web browsers?

There was Lynx text browser that was ported even to MS-DOS. I was using it until about 2010. It was a great browser until websites become unusable.

Gibbon1|13 days ago

I was doing Schematic Capture and Layout on a 486 with <counts voice> one two three four five six seven eight 8 megabytes of RAM ah haha.

vidarh|14 days ago

There are web browsers for 8-bits today, and there were web browsers for e.g. Amiga's with 68000 CPU's from 1979 back in the day.

romperstomper|14 days ago

> One thing I do know for sure. LLMs would have been impossible.

Maybe they could, as ASICs in some laboratories :)

zi2zi-jit|14 days ago

tbh we'd probably just have really good Forth programmers instead of LLMs. same vibe, fewer parameters.

intrasight|14 days ago

Well, we wouldn't have ads and tracking.

deckar01|14 days ago

3D printer beds have been getting bigger, but slicers don’t seem to account for curling as large prints cool. The problem is long linear runs on bottom infill and perimeters shrinking. I’ve been cutting my large parts into puzzle like shapes, but printing them fully assembled. This adds curved perimeters throughout the bottom layer, reducing the distance stress can travel before finding a seam to deform.

That said, a retro laptop this thick would look really nice in stained wood.

ezulabs|13 days ago

I stop seeing those issues after starting using Bambulab X1 3d printer, it just works 99 percent of the time. My old ender 3 v2 had those issues due to bed changing its shape during printing(thin metal changing shape in micro level due to temp and mechanical stress with 4 knobs pulling down), not sticking well, not enough fast cooling or cooling effects bed temp profile, way off even with auto level probes. Also open 3d printer with bunch of air flow is a killer for those prints. OP should try Bambulab like enclosed more accurate 3d printer from a local 3d print shop or a hackerspace after locking the design and enclosure iterations.

lawn|13 days ago

With proper bed leveling, meshing, chamber temperature, ears/brim, and glue this shouldn't be a big issue.

What printer are you using?

rustyhancock|14 days ago

Stunning work! Astounding progress since its under 3 months old from PCB to this result.

Funnily enough I've been musing this past month would I better separate work if I had a limited Amiga A1200 PC for anything other than work! This would nicely fit.

Please do submit to HackaDay I'm sure they'd salivate over this and it's amazing when you have the creator in the comments. Even if just to explain no a 555 wouldn't quite achieve the same result. No not even a 556...

billygoat|13 days ago

Wait, there is an 800x480 display connected, but the thing only has 46k of RAM. There's no explanation of the display approach being used.

The extended graphics commands seem to allow X/Y positioning with an 8-bit color.

I think the picture shows an 80x25 screen?

What gives here? Anyone know what's going on?

alnwlsn|13 days ago

The display controller they are using (RA8875 or RA8889) has several hundred KB of internal memory. So you can write to the screen and the image will "stay there" as it were, you don't have to store a framebuffer or keep writing out the image like with a CRT.

jensgk|13 days ago

It probably has a character mapped display, so you can only display 256 different (ascii and graphics) characters in a memory mapped 80*25 = 2000 bytes display buffer.

EDIT: I can now see that is does have bit mapped graphics. It must have a built-in serial like terminal with graphics capabilities.

EDIT2: Probably using this chip: https://www.adafruit.com/product/1590

:-)

guidoism|14 days ago

> Yes, I know I'm crazy, but

Any time I see this phrase I know these are my people.

readme|14 days ago

Crazy for wanting a computer that's actually yours.

I believe there will come a day where people who can do this will be selling these on the black market for top dollar.

ekaryotic|14 days ago

neat. not something i´d hanker for. i saw a 16 core z80 laptop years ago and i often think about it because it can multitask. https://hackaday.com/2019/12/10/laptop-like-its-1979-with-a-...

nine_k|14 days ago

I implemented "multitasking" (well, two-tasking) between a BASIC program and native code on a Z80, using a "supervisor" driven by hardware interrupts. There's just so much you can pack in a 4MHz CPU with a 4-bit ALU (yes, not 8-bit). It worked for soft-realtime tasks, but would be a rather weak desktop.

shrubble|14 days ago

The follow on to CPM which ran on the Z80 is MPM which is a multitasking OS.

lysace|14 days ago

Good timing. My current weekend project is constructing something similar to the the first third of Ben Eater's 6502 design (last weekend was the clock module plus some eccentricities).

It occurred to me that given the 6502's predictable clock cycle timings it should be possible to create a realtime disassembler using e.g. an Arduino Mega 2560+character lcd display attached to the 6502's address/data/etc pins.

Of course, this would only be useful in single-stepping/very slow clock speeds. Still, I think it could be useful in learning how the 6502 works.

Is there relevant prior work? I'm struggling with my google fu.

unimplmntd_trap|10 days ago

I was recently using this project. It outputs over serial which is handy for capturing a longer stream. I’m working on a wire wrapped 6502 machine and was getting a weird issue where I could see via the Sync pin that it was mis-executing a byte of data as an instruction instead. The fix was to add another decoupling capacitor next to the CPU…

https://github.com/dpm-343/6502-monitor

jrmg|13 days ago

I love this.

It always mildly tickles me when retrocomputer designs use anachronistic processors way more powerful than the CPU in their design - in this case, there’s a ATmega644 as a keyboard controller (64K ROM - although only 4K RAM, up to 20MHz) and presumably something pretty powerful in the display board.

ted_dunning|14 days ago

I love the super clunky retro esthetic!

Takes me back to a time when a laptop would encourage the cat to share a couch because of the amount of heat it emitted.

Amazingly quick as well. Pointless projects are so much better and more fun when they don't take forever!

marcodiego|14 days ago

Maybe this can achieve RYF certification.

What I really would love: modern (continously built) modern (less than 10 years old tech) devices ryf-cetified.

flopsamjetsam|14 days ago

I love the case material. What is it? It looks like what they make the bulk post boxes out of here (if you ship a lot of material via post, they give you these boxes to put them in to/from the delivery centre), or corflute material (election candidates posters around here).

speedgoose|13 days ago

Looks like 3D printed PLA.

drob518|14 days ago

Brilliant! I love it. Bonus points for using the eWoz monitor. It’s giving me the itch to build it.

detay|14 days ago

this post made me smile. why not!!! 6502 my first processor. <3

user3939382|14 days ago

I love this! I’ve been working on a 6502 kernel. I have an arch trick to give the 6502 tons of memory so it can do a kind of Genera-like babashka lisp machine.

JPLeRouzic|13 days ago

> "I have an arch trick to give the 6502 tons of memory"

Please, what is your trick, is it a variation on bank memories?

userbinator|14 days ago

I wonder how long the battery lasts. The LCD backlight probably draws more power than the CPU (<0.1W, even with no special low-power idle modes.)

rbanffy|14 days ago

6502 based computers shouldn’t have a “dir” command. It’s “catalog” for detailed info or “cat” for the short one.

vardump|14 days ago

No, it should be

  LOAD "$", 8

rickcarlino|14 days ago

Recently purchased a Pocket8086 and I can say – these sorts of things are _very_ fun.

aa-jv|13 days ago

Nice one - the prototype sure reminds me of the early OpenPandora days ..

zahlman|14 days ago

> 46K RAM

Not 64?

(Edit: I see part of the address space is reserved for ROM, but it still seems a bit wonky.)

wkjagt|14 days ago

The 6502 doesn't have separate io addresses so you need to fit all devices in a 64k space, not just ROM.

lloydatkinson|13 days ago

This was very interesting until I saw it had a Pi Pico for some reason

einpoklum|14 days ago

And it mostly runs Microsoft software, too... Basic from 1977 :-P

Tor3|14 days ago

It does not run Microsoft software at all, as far as I can tell. EhBasic isn't Microsoft Basic, ehbasic was written by Lee Davison. And this particular version was further enhanced (see github). And wozmon was obviously written by Woz.. not Microsoft.

facorreia|14 days ago

This would have been absolutely mind blowing back in the day!

Western0|13 days ago

This dev can working more than a week on one AA battery?

p0w3n3d|14 days ago

Wow. It's fresh as a rose! Congratulations!

analog8374|14 days ago

It's commodore 64 ish. I like it

Narishma|14 days ago

More like Commodore 46.

starkeeper|14 days ago

How about a cassette tape storage?

drkrab|14 days ago

Way cool! When can I buy one?

HardwareLust|14 days ago

Serious question; Why 6502?

ggm|14 days ago

BBC Micro, Acorn Atom, Commadore PET. all kinds of home computer. So prime retro material late 70s early 80s. There's a CP/M port. So you can use PIP which traces it's lineage back to the DEC Tops-10 operating system if not beforehand (its a peripheral IO command model, although I think CP/M PIP only shares name)

Add a DIN plug and record programs in Kansas City Standard on a cassette recorder. Could be a walkman. A floppy (full 8" type) was a luxury. Almost a megabyte! imagine what you can do.. when a program is the amount of text you can fit in the VBI of a ceefax/teletext broadcast, or is typed in by hand in hex. Kansas city standard is 300 bits/second and the tape plays in real-time so a standard C60 is like 160kb on both sides if you were lucky: it misread and miswrote a LOT.

I used to do tabular GOTO jump table text adventures, and use XOR screen line drawing to do moving moire pattern interference fringes. "mod scene" trippy graphics!

Thats a mandelbrot in ASCII, the best I've seen, on the web page. Super stuff.

People wrote tiny languages for the 6502. integer only but C like syntax, or Pascal or ALGOL. People did real science in BASIC, a one weekend course got you what you needed to do some maths for a Masters or PHD in some non CS field.

My friends did a lot more of this than me. Because I had access to a Dec-10 and a PDP-11 at work and later Vax/VMS and BSD UNIX systems, I didn't see the point of home machines. A wave I wish I'd ridden but not seeing the future emerge has been a constant failure of mine.

wvenable|14 days ago

The 6502 is the best 8bit CPU for learning stuff. There's a lot you could add to it, but there is very little could take away. It's minimal but you have everything you need.

xx__yy|14 days ago

Legend!!!

bananaboy|14 days ago

Wow! Now this is cool!