Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    V

    Vince Weaver

    deater.net · Personal blog · on HN since 2011

    Vince Weaver is a computer engineer who builds Apple II demos, demakes and assembly language projects, and has kept a personal site since 1996.

    Visit blogHN submissions
    Retro ComputingProgrammingGames
    What HN says

    HN commenters call the whole site a gem and an old-school hacker's site, and link it for Apple II tricks like the vapor lock and Myst and Portal ports.

    Stats for nerds
    34HN people shared it
    34linked in comments
    808story points
    Jul 2026last shared
    2011people per year2026

    Top posts on HN

    1. 1
      Portal for Apple II
      4 people · 285 points · first shared 2017 · 36 comments on HN
    2. 2
      Apple ][ "Lemmings" Proof of Concept
      3 people · 221 points · first shared 2022 · 46 comments on HN
    3. 3
      If you can't play the new VR version of Myst, why not play the Apple II demake
      6 people · 133 points · first shared 2020 · 27 comments on HN
    4. 4
      So you want to make pixel art for an Apple II
      1 person · 65 points · first shared 2024 · 10 comments on HN
    5. 5
      Maximizing Compression of Apple II Hi-Res Images
      1 person · 26 points · first shared 2025 · 4 comments on HN
    6. 6
      “Apple II Seasons” – A 128-byte Apple II Demo by DESiRE
      1 person · 23 points · first shared 2020 · Discussion on HN
    7. 7
      Monster Splash double-hires demo for Apple IIe
      1 person · 8 points · first shared 2025 · Discussion on HN
    8. 8
      Linux_logo in 22 different assembly languages
      3 people · 5 points · first shared 2011 · Discussion on HN
    9. 9
      Riven on Apple II
      2 people · 5 points · first shared 2024 · Discussion on HN
    10. 10
      Giving a Presentation From an Apple ][
      1 person · 5 points · first shared 2013 · Discussion on HN

    What HN people wrote when they linked it

    • retracNov 2025

      > The CPU (the Motorola 68000) initiates all communication in the case of the Macintosh

      Minor nitpick but the video controller has direct access to RAM and when the visible part of the display is being drawn by the video controller, it does cycle-stealing DMA that preempts the CPU.

      You can read in depth about it from Steve Chamberlain, the designer of an FPGA low level clone of the Mac Plus here: [0]

      By the way but this why the compact Macs have CPU performance of about a 6 MHz 68000 when clocked at almost 8 MHz. About half the time the display is being redrawn. And about half the memory bandwidth is used up at those times.

      Bit of a tangent but the Apple II used a similar approach for its video system. As the article notes, the 68K has a prefetch queue. So it's always reading ahead which is what you get from reading an open bus. But the 6502 is a simple CPU without that fancy prefetch queue, so if you read a non-extant address on the Apple II you get what the video system just read and drew in the previous half-cycle. It's possible to sync up the CPU with the video system this way; something otherwise impossible on the Apple II. [1]

      [0] https://www.bigmessowires.com/2011/08/25/68000-interleaved-memory-controller-design/

      [1] http://www.deater.net/weave/vmwprod/megademo/vapor_lock.html

    • gnosisJun 2011

      If you're going to be writing assembly on Linux, you should decide which of the two major syntaxes to learn:

      - AT&T (gas, gcc inline assembly)
      - Intel (nasm, fasm, yasm, but also gas)

      Some links to help you decide:

      Pro-gas: http://www.deater.net/weave/vmwprod/asm/ll/README.gas_sucks

      Anti-gas: http://x86asm.net/articles/what-i-dislike-about-gas/

      Neither/both: http://www.ibm.com/developerworks/linux/library/l-gas-nasm/index.html

      Neither: http://webster.cs.ucr.edu/AsmTools/WhichAsm.html

      If you decide to go with AT&T/gas, check out "Programming from the Ground Up", by Jonathan Bartlett:

      http://download.savannah.gnu.org/releases/pgubook/

      If you decide to go with Intel/nasm, see "PC Assembly Language" by Paul A. Carter:

      http://www.drpaulcarter.com/pcasm/

      Also, the following tutorial is focused on DOS/8086, but it's really unique in that it's very interactive, and provides you with a fully functional assembly interpreter and 8086 simulator:

      http://www.btinternet.com/~btketman/tutpage.html

      I highly recommend it for getting a quick feel for the basics, though some of the DOS/8086 specific stuff in it won't apply to Linux.

    • johndoe0815Apr 2021

      Thanks for the link!

      Adapting the Project Oberon compiler code generation isn't that difficult, but the devil is in the details :). My student Rikke described some of the challenges porting Project Oberon to RISC-V in her project report (https://github.com/solbjorg/oberon-riscv/blob/master/report.pdf).

      I assume that the most time-consuming task to get Project Oberon to run on ARM/Raspberry Pi would be to write device drivers for more complex devices, e.g. USB and Ethernet. These could be written in Oberon (which would be a considerable effort) or possibly be abstracted by using a bare-metal hypervisor that supports VirtIO device abstractions, e.g. Vmware ESXI. This way, one would only have to implement VirtIO drivers in Oberon, which is considerably less complex.

      Connecting a PS/2 keyboard and mouse instead of USB might also be an alternative, since drivers for PS/2 are far less complex: http://www.deater.net/weave/vmwprod/hardware/pi-ps2/

    • oklDec 2021

      > What sticks in my mind from my limited exposure to SuperH is that there's no load immediate instruction, so you have to do a PC-relative load instead.

      SuperH has a mov #imm, Rx that can take an 8-bit #imm. But you're right, literal pools were used just like on ARM.

      Things I liked about SuperH: 16 bit fixed-width insn format (except for some SH2A and DSP ops), T flag for bit manipulation ops, GBR to enable scaled loads with offset, xtrct instruction, single-cycle division insns (div0, div1), MAC insns.

      In terms of code density SH was quite effective, see here http://web.eece.maine.edu/~vweaver/papers/iccd09/iccd09_density.pdf or here http://www.deater.net/weave/vmwprod/asm/ll/ll.html

    • diydspDec 2023

      It's got some smooth and color graphics and while we don't get to hear the delightful 1-bit speaker of the Apple IIe, the Mockingboard is much gentler on the ears in this nicely synthesized multi-part song which appears to be custom-composed by mA2E just for this demo.

      From the description:

      2023 edition of my annual Christmas Demo tradition. Recorded on real Apple IIe with Mockingboard card.

      by Desire, code by Deater, Music by mA2E

      There's some vapor-lock / vblank detection/ non-typical mid-screen mode switches happening here.

      for more info/disk image see: http://deater.net/weave/vmwprod/xmas23/

    • deaterJul 2026

      back when the Apple II / Applesoft BASIC twitter bot was a thing similar techniques were the best way to inject assembly language into a BASIC program, though we quickly learned there were more compact ways than REM to get a line ignored.

      Some examples here, as sadly the apple2twitter bot shut down and deleted their account a while ago.

      http://deater.net/weave/vmwprod/appleiibot/part7.html

    Related

    Byte Cellarbytecellar.com34 people

    The era of American computer magazines has drawn to a close

    Byte Cellar
    Personal · last shared 2026
    Fabien Sanglardrome.ro28 people

    Happy 20th Birthday, Quake

    Fabien Sanglard
    Personal · last shared 2026
    Arcade Bloggerarcadeblogger.com32 people

    Rescuing vintage arcade video games from an abandoned ship (2016)

    Arcade Blogger
    Personal · last shared 2026
    David Givencowlark.com94 people

    Live coding a vi for CP/M from scratch

    David Given
    Personal · last shared 2026
    The Digital Antiquarianfilfre.net280 people

    Riven

    The Digital Antiquarian
    Personal · last shared 2026
    Vintage Computingvintagecomputing.com51 people

    It's time to make computing personal again

    Vintage Computing
    Personal · last shared 2026
    Lundukelunduke.substack.com91 people

    The computers used to do 3D animation for Final Fantasy VII in 1996

    Lunduke
    Personal · last shared 2026
    Ignore the Codeignorethecode.net112 people

    Oberon (2009)

    Ignore the Code
    Personal · last shared 2026