Browse code

Progress on nasu redesign

neauoire authored on 11/05/2021 03:52:57
Showing 3 changed files
... ...
@@ -34,7 +34,7 @@ else
34 34
 fi
35 35
 
36 36
 echo "Assembling.."
37
-./bin/assembler projects/demos/life.usm bin/boot.rom
37
+./bin/assembler projects/demos/polycat.usm bin/boot.rom
38 38
 
39 39
 echo "Running.."
40 40
 if [ "${2}" = '--cli' ]; 
41 41
Binary files a/projects/pictures/cyr10x8.chr and b/projects/pictures/cyr10x8.chr differ
... ...
@@ -334,6 +334,7 @@ BRK
334 334
 	#40 SFT ADD #11 ADD
335 335
 	.settings/ratio POK
336 336
 
337
+	( release ) #00 .Mouse/state DEO
337 338
 	;redraw JSR2
338 339
 
339 340
 BRK
... ...
@@ -555,14 +556,6 @@ RTN
555 556
 
556 557
 	.editview/x1 PEK2 #0002 SUB2 .editview/y1 PEK2 #0002 SUB2 .editview/x2 PEK2 #0001 ADD2 .editview/y2 PEK2 #0001 ADD2 #03 ;line-rect JSR2
557 558
 
558
-	( grid )
559
-	.editview/x1 PEK2 DUP2 #0080 ADD2 .editview/y1 PEK2 #0020 ADD2 #03 ;line-hor JSR2
560
-	.editview/x1 PEK2 DUP2 #0080 ADD2 .editview/y1 PEK2 #0040 ADD2 #03 ;line-hor JSR2
561
-	.editview/x1 PEK2 DUP2 #0080 ADD2 .editview/y1 PEK2 #0060 ADD2 #03 ;line-hor JSR2
562
-	.editview/x1 PEK2 #0020 ADD2 .editview/y1 PEK2 DUP2 #0080 ADD2 #03 ;line-ver JSR2
563
-	.editview/x1 PEK2 #0040 ADD2 .editview/y1 PEK2 DUP2 #0080 ADD2 #03 ;line-ver JSR2
564
-	.editview/x1 PEK2 #0060 ADD2 .editview/y1 PEK2 DUP2 #0080 ADD2 #03 ;line-ver JSR2
565
-
566 559
 	( position )
567 560
 
568 561
 	.editview/x1 PEK2 .Screen/x DEO2
... ...
@@ -584,21 +577,17 @@ RTN
584 577
 			.settings/ratio PEK #04 SFT LTH STHr
585 578
 			#0101 NEQ2 ,&outside JNZ 
586 579
 
580
+				( get tile ) DUP2r STH2r .Screen/addr DEO2
581
+
587 582
 				( draw zoomed tile )
588
-				.Screen/x DEI2
589
-				.Screen/y DEI2
590 583
 				#01 ;draw-tile JSR2
591 584
 
592
-				( get tile ) DUP2r STH2r .Screen/addr DEO2
593
-				( get blending ) .settings/blending PEK
594
-				( get depth ) .settings/depth PEK #20 MUL
595
-				( draw ) #20 ADD ADD .Screen/color DEO
596
-
597 585
 				( incr ) STH2r #0008 ADD2 STH2
598 586
 				,&resume JMP
599 587
 			&outside
600 588
 			;halftone_icn .Screen/addr DEO2
601 589
 			#23 .Screen/color DEO
590
+			#00 ;draw-tile JSR2
602 591
 			&resume
603 592
 			( incr ) SWP #01 ADD SWP
604 593
 			DUP2 LTH ,&hor JNZ
... ...
@@ -608,19 +597,44 @@ RTN
608 597
 	POP2
609 598
 	POP2r
610 599
 
600
+	( grid )
601
+	.editview/x1 PEK2 DUP2 #0080 ADD2 .editview/y1 PEK2 #0020 ADD2 #03 ;line-hor JSR2
602
+	.editview/x1 PEK2 DUP2 #0080 ADD2 .editview/y1 PEK2 #0040 ADD2 #03 ;line-hor JSR2
603
+	.editview/x1 PEK2 DUP2 #0080 ADD2 .editview/y1 PEK2 #0060 ADD2 #03 ;line-hor JSR2
604
+	.editview/x1 PEK2 #0020 ADD2 .editview/y1 PEK2 DUP2 #0080 ADD2 #03 ;line-ver JSR2
605
+	.editview/x1 PEK2 #0040 ADD2 .editview/y1 PEK2 DUP2 #0080 ADD2 #03 ;line-ver JSR2
606
+	.editview/x1 PEK2 #0060 ADD2 .editview/y1 PEK2 DUP2 #0080 ADD2 #03 ;line-ver JSR2
607
+
611 608
 RTN
612 609
 
613
-@draw-tile ( x* y* color -- )
610
+@draw-tile ( color -- )
614 611
 	
615 612
 	( TODO: complete )
616 613
 	STH
617
-	.Screen/y DEO2 
618
-	.Screen/x DEO2 
619 614
 	#00 #20
620 615
 	&ver
621 616
 		#00 #20
622 617
 		&hor
623
-			DUPr STHr .Screen/color DEO
618
+
619
+			( get x,y )
620
+			SWP2 OVR STH SWP2 OVR STHr
621
+
622
+			( get address )
623
+			.Screen/addr DEI2 
624
+
625
+			( after this, ADDR XY )
626
+			SWP2 SWP STH
627
+
628
+
629
+			( got sprite line )
630
+			#04 DIV TOS ADD2 LDA
631
+
632
+			( get pixel )
633
+			STHr #04 DIV
634
+			#07 SWP SUB SFT #01 AND
635
+
636
+			.Screen/color DEO
637
+
624 638
 			#0001 .Screen/x DEI2 ADD2 .Screen/x DEO2
625 639
 			( incr ) SWP #01 ADD SWP
626 640
 			DUP2 LTH ,&hor JNZ
... ...
@@ -748,8 +762,6 @@ RTN
748 762
 
749 763
 @draw-preview ( -- )
750 764
 
751
-	( .preview/x1 PEK2 #0002 SUB2 .preview/y1 PEK2 #0002 SUB2 .preview/x2 PEK2 #0001 ADD2 .preview/y2 PEK2 #0001 ADD2 #03 ;line-rect JSR2 )
752
-	
753 765
 	( stash address )
754 766
 	.settings/tile PEK2 DUP2 STH2 .Screen/addr DEO2
755 767
 	#00 #04
... ...
@@ -768,7 +780,7 @@ RTN
768 780
 				( get blending ) .settings/blending PEK
769 781
 				( get depth ) .settings/depth PEK #20 MUL
770 782
 				( draw ) #20 ADD ADD .Screen/color DEO
771
-				( incr ) STH2r #0008 ADD2 STH2
783
+				( incr ) STH2r #0008 [ .settings/depth PEK #08 MUL TOS ADD2 ] ADD2 STH2
772 784
 				,&resume JMP
773 785
 			&outside
774 786
 			;halftone_icn .Screen/addr DEO2