Subversion Repositories Kolibri OS

Compare Revisions

No changes between revisions

Ignore whitespace Rev 1789 → Rev 1790

/programs/demos/bcdclk/bcdclk/build_ru.bat
File deleted
\ No newline at end of file
/programs/demos/bcdclk/bcdclk/bcdclk.asm
File deleted
\ No newline at end of file
Property changes:
Deleted: svn:eol-style
-native
\ No newline at end of property
/programs/demos/bcdclk/bcdclk/build_en.bat
File deleted
\ No newline at end of file
/programs/demos/bcdclk/trunk/bcdclk.asm
0,0 → 1,138
;
; BCD CLOCK
;
; Compile with FASM for Menuet
;
;
 
use32
 
org 0x0
 
db 'MENUET01'
dd 0x01
dd START
dd I_END
dd 0x1000
dd 0x1000
dd 0x0 , 0x0
 
include "lang.inc"
include "..\..\..\macros.inc"
 
 
START:
red:
call drawwindow
 
still:
 
 
mov eax,23 ; wait for timeout
mov ebx,50
mcall
 
cmp eax,1 ; redraw ?
je red
 
cmp eax,3 ; button in buffer ?
je button
 
call drawclock
 
jmp still
button:
mov al,17 ; get id
mcall
 
cmp ah,1 ; button id=1 ?
jne noclose
or eax,-1 ; close this program
mcall
noclose:
 
jmp still
 
drawclock:
 
mov eax,3 ; get time
mcall
bswap eax
shr eax,8
mov edi,dg1
mov ecx,6
dgtomem:
push eax
and al,15
mov [edi],al
inc edi
pop eax
shr eax,4
loop dgtomem
mov ebx,74*65536+10
mov edi,dg1
digitlp:
mov ecx,10*65536+10
xor esi,esi
plotlp:
xor edx,edx
test byte[edi],8
je nobit
mov edx,0x00ff0000
nobit:
mov eax,13 ; plot 8,4,2,1
mcall
add ecx,12*65536
shl byte[edi],1
inc esi
cmp esi,4
jne plotlp
shr byte[edi],4
mov edx,0x00880040
mov eax,13 ; draw digit box
mcall
pusha
mov edx,ebx
and edx,0xffff0000
shr ecx,16
or edx,ecx
add edx,3*65536+2
mov ebx,0x00010100
mov ecx,[edi]
mov esi,0x00ffffff
mov eax,47 ; display decimal
mcall
popa
sub ebx,12*65536
inc edi
cmp edi,dg1+6
jne digitlp
ret
 
 
drawwindow:
 
 
mov eax,12
mov ebx,1 ; start redraw
mcall
 
xor eax,eax ; window
mov ebx,100*65536+107
mov ecx,100*65536+105
mov edx,0x34400088
mov edi,title
mcall
 
call drawclock
 
mov eax,12
mov ebx,2 ; end redraw
mcall
 
ret
 
title db 'BCD Clock',0
I_END:
dg1: db ?
Property changes:
Added: svn:eol-style
+native
\ No newline at end of property
/programs/demos/bcdclk/trunk/build_en.bat
0,0 → 1,5
@erase lang.inc
@echo lang fix en >lang.inc
@fasm bcdclk.asm bcdclk
@erase lang.inc
@pause
/programs/demos/bcdclk/trunk/build_ru.bat
0,0 → 1,5
@erase lang.inc
@echo lang fix ru >lang.inc
@fasm bcdclk.asm bcdclk
@erase lang.inc
@pause