| ... | ... |
@@ -20,7 +20,7 @@ |
| 20 | 20 |
%SFL { #40 SFT SFT }
|
| 21 | 21 |
%MOD { DUP2 DIV MUL SUB }
|
| 22 | 22 |
|
| 23 |
-%TOB { SWP POP }
|
|
| 23 |
+%TOB { SWP POP } %TOS { #00 SWP }
|
|
| 24 | 24 |
|
| 25 | 25 |
%DEBUG { .Console/byte DEO #0a .Console/char DEO }
|
| 26 | 26 |
%DEBUG2 { .Console/short DEO2 #0a .Console/char DEO }
|
| ... | ... |
@@ -55,7 +55,13 @@ |
| 55 | 55 |
|
| 56 | 56 |
|0000 |
| 57 | 57 |
|
| 58 |
-@settings [ &blending $1 &depth $1 &brush $1 &page $2 &tile $2 ] |
|
| 58 |
+@settings [ |
|
| 59 |
+ &blending $1 |
|
| 60 |
+ &depth $1 |
|
| 61 |
+ &brush $1 |
|
| 62 |
+ &page $2 |
|
| 63 |
+ &tile $2 |
|
| 64 |
+ &ratio $1 ] |
|
| 59 | 65 |
|
| 60 | 66 |
@frame [ &x1 $2 &y1 $2 &x2 $2 &y2 $2 &width $2 &height $2 ] |
| 61 | 67 |
|
| ... | ... |
@@ -75,7 +81,6 @@ |
| 75 | 81 |
|
| 76 | 82 |
@color $1 |
| 77 | 83 |
@i $1 |
| 78 |
-@ratio $1 |
|
| 79 | 84 |
|
| 80 | 85 |
( program ) |
| 81 | 86 |
|
| ... | ... |
@@ -95,6 +100,7 @@ |
| 95 | 100 |
#0130 .frame/width POK2 |
| 96 | 101 |
#00a8 .frame/height POK2 |
| 97 | 102 |
#01 .settings/brush POK |
| 103 |
+ #44 .settings/ratio POK |
|
| 98 | 104 |
|
| 99 | 105 |
.Screen/width DEI2 #0001 SFT2 .frame/width PEK2 #0001 SFT2 SUB2 |
| 100 | 106 |
.Screen/height DEI2 #0001 SFT2 .frame/height PEK2 #0001 SFT2 SUB2 #0010 ADD2 |
| ... | ... |
@@ -326,7 +332,7 @@ BRK |
| 326 | 332 |
( x ) .Mouse/x DEI2 .preview/x1 PEK2 SUB2 #0008 DIV2 TOB |
| 327 | 333 |
|
| 328 | 334 |
#40 SFT ADD #11 ADD |
| 329 |
- DEBUG |
|
| 335 |
+ .settings/ratio POK |
|
| 330 | 336 |
|
| 331 | 337 |
( release ) #00 .Mouse/state DEO |
| 332 | 338 |
;redraw JSR2 |
| ... | ... |
@@ -634,7 +640,7 @@ RTN |
| 634 | 640 |
RTN |
| 635 | 641 |
|
| 636 | 642 |
@draw-colorview ( -- ) |
| 637 |
- |
|
| 643 |
+ |
|
| 638 | 644 |
.colorview/y1 PEK2 #18 ADD .Screen/y DEO2 |
| 639 | 645 |
.colorview/x1 PEK2 #08 ADD .Screen/x DEO2 |
| 640 | 646 |
.System/r DEI2 ;draw-color-code JSR2 |
| ... | ... |
@@ -662,6 +668,39 @@ RTN |
| 662 | 668 |
@draw-preview ( -- ) |
| 663 | 669 |
|
| 664 | 670 |
.preview/x1 PEK2 #0002 SUB2 .preview/y1 PEK2 #0002 SUB2 .preview/x2 PEK2 #0001 ADD2 .preview/y2 PEK2 #0001 ADD2 #03 ;line-rect JSR2 |
| 671 |
+ ( stash address ) |
|
| 672 |
+ .settings/tile PEK2 DUP2 STH2 .Screen/addr DEO2 |
|
| 673 |
+ #00 #04 |
|
| 674 |
+ &ver |
|
| 675 |
+ OVR #08 MUL TOS .preview/y1 PEK2 ADD2 .Screen/y DEO2 |
|
| 676 |
+ #00 #04 |
|
| 677 |
+ &hor |
|
| 678 |
+ OVR #08 MUL TOS .preview/x1 PEK2 ADD2 .Screen/x DEO2 |
|
| 679 |
+ ( get x,y ) |
|
| 680 |
+ SWP2 OVR STH SWP2 OVR STHr |
|
| 681 |
+ ( check if within ratio ) |
|
| 682 |
+ .settings/ratio PEK #0f AND LTH STH |
|
| 683 |
+ .settings/ratio PEK #04 SFT LTH STHr |
|
| 684 |
+ #0101 NEQ2 ,&outside JNZ |
|
| 685 |
+ ( get blending ) .settings/blending PEK |
|
| 686 |
+ ( get depth ) .settings/depth PEK #20 MUL |
|
| 687 |
+ ( draw ) #20 ADD ADD .Screen/color DEO |
|
| 688 |
+ ( incr ) STH2r #0008 ADD2 DUP2 STH2 .Screen/addr DEO2 |
|
| 689 |
+ ,&resume JMP |
|
| 690 |
+ &outside |
|
| 691 |
+ ;halftone_icn .Screen/addr DEO2 |
|
| 692 |
+ #23 .Screen/color DEO |
|
| 693 |
+ &resume |
|
| 694 |
+ ( incr ) SWP #01 ADD SWP |
|
| 695 |
+ DUP2 LTH ,&hor JNZ |
|
| 696 |
+ POP2 |
|
| 697 |
+ ( incr ) SWP #01 ADD SWP |
|
| 698 |
+ DUP2 LTH ;&ver JNZ2 |
|
| 699 |
+ POP2 |
|
| 700 |
+ POP2r |
|
| 701 |
+ .preview/x1 PEK2 #0001 SUB2 .Screen/x DEO2 |
|
| 702 |
+ .preview/y2 PEK2 #0001 ADD2 .Screen/y DEO2 |
|
| 703 |
+ .settings/ratio PEK #23 ;draw-byte JSR2 |
|
| 665 | 704 |
|
| 666 | 705 |
RTN |
| 667 | 706 |
|
| ... | ... |
@@ -752,17 +791,14 @@ RTN |
| 752 | 791 |
|
| 753 | 792 |
RTN |
| 754 | 793 |
|
| 794 |
+@halftone_icn [ |
|
| 795 |
+ aa55 aa55 aa55 aa55 ] |
|
| 755 | 796 |
@circle_icns |
| 756 |
- [ 0038 7cfe fefe 7c38 ] ( full ) |
|
| 757 |
- [ 0038 4482 8282 4438 ] ( line ) |
|
| 797 |
+ 0038 7cfe fefe 7c38 ( full ) |
|
| 798 |
+ 0038 4482 8282 4438 ( line ) |
|
| 758 | 799 |
@eye_icns |
| 759 |
- [ 0038 4492 2810 0000 ] ( open ) |
|
| 760 |
- [ 0000 0082 4438 0000 ] ( closed ) |
|
| 761 |
-@tool_selector [ 80c0 e0f0 f8e0 1000 ] |
|
| 762 |
-@tool_hand [ 2020 20b8 7c7c 3838 ] |
|
| 763 |
-@tool_eraser [ 2050 b87c 3e1c 0800 ] |
|
| 764 |
-@moveup_icn [ 0010 387c fe10 1000 ] |
|
| 765 |
-@movedown_icn [ 0010 1010 fe7c 3810 ] |
|
| 800 |
+ 0038 4492 2810 0000 ( open ) |
|
| 801 |
+ 0000 0082 4438 0000 ( closed ) |
|
| 766 | 802 |
@blank_icn [ |
| 767 | 803 |
0000 0000 0000 0000 |
| 768 | 804 |
7cfe fefe fefe 7c00 |
| ... | ... |
@@ -771,8 +807,14 @@ RTN |
| 771 | 807 |
00fe 8282 fe82 82fe |
| 772 | 808 |
00fe 9292 fe92 92fe |
| 773 | 809 |
] |
| 810 |
+@tool_selector [ 80c0 e0f0 f8e0 1000 ] |
|
| 811 |
+@tool_hand [ 2020 20b8 7c7c 3838 ] |
|
| 812 |
+@tool_eraser [ 2050 b87c 3e1c 0800 ] |
|
| 813 |
+@moveup_icn [ 0010 387c fe10 1000 ] |
|
| 814 |
+@movedown_icn [ 0010 1010 fe7c 3810 ] |
|
| 815 |
+ |
|
| 774 | 816 |
@filepath1 [ "projects/fonts/specter8.bit 00 ] |
| 775 |
-@filepath2 [ "projects/pictures/cibo.bit 00 ] |
|
| 817 |
+@filepath2 [ "projects/pictures/cyr10x8.chr 00 ] |
|
| 776 | 818 |
@filepath3 [ "projects/pictures/zerotwo10x10.chr 00 ] |
| 777 | 819 |
@filepath4 [ "projects/fonts/katahira8.bit 00 ] |
| 778 | 820 |
@filepath5 [ "projects/pictures/ako10x10.chr 00 ] |