[HN Gopher] MOS tech 6502 8-bit microprocessor in pure SQL power...
       ___________________________________________________________________
        
       MOS tech 6502 8-bit microprocessor in pure SQL powered by Postgres
        
       Author : adunk
       Score  : 65 points
       Date   : 2026-04-14 05:46 UTC (17 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | m000 wrote:
       | Cool! How about Postgres on MOS tech 6502 8-bit microprocessor
       | powered by Microsoft's 6502 BASIC?
        
       | Someone wrote:
       | This, basically, uses a table to store 64 kilobytes of memory, a
       | single-row table for storing register values, and uses regular
       | procedural programming to run the CPU
       | (https://github.com/lasect/pg_6502/blob/main/init/05_execute....)
       | 
       | I give that an A+ for perseverance, but I would have hoped to see
       | something that uses the strengths of SQL more.
       | 
       | For example, there could be a table with the decode ROM
       | (https://www.cpcwiki.eu/index.php/MOS_6502#The_Decode_ROM_.28...)
       | that could be used to drive the logic.
       | 
       | Have a main loop that uses the inputs of that ROM to look up the
       | output bits and update a table, and add triggers that handle each
       | "micro-op". A SQL engine could run those triggers in parallel
       | until they hit a race condition, but those can be avoided a bit
       | by having separate tables for each register.
       | 
       | Even better would be if there were tables with every logic gate
       | and wire in the original CPU, using a trigger to move the signals
       | around. That would be a good test of the trigger handling in a
       | SQL engine.
        
       | anthk wrote:
       | Kim-1 emulator and assembler for T3X0:
       | 
       | https://t3x.org/t3x/0/sim65kit.html
       | 
       | https://t3x.org/kimuno/
       | 
       | Pocket calc as 6502 code
       | 
       | https://t3x.org/kimuno/kimcalc.html
       | 
       | T3x0 compiler to build the emulator:
       | 
       | https://t3x.org/t3x/0/index.html
       | 
       | I've got to run under OpenBSD/i386 but it needs a bit of tweaks
       | in the Makefile. On the target section:                   #
       | CFLAGS=$CFLAGS" -m32"                 # on x86 64-bit systems
       | CFLAGS=$CFLAGS" -static"                # in case all else fails
       | CFLAGS=$CFLAGS" -fPIC"          # get rid of stupid linker errors
       | CFLAGS=$CFLAGS" -Wl,-z,notext"  # get rid of stupid linker errors
       | CFLAGS=$CFLAGS" -fno-PIE -no-pie"       # get rid of stupid
       | linker errors
       | 
       | Do the same in the bin/tx0.sh and bin/build.sh just in case. In
       | my system I set the target to unix-386, and T3XDIR it's set to
       | T3XDIR=/usr/local/t3x/lib in the Makefile and bin/tx0.sh scripts.
       | 
       | Also, T3XBIN it's set to BINDIR= /usr/local/t3x/bin
       | 
       | Then I ran:                     sh bin/modpath.sh
       | /usr/local/t3x/lib            gmake all-native           doas
       | gmake install-native install-modules
       | 
       | But it was still broken. Then, I edited /usr/local/t3x/bin/tx0
       | and set
       | 
       | TX3DIR is above, and ditto with the four CFLAGS flags I posted.
       | 
       | Just the ones at lines 38-42.
       | 
       | OFC set PATH to /usr/local/t3x0/bin:$PATH in ~/.profile:
       | export PATH=/usr/local/t3x0/bin:$PATH
       | 
       | Yeah, it's tricky, but from now on everything will just compile
       | with                     'tx0 foo'
       | 
       | where 'foo' it's a foo.t file.
       | 
       | This was compiled under an Atom n270 CPU based netbook. I think
       | the author uses a Pentium III machine. If T3X0 can do a MOS 6502
       | emulation that well, you can try expanding s65/sim65 to cover the
       | Apple I emulation.
       | 
       | And, as a plus, it might run fast on DOS 386 machines if
       | s65/sim65 it's compiled a native binary.
        
       | larodi wrote:
       | Waiting for 6502 implemented on top of Sudoku!
        
         | nefarious_ends wrote:
         | How would that work?
        
       | eatonphil wrote:
       | Very cool! If you want to see a _much_ simpler version of this I
       | wrote an article a few years implementing a stack language in
       | Postgres PL /pgSQL similar to what this one does.
       | 
       | https://notes.eatonphil.com/exploring-plpgsql-forth-like.htm...
        
       | fred_is_fred wrote:
       | Can someone take this and build a working 6502 binary that
       | creates a SQL database?
        
       | jpl56 wrote:
       | Lovely! (I saw a few examples in "tests")
       | 
       | Next step : insert the Applesoft Basic assembly code and allow
       | programming in Basic through SQL
        
       ___________________________________________________________________
       (page generated 2026-04-14 23:01 UTC)