My EXAPUNKS solutions!

My EXAPUNKS solutions!

I have been playing the amazing EXAPUNKS game lately, and having a ton of fun.

Writing some assembly-like ultra limited language is how I started coding when I was a kid, so this game brings me back! Also the whole 90s hacking scene theme, oof, goosebumps.

I still haven't completed it, but I will post here my solutions up to where I am currently at in case they can help anyone!

Tutorials

Trash World News 1

LINK 800
GRAB 200
LINK 800
DROP
HALT

Trash World News 2

LINK 800
GRAB 200
COPY F X
ADDI X F X
MULI X F X
SUBI X F X
COPY X F
LINK 800
DROP
HALT

Trash World News 3

LINK 800
LINK 800
MAKE
COPY M X
COPY M T
COPY T F
COPY X F
DROP
HALT
LINK 800
LINK 799
GRAB 199
COPY F M
COPY F M
WIPE
HALT

Trash World News 4

LINK 800
GRAB 200
COPY F M
WIPE
HALT
LINK 800
LINK 800
MAKE
COPY M X
MARK LOOP
COPY X F
SUBI X 1 X
TEST X = 0
FJMP LOOP
COPY X F
DROP
HALT

Euclid's Pizza

LINK 800
GRAB 200
SEEK 999
COPY 5 X
MARK LOOP
COPY M F
SUBI X 1 X
TEST X = 0
FJMP LOOP
DROP
HALT
GRAB 300
COPY 5 X
MARK LOOP
COPY F M
SUBI X 1 X
TEST X = 0
FJMP LOOP
WIPE
HALT

Mitsuzen Hdi-10

LINK 800
MARK LOOP
COPY #NERV M
JUMP LOOP
LINK 800
LINK 1
LINK 1
LINK 1
LINK 1
MARK LOOP
COPY M X
TEST X > 50
TJMP OVER50
TEST X < -120
TJMP UNDERM120
COPY X #NERV
JUMP LOOP
MARK OVER50
COPY 50 #NERV
JUMP LOOP
MARK UNDERM120
COPY -120 #NERV
JUMP LOOP

Last Stop Snaxnet

GRAB 300
COPY F X
DROP
LINK 800
LINK 800
GRAB 237
MARK LOOP
TEST F = X
FJMP CONTINUE
SEEK -1
VOID F
MARK CONTINUE
TEST EOF
FJMP LOOP 
DROP
HALT

Zebros Copies

GRAB 300
COPY F X
DROP
LINK 800
GRAB 200
MARK LOOP
TEST EOF
TJMP FINISH
TEST X = F
TJMP DELETE
SEEK 2
JUMP LOOP
MARK DELETE
COPY X M
COPY F M
COPY F M
SEEK -2
COPY 0 F
COPY 0 F
MARK FINISH
DROP
HALT
LINK 800
LINK 801
COPY #DATE X
LINK -1
GRAB 201
SEEK 9999
COPY X F
COPY M F
COPY M F
COPY M F
DROP 
HALT

SFCTA Highway Sign #4902

GRAB 300
LINK 800
COPY 0 #CLRS
MARK LOOP
DIVI X 9 #DATA
MODI X 9 #DATA
COPY F #DATA
ADDI X 1 X
TEST EOF
FJMP LOOP
LINK -1
DROP
HALT

Unknown Network 1

LINK 800
MARK SCAN
TEST X = 3
TJMP KILLEXA
ADDI X 1 X
REPL SCAN801
LINK 800
JUMP SCAN
MARK SCAN801
LINK 801
JUMP SCAN
MARK KILLEXA
KILL
GRAB 276
MARK GOBACK
LINK -1
SUBI X 1 X
TEST X = -1
FJMP GOBACK
HALT

UC Berkeley

LINK 800

NOTE SPAWN EXAS FOR TAPE
MARK SPAWN
LINK 800
LINK 800
COPY M X
REPL INTAPE
LINK 800
LINK 800
REPL INTAPE
LINK 800
LINK 800
MARK INTAPE

NOTE READ THE TAPES
GRAB 200
SEEK 9999

MARK LOCATE
SEEK -3
TEST F = X
TJMP FOUND
SEEK -1
TEST F = 0
TJMP NOMORENAMES
SEEK -1
JUMP LOCATE

