Rev 4867 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
4867 | leency | 1 | DECIMAL |
9587 | vitalkrilo | 2 | S" /sys/menuet.f" INCLUDED |
4867 | leency | 3 | |
4 | : not_emit |
||
5 | emit_proc DUP @ NOT SWAP ! ; |
||
6 | |||
7 | new_reg wnd_size |
||
8 | |||
9 | CREATE Music $3090 , \ $90 C, $30 C, 0 C, |
||
10 | |||
11 | : my_wnd |
||
12 | 12 ax 1 bx sysv DROP $805080D0 DUP $02AABBCC 200 50 << 200 DUP << 0 |
||
13 | sys6 2 bx sysv 2DROP |
||
14 | $10DDEEFF $" " COUNT 8 DUP sys_print |
||
15 | |||
16 | $6688DD 1 5 12 << 200 19 - 12 << 8 sys5 DROP ; |
||
17 | |||
18 | : my_wnd_resize |
||
19 | 200 dx 50 si 67 ax -1 DUP bx cx sysv DROP ; |
||
20 | |||
21 | : my_key |
||
22 | 2 sys1 8 RSHIFT DUP 96 = IF not_emit DROP ELSE Music DUP si 1+ C! |
||
23 | 55 DUP ax bx sysv DROP THEN ; |
||
24 | |||
25 | : my_btn |
||
26 | 17 sys1 8 RSHIFT ." Pressed button #" DUP . CR 1 = IF BYE THEN ; |
||
27 | |||
28 | CREATE handlers ' my_wnd , ' my_key , ' my_btn , |
||
29 | |||
30 | VARIABLE hnd |
||
31 | |||
32 | : msg_loop_console ( subs -- ) |
||
33 | CR DUP hnd ! @EXECUTE my_wnd_resize |
||
34 | |||
35 | BEGIN |
||
36 | 10 sys1 ?DUP |
||
37 | IF |
||
38 | 1- |
||
39 | CELLS hnd @ + @EXECUTE |
||
40 | emit_proc @ |
||
41 | IF |
||
42 | WINDOW KEY 96 = |
||
43 | IF |
||
44 | not_emit hnd @ @EXECUTE my_wnd_resize |
||
45 | ELSE |
||
46 | EXIT |
||
47 | THEN |
||
48 | THEN |
||
49 | THEN |
||
50 | AGAIN ; |
||
51 | |||
52 | : new_me ( new main loop) |
||
53 | handlers msg_loop_console ;><>><>><>><> |