• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Moto NES FPGA main repository


Commit MetaInfo

Revision7c54eac3a744ec19b40fb3c40b1fcb9ee7a94d1d (tree)
Time2016-02-13 14:13:29
Authorastoria-d <astoria-d@mail...>
Commiterastoria-d

Log Message

jmp inst pch page cross bug fixed

Change Summary

Incremental Difference

--- a/de1_nes/cpu/decoder.vhd
+++ b/de1_nes/cpu/decoder.vhd
@@ -2727,9 +2727,17 @@ end procedure;
27272727 --pcl stop increment
27282728 pcl_inc_n <= '1';
27292729 back_we(pcl_cmd, '1');
2730- --pch increment
2731- back_we(pch_cmd, '0');
2732- back_oe(pch_cmd, '0');
2730+
2731+ if ('0' & exec_cycle(4 downto 0) = T0 and
2732+ instruction = conv_std_logic_vector(16#4c#, dsize) ) then
2733+ --jmp instruction t0 cycle discards pch increment.
2734+ back_we(pch_cmd, '1');
2735+ front_we(pch_cmd, '1');
2736+ else
2737+ --pch increment
2738+ back_we(pch_cmd, '0');
2739+ back_oe(pch_cmd, '0');
2740+ end if;
27332741
27342742 if ('0' & exec_cycle(4 downto 0) = T0) then
27352743 --do the t0 identical routine.
--- a/de1_nes/de1_nes.vhd
+++ b/de1_nes/de1_nes.vhd
@@ -366,6 +366,8 @@ begin
366366 dbg_disp_ptn_l <= "00" & v_addr ;
367367 dbg_disp_ptn_h <= "000" & dbg_plt_addr & dbg_plt_data;
368368
369+-- dbg_ppu_ctrl <= dbg_pcl;
370+-- dbg_ppu_mask <= dbg_pch;
369371 --nes ppu instance
370372 ppu_inst: ppu port map (
371373 dbg_ppu_ce_n ,
--- a/de1_nes/sample1-prg.hex
+++ b/de1_nes/sample1-prg.hex
@@ -1,83 +1,83 @@
1-:2000000078A2FF9A203A8620F685AD55868500AD56868501209685209685209685209685AA
2-:2000200020968520968520DC83203B8320ED82208482208D80207C80AD70868500AD718623
3-:2000400085012096854C5F80AD5486D005A900200000AD84868500AD85868501209685A931
4-:20006000238D0620A9C18D0620A9D88D0720A91E8D0120A9808D00204C78804020EE85AD49
5-:2000800095868500AD9686850120968560ADA8868500ADA986850120968518900320488046
6-:2000A00038B003204880A900F00320488018E9053003204880D00320488018690610032053
7-:2000C000488038A992E946700320488038A992E9125003204880A900A200F07B4C5781EAEE
8-:2000E000EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAC0
9-:20010000EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEA9F
10-:20012000EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEA7F
11-:20014000EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAE8E001F080A900A20015
12-:20016000F07B4CDD81EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEABC
13-:20018000EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEA1F
14-:2001A000EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAFF
15-:2001C000EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAE8E001D4
16-:2001E000F08018A96420EF81C9C8F00E20488020F3816020F7816069646038A9C84C0A82C9
17-:2002000069324C0F824C008269324C05826932C9FBF00320488038A9C36C1C822E822482EC
18-:20022000298233826C208269E669E66C22826C1E8269E6C9AAF003204880A92348A94648AE
19-:20024000A96E48380878081808A9FF08A90008A9FF28F00320488028300320488028900355
20-:200260002048802828B0032048805868C96EF00320488068C946F00320488068C923F00340
21-:2002800020488060ADBA868500ADBB868501209685A939856BA9A18DCC04A99F85FFA2FD11
22-:2002A000066BA56BC972F003204880CECC04ADCC04C9A0F0032048805ECF03ADCC04C95082
23-:2002C000F003204880F602A5FFC9A0F0032048801836023602A5FFC981F003204880387664
24-:2002E000027602A5FFC9E0F00320488060ADCC868500ADCD868501209685A97885A1A905C2
25-:2003000085A2A9B7A2E1A08A85A98E990A9D800D941F91A1C5A9F003204880EC990AF00370
26-:20032000204880CD610EF003204880C400F003204880CD0206F00320488060ADDE86850079
27-:20034000ADDF86850120968518A90D69FAC907F003204880A937855EA9C98571A9B6255EE1
28-:200360002471F003204880A93B8D2104A9D78D1B05A9EB8DCC06AE2104E88A4D1B05A8CC31
29-:20038000CC06F003204880A217A0A1A92F8D5903A9909990018A19900138FD4203A8C06814
30-:2003A000F003204880A2CDA9F18535A9AC85BCA98D3568A09A592200AAE02DF003204880EF
31-:2003C000A9388590A9088591A9D98D0209A90AA0CA187190C9E3F00320488060ADF0868581
32-:2003E00000ADF1868501209685A980180AF003204880B00320488010032048800AF003203F
33-:20040000488090032048801003204880A9400AD00320488090032048803003204880C98011
34-:20042000F003204880A9A50AC94AF0032048800AC994F003204880A901084828B00320481C
35-:200440008018900320488028A9400848287003204880B8500320488028A203CAD0032048E0
36-:2004600080E002F0032048801003204880CAD003204880E001F0032048801003204880CA3E
37-:20048000F003204880E000F0032048801003204880CAD0032048803003204880E0FFF00359
38-:2004A000204880A2803003204880CA1003204880E07FF003204880A05088C04FF003204836
39-:2004C0008088C04EF003204880C8C04FF003204880E8E080F003204880A901184AF0032037
40-:2004E0004880B0032048804AF0032048809003204880A95A4AC92DF003204880A9A5386AEB
41-:20050000C9D2F0032048806A9003204880C9E9F003204880182A2AC9A5F003204880B0038B
42-:2005200020488008A9004828900320488038B0032048807808682904D003204880580868CC
43-:200540002904F00320488028A901AA1003204880D003204880E001F003204880CA8A10033E
44-:20056000204880F003204880A901A8C8C898C003F003204880BA8600A2309AA9DD48BAE08C
45-:200580002FF003204880A6009AA9EEAD3001C9DDF0032048806020EE85AD00038D0620AD18
46-:2005A00001038D0620A000B1008D0720F004C84CA78598291FC91FF009A9008D0720C84C19
47-:2005C000B285AD01038C01036D01038D0103AAAD000390061869018D0003C923D00F8AC981
48-:2005E000C0D00AA9208D0003A9008D010360AD5486D00268686020EE85A9008D00208D016E
49-:2006000020A93F8D0620A9008D0620A200A020BD1A868D0720E888D0F6600F0010200F0468
50-:2006200014240F0818280F0C1C2C0F0010200F0616260F0818280F0A1A2AAD5486F014A950
51-:20064000208D0003A9018D0103A9008D0203A9008D03036001578672656772657373696F27
52-:200660006E20746573742073746172742E2E2E0072867465737420737563636565646564D7
53-:200680002E2E2E00868674657374206661696C656421212100978670707520696E737420AC
54-:2006A000746573742E2E2E00AA86613520696E737420746573742E2E2E00BC866134206982
55-:2006C0006E737420746573742E2E2E00CE86613320696E737420746573742E2E2E00E086C5
56-:2006E000613220696E737420746573742E2E2E00F28673696E676C65206279746520696E5A
57-:20070000737420746573742E2E2E0000000000000000000000000000000000000000000088
58-:200720000000000000000000000000000000000000000000000000000000000000000000B9
59-:20074000000000000000000000000000000000000000000000000000000000000000000099
60-:20076000000000000000000000000000000000000000000000000000000000000000000079
61-:20078000000000000000000000000000000000000000000000000000000000000000000059
62-:2007A000000000000000000000000000000000000000000000000000000000000000000039
63-:2007C000000000000000000000000000000000000000000000000000000000000000000019
64-:2007E0000000000000000000000000000000000000000000000000000000000000000000F9
65-:200800000000000000000000000000000000000000000000000000000000000000000000D8
66-:200820000000000000000000000000000000000000000000000000000000000000000000B8
67-:20084000000000000000000000000000000000000000000000000000000000000000000098
68-:20086000000000000000000000000000000000000000000000000000000000000000000078
69-:20088000000000000000000000000000000000000000000000000000000000000000000058
70-:2008A000000000000000000000000000000000000000000000000000000000000000000038
71-:2008C000000000000000000000000000000000000000000000000000000000000000000018
72-:2008E0000000000000000000000000000000000000000000000000000000000000000000F8
73-:200900000000000000000000000000000000000000000000000000000000000000000000D7
74-:200920000000000000000000000000000000000000000000000000000000000000000000B7
75-:20094000000000000000000000000000000000000000000000000000000000000000000097
76-:20096000000000000000000000000000000000000000000000000000000000000000000077
77-:20098000000000000000000000000000000000000000000000000000000000000000000057
78-:2009A000000000000000000000000000000000000000000000000000000000000000000037
79-:2009C000000000000000000000000000000000000000000000000000000000000000000017
80-:2009E0000000000000000000000000000000000000000000000000000000000000000000F7
1+:2000000078A2FF9A200C8920C888207F80AD26898500AD27898501206888206888206888F5
2+:2000200020688820688820688820AE86200D8620BF85205685205F83204E83AD418985003B
3+:20004000AD428985012068884C6280ADEE89D005A900200000AD55898500AD568985012060
4+:200060006888A9238D0620A9C18D0620A9D88D0720A91E8D0120A9808D00204C7B8040EA03
5+:20008000EA4C2A812A2A2A2A2A2A2A2A2A2A302A2A2A2A2A2A2A2A2A2A2A2A2A2A2A312ADA
6+:2000A0002A2A2A2A2A2A2A2A2A2A2A2A2A2A322A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2AF8
7+:2000C0002A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2AE0
8+:2000E0002A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2AC0
9+:200100002A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A9F
10+:200120002A2A2A2A2A2A2A2A2A2AEA4C1E82332A2A2A2A2A2A2A2A2A2A2A2A2A2A2A342A3E
11+:200140002A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A5F
12+:200160002A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A3F
13+:200180002A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A1F
14+:2001A0002A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2AFF
15+:2001C0002A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2ADF
16+:2001E0002A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2ABF
17+:200200002A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A4C2B7B
18+:2002200082352A2A2A2A2A2A2A2A2AEA4C1F83362A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2ADF
19+:200240002A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A5E
20+:200260002A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A3E
21+:200280002A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A1E
22+:2002A0002A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2AFE
23+:2002C0002A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2ADE
24+:2002E0002A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2ABE
25+:200300002A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A4C7B
26+:200320002C83372A2A2A2A2A2A2A2A2AEA4C4083382A2A2A2A2A2A2A2A2A2A2A2A2A2A2AB6
27+:20034000AD66898500AD678985012068886020C088AD78898500AD7989850120688860ADFC
28+:200360008B898500AD8C898501206888189003204B8038B003204B80A900F003204B801881
29+:20038000E9053003204B80D003204B801869061003204B8038A992E9467003204B8038A92D
30+:2003A00092E9125003204B80A900A200F07B4C2984EAEAEAEAEAEAEAEAEAEAEAEAEAEAEA0D
31+:2003C000EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEADD
32+:2003E000EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEABD
33+:20040000EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEA9C
34+:20042000EAEAEAEAEAEAEAEAEAE8E001F080A900A200F07B4CAF84EAEAEAEAEAEAEAEAEADA
35+:20044000EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEA5C
36+:20046000EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEA3C
37+:20048000EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEAEA1C
38+:2004A000EAEAEAEAEAEAEAEAEAEAEAEAEAEAEAE8E001F08018A96420C184C9C8F00E204BC9
39+:2004C0008020C5846020C9846069646038A9C84CDC8469324CE1844CD28469324CD78469EB
40+:2004E00032C9FBF003204B8038A9C36CEE840085F684FB8405856CF28469E669E66CF4843A
41+:200500006CF08469E6C9AAF003204B80A92348A94648A96E48380878081808A9FF08A90078
42+:2005200008A9FF28F003204B80283003204B80289003204B802828B003204B805868C96E34
43+:20054000F003204B8068C946F003204B8068C923F003204B8060AD9D898500AD9E89850124
44+:20056000206888A939856BA9A18DCC04A99F85FFA2FD066BA56BC972F003204B80CECC044F
45+:20058000ADCC04C9A0F003204B805ECF03ADCC04C950F003204B80F602A5FFC9A0F00320DB
46+:2005A0004B801836023602A5FFC981F003204B803876027602A5FFC9E0F003204B8060ADBC
47+:2005C000AF898500ADB0898501206888A97885A1A90585A2A9B7A2E1A08A85A98E990A9DBD
48+:2005E000800D941F91A1C5A9F003204B80EC990AF003204B80CD610EF003204B80C400F002
49+:2006000003204B80CD0206F003204B8060ADC1898500ADC289850120688818A90D69FAC9D5
50+:2006200007F003204B80A937855EA9C98571A9B6255E2471F003204B80A93B8D2104A9D73F
51+:200640008D1B05A9EB8DCC06AE2104E88A4D1B05A8CCCC06F003204B80A217A0A1A92F8DC5
52+:200660005903A9909990018A19900138FD4203A8C068F003204B80A2CDA9F18535A9AC85C2
53+:20068000BCA98D3568A09A592200AAE02DF003204B80A9388590A9088591A9D98D0209A901
54+:2006A0000AA0CA187190C9E3F003204B8060ADD3898500ADD4898501206888A980180AF05A
55+:2006C00003204B80B003204B801003204B800AF003204B809003204B801003204B80A94043
56+:2006E0000AD003204B809003204B803003204B80C980F003204B80A9A50AC94AF003204BA6
57+:20070000800AC994F003204B80A901084828B003204B80189003204B8028A94008482870C5
58+:2007200003204B80B85003204B8028A203CAD003204B80E002F003204B801003204B80CAF8
59+:20074000D003204B80E001F003204B801003204B80CAF003204B80E000F003204B801003A5
60+:20076000204B80CAD003204B803003204B80E0FFF003204B80A2803003204B80CA100320EE
61+:200780004B80E07FF003204B80A05088C04FF003204B8088C04EF003204B80C8C04FF003AE
62+:2007A000204B80E8E080F003204B80A901184AF003204B80B003204B804AF003204B8090E8
63+:2007C00003204B80A95A4AC92DF003204B80A9A5386AC9D2F003204B806A9003204B80C9F0
64+:2007E000E9F003204B80182A2AC9A5F003204B80B003204B8008A90048289003204B803805
65+:20080000B003204B807808682904D003204B805808682904F003204B8028A901AA100320E5
66+:200820004B80D003204B80E001F003204B80CA8A1003204B80F003204B80A901A8C8C898C6
67+:20084000C003F003204B80BA8600A2309AA9DD48BAE02FF003204B80A6009AA9EEAD300121
68+:20086000C9DDF003204B806020C088AD00038D0620AD01038D0620A000B1008D0720F0046C
69+:20088000C84C798898291FC91FF009A9008D0720C84C8488AD01038C01036D01038D0103C2
70+:2008A000AAAD000390061869018D0003C923D00F8AC9C0D00AA9208D0003A9008D0103608B
71+:2008C000ADEE89D00268686020C088A9008D00208D0120A93F8D0620A9008D0620A200A04D
72+:2008E00020BDEC888D0720E888D0F6600F0010200F0414240F0818280F0C1C2C0F001020DA
73+:200900000F0616260F0818280F0A1A2AADEE89F014A9208D0003A9018D0103A9008D0203DB
74+:20092000A9008D030360288972656772657373696F6E20746573742073746172742E2E2E71
75+:2009400000438974657374207375636365656465642E2E2E00578974657374206661696C60
76+:2009600065642121210068896164647265737320746573742E2E2E007A8970707520696EBB
77+:20098000737420746573742E2E2E008D89613520696E737420746573742E2E2E009F896189
78+:2009A0003420696E737420746573742E2E2E00B189613320696E737420746573742E2E2EA5
79+:2009C00000C389613220696E737420746573742E2E2E00D58973696E676C6520627974653C
80+:2009E00020696E737420746573742E2E2E00010000000000000000000000000000000000AE
8181 :200A00000000000000000000000000000000000000000000000000000000000000000000D6
8282 :200A20000000000000000000000000000000000000000000000000000000000000000000B6
8383 :200A4000000000000000000000000000000000000000000000000000000000000000000096
@@ -125,5 +125,5 @@
125125 :200F8000000000000000000000000000000000000000000000000000000000000000000051
126126 :200FA000000000000000000000000000000000000000000000000000000000000000000031
127127 :200FC000000000000000000000000000000000000000000000000000000000000000000011
128-:200FE00000000000000000000000000000000000000000000000000000007B800080000076
128+:200FE00000000000000000000000000000000000000000000000000000007E800080000073
129129 :00000001FF
--- a/de1_nes/simulation/modelsim/de1_nes_run_msim_gate_vhdl.do
+++ b/de1_nes/simulation/modelsim/de1_nes_run_msim_gate_vhdl.do
@@ -38,7 +38,12 @@ add wave -label ea_carry -radix decimal -unsigned sim:/testbench_motones_sim/
3838 #add wave -label wait_a58_branch_next -radix hex sim:/testbench_motones_sim/sim_board/dbg_wait_a58_branch_next
3939
4040
41+
4142 add wave -divider regs
43+
44+#add wave -label pcl -radix hex sim:/testbench_motones_sim/sim_board/dbg_ppu_ctrl
45+#add wave -label pch -radix hex sim:/testbench_motones_sim/sim_board/dbg_ppu_mask
46+
4247 add wave -label acc -radix hex sim:/testbench_motones_sim/sim_board/dbg_acc
4348 add wave -label sp -radix hex sim:/testbench_motones_sim/sim_board/dbg_sp
4449 add wave -label x -radix hex sim:/testbench_motones_sim/sim_board/dbg_x
@@ -46,14 +51,14 @@ add wave -label y -radix hex sim:/testbench_motones_sim/sim_board/dbg_y
4651 add wave -label status -radix hex sim:/testbench_motones_sim/sim_board/dbg_status
4752
4853
49-add wave -divider ppu
50-add wave -label ppu_clk sim:/testbench_motones_sim/sim_board/dbg_ppu_clk
51-add wave -label ppu_ce_n sim:/testbench_motones_sim/sim_board/dbg_ppu_ce_n
52-add wave -label ppu_ctrl -radix hex sim:/testbench_motones_sim/sim_board/dbg_ppu_ctrl
53-add wave -label ppu_mask -radix hex sim:/testbench_motones_sim/sim_board/dbg_ppu_mask
54-#add wave -label ppu_status -radix hex sim:/testbench_motones_sim/sim_board/dbg_ppu_status
55-add wave -label ppu_addr -radix hex sim:/testbench_motones_sim/sim_board/dbg_ppu_addr
56-add wave -label ppu_data -radix hex sim:/testbench_motones_sim/sim_board/dbg_ppu_data
54+#add wave -divider ppu
55+#add wave -label ppu_clk sim:/testbench_motones_sim/sim_board/dbg_ppu_clk
56+#add wave -label ppu_ce_n sim:/testbench_motones_sim/sim_board/dbg_ppu_ce_n
57+#add wave -label ppu_ctrl -radix hex sim:/testbench_motones_sim/sim_board/dbg_ppu_ctrl
58+#add wave -label ppu_mask -radix hex sim:/testbench_motones_sim/sim_board/dbg_ppu_mask
59+##add wave -label ppu_status -radix hex sim:/testbench_motones_sim/sim_board/dbg_ppu_status
60+#add wave -label ppu_addr -radix hex sim:/testbench_motones_sim/sim_board/dbg_ppu_addr
61+#add wave -label ppu_data -radix hex sim:/testbench_motones_sim/sim_board/dbg_ppu_data
5762
5863
5964 ###add wave -divider vga_pos
@@ -97,7 +102,7 @@ wave zoom full
97102
98103 #wave zoom range 3339700 ps 5138320 ps
99104
100-run 122626377 ps
105+run 36160968 ps
101106
102107 #wave zoom full
103108
Binary files a/de1_nes/simulation/modelsim/rom-file.nes and b/de1_nes/simulation/modelsim/rom-file.nes differ
--- a/tools/regression-test/regression.asm
+++ b/tools/regression-test/regression.asm
@@ -29,6 +29,7 @@
2929 jsr init_global
3030 jsr init_ppu
3131
32+ jsr addr_test
3233 lda ad_start_msg
3334 sta $00
3435 lda ad_start_msg+1
@@ -54,7 +55,7 @@
5455 jsr a3_inst_test
5556 jsr a4_inst_test
5657 jsr a5_inst_test
57- jsr ppu_test ;;;<<<error!!!!
58+ jsr ppu_test
5859
5960 .endproc
6061
@@ -112,6 +113,81 @@ mainloop:
112113 nmi_test:
113114 rti
114115
116+.proc addr_test
117+ nop
118+ nop
119+ jmp :+
120+ .byte "**********"
121+ .byte "0***************"
122+ .byte "1***************"
123+ .byte "2************"
124+ .byte "****************"
125+ .byte "****************"
126+ .byte "****************"
127+ .byte "****************"
128+ .byte "****************"
129+ .byte "****************"
130+ .byte "***************"
131+:
132+ nop
133+ ;;page cross at cycle #0
134+ jmp :+
135+ .byte "3***************"
136+ .byte "4***************"
137+ .byte "****************"
138+ .byte "****************"
139+ .byte "****************"
140+ .byte "****************"
141+ .byte "****************"
142+ .byte "****************"
143+ .byte "****************"
144+ .byte "****************"
145+ .byte "****************"
146+ .byte "****************"
147+ .byte "****************"
148+ .byte "****************"
149+ .byte "****************"
150+:
151+ ;;page cross at the cycle #2
152+ jmp :+
153+ .byte "5*********"
154+:
155+ nop
156+ jmp :+
157+ .byte "6***************"
158+ .byte "****************"
159+ .byte "****************"
160+ .byte "****************"
161+ .byte "****************"
162+ .byte "****************"
163+ .byte "****************"
164+ .byte "****************"
165+ .byte "****************"
166+ .byte "****************"
167+ .byte "****************"
168+ .byte "****************"
169+ .byte "****************"
170+ .byte "****************"
171+ .byte "****************"
172+:
173+ ;;page cross at the cycle #1
174+ jmp :+
175+ .byte "7*********"
176+:
177+ nop
178+ jmp :+
179+ .byte "8***************"
180+:
181+
182+ lda ad_addr_test
183+ sta $00
184+ lda ad_addr_test+1
185+ sta $01
186+ jsr print_ln
187+
188+ rts
189+.endproc
190+
115191
116192 .proc ppu_test
117193 jsr check_ppu
@@ -1058,6 +1134,12 @@ ad_test_failed_msg:
10581134 .byte "test failed!!!"
10591135 .byte $00
10601136
1137+ad_addr_test:
1138+ .addr :+
1139+:
1140+ .byte "address test..."
1141+ .byte $00
1142+
10611143 ad_ppu_test:
10621144 .addr :+
10631145 :