zamuda
This commit is contained in:
parent
630b6a5086
commit
6d722acba9
2 changed files with 220 additions and 0 deletions
6
AF.dev
Normal file
6
AF.dev
Normal file
File diff suppressed because one or more lines are too long
214
ppm.asm
Normal file
214
ppm.asm
Normal file
|
|
@ -0,0 +1,214 @@
|
|||
ppm START 0
|
||||
LDA #stack
|
||||
STA sp
|
||||
CLEAR B
|
||||
hloop CLEAR A
|
||||
RD inputd
|
||||
WD #1
|
||||
COMP #10
|
||||
JEQ ln2
|
||||
J hloop
|
||||
ln2 CLEAR A
|
||||
RD inputd
|
||||
COMP #35 .#
|
||||
JEQ comm
|
||||
J dims1
|
||||
comm WD #1
|
||||
ln2lp CLEAR A
|
||||
RD inputd
|
||||
WD #1
|
||||
COMP #10
|
||||
JEQ dims
|
||||
J ln2lp
|
||||
dims RD inputd
|
||||
dims1 COMP #32
|
||||
JEQ dims1e
|
||||
WD #1
|
||||
SUB #48 .0
|
||||
ADDR A,B
|
||||
LDA #10
|
||||
MULR A,B
|
||||
RD inputd
|
||||
J dims1
|
||||
dims1e WD #1
|
||||
LDA #10
|
||||
DIVR A,B
|
||||
STB width
|
||||
CLEAR B
|
||||
RD inputd
|
||||
dims2 COMP #10
|
||||
JEQ dims2e
|
||||
WD #1
|
||||
SUB #48 .0
|
||||
ADDR A,B
|
||||
LDA #10
|
||||
MULR A,B
|
||||
RD inputd
|
||||
J dims2
|
||||
dims2e WD #1
|
||||
LDA #10
|
||||
DIVR A,B
|
||||
STB height
|
||||
CLEAR B
|
||||
RD inputd
|
||||
dims3 COMP #10
|
||||
JEQ dims3e
|
||||
WD #1
|
||||
SUB #48 .0
|
||||
ADDR A,B
|
||||
LDA #10
|
||||
MULR A,B
|
||||
RD inputd
|
||||
J dims3
|
||||
dims3e WD #1
|
||||
LDA #10
|
||||
DIVR A,B
|
||||
STB maxval
|
||||
CLEAR B
|
||||
|
||||
LDA width
|
||||
MUL height
|
||||
STA pixcnt
|
||||
|
||||
mainlp CLEAR A
|
||||
CLEAR B
|
||||
RD inputd
|
||||
STCH red
|
||||
RD inputd
|
||||
STCH green
|
||||
RD inputd
|
||||
STCH blue
|
||||
JSUB intens
|
||||
LDCH clrmax
|
||||
DIV #64
|
||||
ADDR A,B
|
||||
SHIFTL B,2
|
||||
LDCH red
|
||||
DIV #64
|
||||
ADDR A,B
|
||||
SHIFTL B,2
|
||||
LDCH green
|
||||
DIV #64
|
||||
ADDR A,B
|
||||
SHIFTL B,2
|
||||
LDCH blue
|
||||
DIV #64
|
||||
ADDR B,A
|
||||
|
||||
STCH @pixptr
|
||||
LDA pixptr
|
||||
ADD #1
|
||||
STA pixptr
|
||||
LDA pixctr
|
||||
ADD #1
|
||||
STA pixctr
|
||||
DIV width
|
||||
MUL width
|
||||
COMP pixctr
|
||||
JEQ ptradj
|
||||
adjret
|
||||
|
||||
|
||||
LDA pixctr
|
||||
COMP pixcnt
|
||||
JEQ halt
|
||||
J mainlp
|
||||
J halt
|
||||
|
||||
ptradj LDA pixptr
|
||||
SUB width
|
||||
ADD cols
|
||||
STA pixptr
|
||||
J adjret
|
||||
|
||||
LDA screen
|
||||
STA pixptr
|
||||
STA srtptr
|
||||
srtlp2 CLEAR A
|
||||
LDCH @pixptr
|
||||
RMO A,B
|
||||
LDCH @srtptr
|
||||
COMPR A,B
|
||||
JLT srtswp
|
||||
ssret LDA srtptr
|
||||
ADD #1
|
||||
STA srtptr
|
||||
LDA screen
|
||||
ADD cols
|
||||
COMP srtptr
|
||||
JEQ next
|
||||
nret J srtlp2
|
||||
LDA #0
|
||||
|
||||
srtswp STCH @pixptr
|
||||
RMO B,A
|
||||
STCH @srtptr
|
||||
J ssret
|
||||
next LDA srtptr
|
||||
ADD #1
|
||||
STA srtptr
|
||||
J nret
|
||||
|
||||
|
||||
|
||||
halt J halt
|
||||
|
||||
intens STA @sp
|
||||
LDA sp
|
||||
ADD #3
|
||||
STA sp
|
||||
STB @sp
|
||||
ADD #3
|
||||
STA sp
|
||||
...
|
||||
CLEAR A
|
||||
LDA red
|
||||
COMP green
|
||||
JLT swpgrn
|
||||
retgrn COMP blue
|
||||
JLT swpblu
|
||||
retblu STA clrmax
|
||||
...
|
||||
LDA sp
|
||||
SUB #3
|
||||
STA sp
|
||||
LDB @sp
|
||||
SUB #3
|
||||
STA sp
|
||||
LDA @sp
|
||||
RSUB
|
||||
swpgrn LDA green
|
||||
J retgrn
|
||||
swpblu LDA blue
|
||||
J retblu
|
||||
|
||||
|
||||
inputd BYTE X'AF'
|
||||
width RESW 1
|
||||
height RESW 1
|
||||
maxval RESW 1
|
||||
pixcnt RESW 1
|
||||
rows WORD 64
|
||||
cols WORD 64
|
||||
pixptr WORD X'00A000'
|
||||
screen WORD X'00A000'
|
||||
pixctr WORD 0
|
||||
srtptr RESW 1
|
||||
red RESW 1
|
||||
green RESW 1
|
||||
blue RESW 1
|
||||
clrmax RESW 0
|
||||
sp RESW 1
|
||||
stack RESW 1024
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
END ppm
|
||||
Loading…
Add table
Add a link
Reference in a new issue