--timing adjust
signal io_cnt : std_logic_vector(0 downto 0);
-signal vram_io : std_logic;
--vram i/o
signal io_oe_n : std_logic;
cnt_x_en_n <= '0';
- vram_io <= not io_cnt(0) when ppu_scroll_x(0) = '0' else
- io_cnt(0);
- ale <= vram_io when ppu_mask(PPUSBG) = '1' and
+ ale <= io_cnt(0) when ppu_mask(PPUSBG) = '1' and
(cur_y < conv_std_logic_vector(VSCAN, X_SIZE) or
cur_y = conv_std_logic_vector(VSCAN_MAX - 1, X_SIZE)) else
- vram_io when ppu_mask(PPUSSP) = '1' and
+ io_cnt(0) when ppu_mask(PPUSSP) = '1' and
(cur_y < conv_std_logic_vector(VSCAN, X_SIZE) or
cur_y = conv_std_logic_vector(VSCAN_MAX - 1, X_SIZE)) else
'Z';
- rd_n <= vram_io when ppu_mask(PPUSBG) = '1' and
+ rd_n <= io_cnt(0) when ppu_mask(PPUSBG) = '1' and
(cur_y < conv_std_logic_vector(VSCAN, X_SIZE) or
cur_y = conv_std_logic_vector(VSCAN_MAX - 1, X_SIZE)) else
- vram_io when ppu_mask(PPUSSP) = '1' and
+ io_cnt(0) when ppu_mask(PPUSSP) = '1' and
(cur_y < conv_std_logic_vector(VSCAN, X_SIZE) or
cur_y = conv_std_logic_vector(VSCAN_MAX - 1, X_SIZE)) else
'Z';
(cur_y < conv_std_logic_vector(VSCAN, X_SIZE) or
cur_y = conv_std_logic_vector(VSCAN_MAX - 1, X_SIZE)) else
'Z';
- io_oe_n <= not vram_io when ppu_mask(PPUSBG) = '1' and
+ io_oe_n <= not io_cnt(0) when ppu_mask(PPUSBG) = '1' and
(cur_y < conv_std_logic_vector(VSCAN, X_SIZE) or
cur_y = conv_std_logic_vector(VSCAN_MAX - 1, X_SIZE)) else
- not vram_io when ppu_mask(PPUSSP) = '1' and
+ not io_cnt(0) when ppu_mask(PPUSSP) = '1' and
(cur_y < conv_std_logic_vector(VSCAN, X_SIZE) or
cur_y = conv_std_logic_vector(VSCAN_MAX - 1, X_SIZE)) else
'1';
bpl at_st\r
\r
;;set universal bg color.\r
- lda #$3f\r
- sta $2006\r
- lda #$10\r
- sta $2006\r
lda #$3d\r
- sta $2007\r
+ sta $0302\r
+ jsr set_bg_col\r
\r
;;set scroll reg.\r
lda #05\r
\r
nmi_test:\r
jsr set_scroll\r
+ jsr set_bg_col\r
\r
rti\r
\r
set_scroll:\r
lda $0300\r
sta $2005\r
- adc #$01\r
+ clc\r
+ adc #$05\r
sta $0300\r
lda $0301\r
sta $2005\r
+ clc\r
adc #04\r
;; sta $0301\r
rts\r
\r
+set_bg_col:\r
+ lda #$3f\r
+ sta $2006\r
+ lda #$10\r
+ sta $2006\r
+ lda $0302\r
+ sta $2007\r
+ cmp #$30\r
+ bne bg_dec\r
+ lda #$3d\r
+ sta $0302\r
+ jmp bg_done\r
+bg_dec:\r
+ dec $0302\r
+bg_done:\r
+ rts\r
+\r
nt1:\r
.byte $61, $62, $63, $64, $65, $66, $67, $68, $69, $6a, $6b\r
.byte $30, $31, $32, $33, $34, $35, $36, $37, $38, $39, $3a\r