MARK FOUND

COPY F T
COPY F X
COPY X M
SEEK -9999
SEEK T
MARK READLOOP
COPY F M
SUBI X 1 X
TEST X = 0
FJMP READLOOP

MARK NOMORENAMES
DROP
HALT
GRAB 300
SEEK 1
COPY F M
DROP
NOTE HOST RECEIVER
MAKE
NOTE FIRST VALUE IS SIZE
COPY M X
MARK LOOP
COPY M F
SUBI X 1 X
TEST X = 0
FJMP LOOP
DROP
HALT

Workhouse

GRAB 300
COPY F X
DROP
LINK 800
GRAB 199
MARK LOOKUP
TEST F = X
TJMP LOCATED
SEEK 2
JUMP LOOKUP
MARK LOCATED
SEEK 1
COPY F X
DROP
LINK 799
GRAB X

NOTE CALCULATE TOTAL
SEEK 2
COPY 0 X
MARK SUM
ADDI F X X
TEST EOF
FJMP SUM
MARK REWRITE
SEEK -9999
SEEK 2
NOTE X HAS TOTAL, 
MODI X 75 F 
DIVI X 75 X
MARK LOOP75
COPY 75 F
SUBI X 1 X
TEST X = 0
FJMP LOOP75
NOTE REARRANGE MODI
SEEK -9999
SEEK 2
COPY F X
SEEK -1
VOID F
SEEK 9999
COPY X F
DROP
HALT

Equity First Bank

LINK 800
LINK 800
LINK 800

COPY 800 X
MARK LOOP
REPL ENTER
ADDI X 1 X
TEST X = 806
TJMP ENTER
JUMP LOOP

MARK ENTER
LINK X

MARK GIVEBILL
COPY #CASH X
COPY 20 #DISP
SUBI X 1 X
TEST X = 0
FJMP GIVEBILL
HALT

Mitsuzen Hdi-10 (Heart)

LINK 800
MARK LOOP
COPY #NERV X
DIVI X -10 X
SUBI X 2 X
COPY X M
COPY X M 
JUMP LOOP
LINK 800

LINK 1
LINK 1
MARK GETVALUE
COPY 40 #NERV
COPY -70 #NERV
COPY M X

MARK WRITE
COPY -70 #NERV
SUBI X 1 X
TEST X = 0
FJMP WRITE
JUMP GETVALUE
LINK 800

LINK 3
LINK 3
MARK GETVALUE
COPY -70 #NERV
COPY 40 #NERV
COPY M X

MARK WRITE
COPY -70 #NERV
SUBI X 1 X
TEST X = 0
FJMP WRITE
JUMP GETVALUE

Trash World News

GRAB 300
MARK WAIT
COPY M X
TEST X = 9999
FJMP SEARCHWORD
DROP
HALT

MARK SEARCHWORD
TEST X = F
TJMP SWITCH
NOTE ENTRY NOT FOUND
SEEK 1
TEST EOF
FJMP SEARCHWORD
COPY X M
MARK GOBACK
SEEK -9999
JUMP WAIT
MARK SWITCH
COPY F M
JUMP GOBACK
LINK 800
LINK 799
GRAB 212
MARK READNCHANGE
COPY F M
SEEK -1
COPY M F
TEST EOF
FJMP READNCHANGE
COPY 9999 M
DROP
HALT

Kgog-TV

NOOP
NOOP
NOOP
LINK 800
GRAB 210
LINK 809
DROP
GRAB 265
LINK -1
DROP
LINK 800
KILL
KILL
LINK 800
GRAB 211
LINK 867
DROP
LINK -1

TEC Redshift

LINK 800

NOTE X HOLDS THE PASS
MARK LOOP

SWIZ X 0001 #PASS
SWIZ X 0002 #PASS
SWIZ X 0003 #PASS
ADDI X 1 X
TEST X > 999
REPL LOOP

LINK 800
LINK -1
KILL
LINK 800
GRAB 199
SUBI X 1 X
SWIZ X 0001 M
SWIZ X 0002 M
SWIZ X 0003 M
COPY F M
LINK -1
KILL
DROP
HALT
MAKE
COPY M F
COPY M F
COPY M F
COPY M F
DROP
HALT