+ assign lcdvs = (posy == 153) && (posx == 455);
+ assign lcdhs = (posx == 455);
+ assign lcdr = (posx < 160) && (posy < 144) ? {posy == rLYC ? 3'b111 : 3'b000} : 3'b000;
+ assign lcdg = (posx < 160) && (posy < 144) ? {posy < rSCY ? 3'b111 : 3'b000} : 3'b000;
+ assign lcdb = (posx < 160) && (posy < 144) ? {2'b11} : 2'b00;
+
+ reg mode00irq = 0, mode01irq = 0, mode10irq = 0, lycirq = 0;
+ assign lcdcirq = (rSTAT[3] & mode00irq) | (rSTAT[4] & mode01irq) | (rSTAT[5] & mode10irq) | (rSTAT[6] & lycirq);
+ assign vblankirq = (posx == 0 && posy == 153);
+
+ always @(posedge clk4)