From 3900f7f29cf317a554ba0801035c0306a27c40b2 Mon Sep 17 00:00:00 2001 From: Andrew Date: Wed, 28 May 2025 18:39:14 +0100 Subject: [PATCH] demos/bcdclk: Post-SVN tidy - Move source code from `trunk` into root directory. - Update build files and ASM include paths. - Note: Line endings standardised from `CRLF` > `LF`, so best to view diffs with whitespace changes hidden. --- data/Tupfile.lua | 2 +- programs/build_all.bat | 2 +- programs/demos/bcdclk/{trunk => }/Tupfile.lua | 2 +- programs/demos/bcdclk/{trunk => }/bcdclk.asm | 303 +++++++++--------- .../demos/bcdclk/{trunk => }/build_en.bat | 0 .../demos/bcdclk/{trunk => }/build_ru.bat | 0 6 files changed, 156 insertions(+), 153 deletions(-) rename programs/demos/bcdclk/{trunk => }/Tupfile.lua (79%) rename programs/demos/bcdclk/{trunk => }/bcdclk.asm (91%) rename programs/demos/bcdclk/{trunk => }/build_en.bat (100%) rename programs/demos/bcdclk/{trunk => }/build_ru.bat (100%) diff --git a/data/Tupfile.lua b/data/Tupfile.lua index 379b2a2e8..2b0da1e72 100644 --- a/data/Tupfile.lua +++ b/data/Tupfile.lua @@ -454,7 +454,7 @@ tup.append_table(img_files, { {"3D/GEARS", VAR_PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/gears"}, {"3D/RAY", VAR_PROGS .. "/demos/ray/ray"}, {"3D/VIEW3DS", VAR_PROGS .. "/demos/view3ds/view3ds"}, - {"DEMOS/BCDCLK", VAR_PROGS .. "/demos/bcdclk/trunk/bcdclk"}, + {"DEMOS/BCDCLK", VAR_PROGS .. "/demos/bcdclk/bcdclk"}, {"DEMOS/BUDHBROT", VAR_PROGS .. "/demos/buddhabrot/trunk/buddhabrot"}, {"DEMOS/EYES", VAR_PROGS .. "/demos/eyes/trunk/eyes"}, {"DEMOS/FIREWORK", VAR_PROGS .. "/demos/firework/firework"}, diff --git a/programs/build_all.bat b/programs/build_all.bat index ddebcc326..43fc50d50 100644 --- a/programs/build_all.bat +++ b/programs/build_all.bat @@ -207,7 +207,7 @@ fasm demos\3dtcub10\3dtcub10.asm %BIN%\3d\3dtcub10 cd demos\aclock\trunk\ nasmw -t -f bin -o ..\..\..\%BIN%\demos\aclock aclock.asm cd ..\..\.. -fasm demos\bcdclk\trunk\bcdclk.asm %BIN%\demos\bcdclk +fasm demos\bcdclk\bcdclk.asm %BIN%\demos\bcdclk fasm demos\bgitest\trunk\bgitest.asm %BIN%\fonts\bgitest fasm demos\colorref\trunk\colorref.asm %BIN%\demos\colorref fasm demos\crownscr\trunk\crownscr.asm %BIN%\3d\crownscr diff --git a/programs/demos/bcdclk/trunk/Tupfile.lua b/programs/demos/bcdclk/Tupfile.lua similarity index 79% rename from programs/demos/bcdclk/trunk/Tupfile.lua rename to programs/demos/bcdclk/Tupfile.lua index 308fb20c8..927e49cbe 100644 --- a/programs/demos/bcdclk/trunk/Tupfile.lua +++ b/programs/demos/bcdclk/Tupfile.lua @@ -1,5 +1,5 @@ if tup.getconfig("NO_FASM") ~= "" then return end -HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../../.." or tup.getconfig("HELPERDIR") +HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../.." or tup.getconfig("HELPERDIR") tup.include(HELPERDIR .. "/use_fasm.lua") add_include(tup.getvariantdir()) diff --git a/programs/demos/bcdclk/trunk/bcdclk.asm b/programs/demos/bcdclk/bcdclk.asm similarity index 91% rename from programs/demos/bcdclk/trunk/bcdclk.asm rename to programs/demos/bcdclk/bcdclk.asm index 79406c688..15e3c4509 100644 --- a/programs/demos/bcdclk/trunk/bcdclk.asm +++ b/programs/demos/bcdclk/bcdclk.asm @@ -1,150 +1,153 @@ -; -; 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, 2 ; key - je key - - cmp eax,3 ; button in buffer ? - je button - - call drawclock - - jmp still - -key: - mov eax, 2 - int 0x40 - 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,0x0f - mov [edi],al - inc edi - pop eax - shr eax,4 - loop dgtomem - mov ebx,79*65536+11 - mov edi,dg1 -digitlp: - mov ecx,10*65536+11 - 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,13*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,13*65536 - inc edi - cmp edi,dg1+6 - jne digitlp - ret - - -drawwindow: - - - mov eax,12 - mov ebx,1 ; start redraw - mcall - - mov eax, 48 - mov ebx, 4 - mcall - mov ecx, eax - xor eax,eax ; window - mov ebx,100*65536+113 - add ecx,100*65536+87 - 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 ? +; SPDX-License-Identifier: NOASSERTION +; + +; +; 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, 2 ; key + je key + + cmp eax,3 ; button in buffer ? + je button + + call drawclock + + jmp still + +key: + mov eax, 2 + int 0x40 + 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,0x0f + mov [edi],al + inc edi + pop eax + shr eax,4 + loop dgtomem + mov ebx,79*65536+11 + mov edi,dg1 +digitlp: + mov ecx,10*65536+11 + 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,13*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,13*65536 + inc edi + cmp edi,dg1+6 + jne digitlp + ret + + +drawwindow: + + + mov eax,12 + mov ebx,1 ; start redraw + mcall + + mov eax, 48 + mov ebx, 4 + mcall + mov ecx, eax + xor eax,eax ; window + mov ebx,100*65536+113 + add ecx,100*65536+87 + 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 ? diff --git a/programs/demos/bcdclk/trunk/build_en.bat b/programs/demos/bcdclk/build_en.bat similarity index 100% rename from programs/demos/bcdclk/trunk/build_en.bat rename to programs/demos/bcdclk/build_en.bat diff --git a/programs/demos/bcdclk/trunk/build_ru.bat b/programs/demos/bcdclk/build_ru.bat similarity index 100% rename from programs/demos/bcdclk/trunk/build_ru.bat rename to programs/demos/bcdclk/build_ru.bat