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