Skip to content

Instantly share code, notes, and snippets.

@NateBrune
Created March 9, 2016 02:44
Show Gist options
  • Save NateBrune/7506873da4635bc90825 to your computer and use it in GitHub Desktop.
Save NateBrune/7506873da4635bc90825 to your computer and use it in GitHub Desktop.
Filling Cup DCPU
:main
SET A, 0
SET B, 0xB800
HWI 0
SET A, 0xB800
SET X, A
SET I, X
SET Z, 0xB800
ADD Z, 0x0180
SET I, 0xB800
SET J, hey
:write
IFE [J], 0
SET J, hey
IFE I, Z
SET PC, xorwrite
BOR [J], 0xf000
STI [I], [J]
SET PC, write
:xorwrite
IFE I, Z
SET I, X
;jsr rand
SET J, I
IFE I, X
ADD J, 2
IFE I, X
SET PC, write
SUB J, 1
;XOR [I], [J]
JSR rand
AND A, 0xFF00
BOR [I], A
ADD I, 1
SET PC, xorwrite
:rand
; 0x0019660D x seed + 1
SET B, [randseed]
SET A, [randseed + 1]
MUL [randseed], 0x660D
SET C, EX
MUL A, 0x660D
ADD A, C
MUL B, 0x0019
ADD A, B
ADD [randseed], 1
ADD A, EX
SET [randseed + 1], A
SET PC, POP
:hey
DAT "ARCHAIC", 0
:randseed
DAT 0x1133, 0x1234
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment