Browse code

Saved a few bytes in load-rom by using STZ, thanks Delta!

Andrew Alderwick authored on 22/09/2021 23:18:35
Showing 1 changed files
... ...
@@ -65,24 +65,24 @@
65 65
 	POP POP2r
66 66
 
67 67
 	( copy the zero-page-loader into f0-ff )
68
-	;&zero-page-loader LIT2r 00f0
68
+	;&zero-page-loader LITr f0
69 69
 	&copy-loop
70
-	LDAk STH2kr STA
71
-	INC2 INC2r
70
+	LDAk STHkr STZ
71
+	INC2 INCr
72 72
 	STHkr ,&copy-loop JCN
73
-	POP2 NIPr ( leave 00 on return stack )
73
+	POP2 ( leave 00 on return stack )
74 74
 
75 75
 	( prepare the stack for the zero-page-loader )
76 76
 	( the more we prepare here in advance, the less we'll have to overwrite )
77
-	STHkr DUPk #fe ( arguments for STA2 at ff )
78
-	OVR2 ( argument for JMP at fe (carry on), plus an extra zero )
79
-	DUP2 #fcfe ( arguments for STA2 at fd and JMP (repeat) )
80
-	OVR2 STHkr #fafe ( arguments for STA2 at fd and JMP (repeat) )
81
-	OVR2 STHkr #f8fe ( arguments for STA2 at fd and JMP (repeat) )
82
-	OVR2 STHkr #f6fe ( arguments for STA2 at fd and JMP (repeat) )
83
-	OVR2 STHkr #f4fe ( arguments for STA2 at fd and JMP (repeat) )
84
-	OVR2 STHkr #f2fe ( arguments for STA2 at fd and JMP (repeat) )
85
-	OVR2 STHkr #f001 ( arguments for STA2 at fd, plus an extra 01 )
77
+	STHkr #00fe ( arguments for STZ2 at ff )
78
+	STHkr ( argument for JMP at fe (carry on) )
79
+	DUPk #fcfe ( arguments for STZ2 at fd and JMP (repeat) )
80
+	OVR2 #fafe ( arguments for STZ2 at fd and JMP (repeat) )
81
+	OVR2 #f8fe ( arguments for STZ2 at fd and JMP (repeat) )
82
+	OVR2 #f6fe ( arguments for STZ2 at fd and JMP (repeat) )
83
+	OVR2 #f4fe ( arguments for STZ2 at fd and JMP (repeat) )
84
+	OVR2 #f2fe ( arguments for STZ2 at fd and JMP (repeat) )
85
+	OVR2 #f001 ( arguments for STZ2 at fd, plus an extra 01 )
86 86
 	STHkr ( first argument for ADD2 )
87 87
 	.File/success ( argument for DEI2 )
88 88
 	#0100 .File/load ( arguments for DEO2 )
... ...
@@ -103,9 +103,9 @@
103 103
 	( fa ) JCN
104 104
 	( fb ) POPr
105 105
 	( fc ) POP2
106
-	( fd ) STA2 ( deletes f0-fd through looping )
106
+	( fd ) STZ2 ( deletes f0-fd through looping )
107 107
 	( fe ) JMP
108
-	( ff ) STA2 ( deletes fe-ff )
108
+	( ff ) STZ2 ( deletes fe-ff )
109 109
 
110 110
 	&tmp $1
111 111