Apps/FillScr: Rewrite from nasm to fasm
This commit is contained in:
@@ -521,6 +521,7 @@ tup.append_table(img_files, {
|
|||||||
{"LIB/SORT.OBJ", VAR_PROGS .. "/develop/libraries/sorter/sort.obj"},
|
{"LIB/SORT.OBJ", VAR_PROGS .. "/develop/libraries/sorter/sort.obj"},
|
||||||
{"LIB/TINYGL.OBJ", VAR_PROGS .. "/develop/libraries/TinyGL/asm_fork/tinygl.obj"},
|
{"LIB/TINYGL.OBJ", VAR_PROGS .. "/develop/libraries/TinyGL/asm_fork/tinygl.obj"},
|
||||||
{"MEDIA/ANIMAGE", VAR_PROGS .. "/media/animage/trunk/animage"},
|
{"MEDIA/ANIMAGE", VAR_PROGS .. "/media/animage/trunk/animage"},
|
||||||
|
{"MEDIA/FILLSCR", VAR_PROGS .. "/media/FillScr/fillscr"},
|
||||||
{"MEDIA/KIV", VAR_PROGS .. "/media/kiv/trunk/kiv"},
|
{"MEDIA/KIV", VAR_PROGS .. "/media/kiv/trunk/kiv"},
|
||||||
{"MEDIA/LISTPLAY", VAR_PROGS .. "/media/listplay/trunk/listplay"},
|
{"MEDIA/LISTPLAY", VAR_PROGS .. "/media/listplay/trunk/listplay"},
|
||||||
{"MEDIA/MIDAMP", VAR_PROGS .. "/media/midamp/trunk/midamp"},
|
{"MEDIA/MIDAMP", VAR_PROGS .. "/media/midamp/trunk/midamp"},
|
||||||
@@ -649,7 +650,6 @@ tup.append_table(img_files, {
|
|||||||
{"ACLOCK", VAR_PROGS .. "/demos/aclock/trunk/aclock"},
|
{"ACLOCK", VAR_PROGS .. "/demos/aclock/trunk/aclock"},
|
||||||
{"LOD", VAR_PROGS .. "/fs/lod/lod"},
|
{"LOD", VAR_PROGS .. "/fs/lod/lod"},
|
||||||
{"DEVELOP/GENFILES", VAR_PROGS .. "/testing/genfiles/GenFiles"},
|
{"DEVELOP/GENFILES", VAR_PROGS .. "/testing/genfiles/GenFiles"},
|
||||||
{"MEDIA/FILLSCR", VAR_PROGS .. "/media/FillScr/fillscr"},
|
|
||||||
})
|
})
|
||||||
tup.append_table(extra_files, {
|
tup.append_table(extra_files, {
|
||||||
})
|
})
|
||||||
|
@@ -1,2 +1,2 @@
|
|||||||
if tup.getconfig("NO_NASM") ~= "" then return end
|
if tup.getconfig("NO_FASM") ~= "" then return end
|
||||||
tup.rule("fillscr.asm", "nasm -f bin -o %o %f " .. tup.getconfig("KPACK_CMD"), "fillscr")
|
tup.rule("fillscr.asm", "fasm %f %o " .. tup.getconfig("KPACK_CMD"), "fillscr")
|
||||||
|
3
programs/media/FillScr/build.bat
Normal file
3
programs/media/FillScr/build.bat
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
@fasm.exe -m 16384 fillscr.asm fillscr.kex
|
||||||
|
@kpack fillscr.kex
|
||||||
|
pause
|
@@ -1,28 +1,29 @@
|
|||||||
; to compile: nasm -f bin fillscr.asm -o fillscr ;
|
|
||||||
; to generate random colors use "fillscr rnd" ;
|
; to generate random colors use "fillscr rnd" ;
|
||||||
; otherwise use "filscr r,g,b, r,g,b, r,g,b,..." ;
|
; otherwise use "filscr r,g,b, r,g,b, r,g,b,..." ;
|
||||||
ORG 0
|
use32
|
||||||
BITS 32
|
org 0
|
||||||
; ---------------------------- ;
|
db 'MENUET01'
|
||||||
points equ END
|
|
||||||
POINTS_SIZE equ 108
|
|
||||||
PARAMS_SIZE equ 256
|
|
||||||
; ---------------------------- ;
|
|
||||||
MENUET01 db 'MENUET01'
|
|
||||||
version dd 1
|
version dd 1
|
||||||
program.start dd START
|
dd program.start
|
||||||
program.end dd END
|
dd program.end
|
||||||
program.memory dd END + POINTS_SIZE + PARAMS_SIZE
|
dd program.memory
|
||||||
program.stack dd 0
|
dd program.stack
|
||||||
program.params dd END + POINTS_SIZE
|
dd program.params
|
||||||
program.path dd 0
|
dd 0
|
||||||
; ---------------------------- ;
|
; ---------------------------- ;
|
||||||
|
|
||||||
|
include '../../macros.inc'
|
||||||
|
include '../../KOSfuncs.inc'
|
||||||
|
|
||||||
|
; ---------------------------- ;
|
||||||
|
POINTS_SIZE = 108
|
||||||
points_count dd 0
|
points_count dd 0
|
||||||
rnd dd 0
|
rnd dd 0
|
||||||
; ---------------------------- ;
|
; ---------------------------- ;
|
||||||
START:
|
align 4
|
||||||
|
program.start:
|
||||||
mov edi, points
|
mov edi, points
|
||||||
mov esi, [program.params]
|
mov esi, dword[program.params]
|
||||||
cmp [esi], dword "rnd"
|
cmp [esi], dword "rnd"
|
||||||
jne .not_rnd
|
jne .not_rnd
|
||||||
mov [points_count], dword POINTS_SIZE / 3
|
mov [points_count], dword POINTS_SIZE / 3
|
||||||
@@ -125,32 +126,29 @@ START:
|
|||||||
@@:
|
@@:
|
||||||
add edx, 2
|
add edx, 2
|
||||||
sub eax, edx
|
sub eax, edx
|
||||||
jnle @@
|
jnle @b
|
||||||
sbb edx, -1
|
sbb edx, -1
|
||||||
shr edx, 1
|
shr edx, 1
|
||||||
; set width, height
|
; set width, height
|
||||||
mov eax, 15
|
|
||||||
mov ebx, 1
|
|
||||||
mov ecx, edx
|
mov ecx, edx
|
||||||
int 64
|
mcall SF_BACKGROUND_SET,SSF_SIZE_BG
|
||||||
; set "stretch"
|
; set "stretch"
|
||||||
; mov eax, 15
|
mcall ,SSF_MODE_BG
|
||||||
mov ebx, 4
|
|
||||||
mov ecx, 2
|
|
||||||
int 64
|
|
||||||
; put pixels
|
; put pixels
|
||||||
; mov eax, 15
|
|
||||||
mov ebx, 5
|
|
||||||
mov ecx, points ; BBGGRRBBGGRR...
|
|
||||||
xor edx, edx
|
xor edx, edx
|
||||||
mov esi, [points_count] ; size of data = count * 3
|
mov esi, [points_count] ; size of data = count * 3
|
||||||
lea esi, [esi * 2 + esi]
|
lea esi, [esi * 2 + esi]
|
||||||
int 64
|
mcall ,SSF_IMAGE_BG, points ; BBGGRRBBGGRR...
|
||||||
; refresh screen
|
; refresh screen
|
||||||
; mov eax, 15
|
mcall ,SSF_REDRAW_BG
|
||||||
mov ebx, 3
|
|
||||||
int 64
|
|
||||||
; thread terminate
|
; thread terminate
|
||||||
mov eax, -1
|
mcall SF_TERMINATE_PROCESS
|
||||||
int 64
|
|
||||||
END:
|
align 4
|
||||||
|
program.end:
|
||||||
|
points rb POINTS_SIZE
|
||||||
|
program.params rb 256
|
||||||
|
rb 256
|
||||||
|
align 16
|
||||||
|
program.stack:
|
||||||
|
program.memory:
|
@@ -1,2 +0,0 @@
|
|||||||
nasm -f bin fillscr.asm -o fillscr
|
|
||||||
pause
|
|
Reference in New Issue
Block a user