CAC 2016-02-26

ISOLTS

is 014125
dis 014025 014072755000
dis 014026 013532235000
dis 014027 014031605000
dis 014030 014073710000
dis 014031 177777235007
dis 014032 014072755000
dis 014033 013533235000
dis 014034 014036605000
dis 014035 014073710000
dis 014036 277777235007
dis 014037 014072755000
dis 014040 013534235000
dis 014041 014043605000
dis 014042 014073710000
dis 014043 377777235007
dis 014044 014072755000
dis 014045 013535235000
dis 014046 014050605000
dis 014047 014073710000
dis 014050 477777235007
dis 014051 014072755000
dis 014052 013536235000
dis 014053 014055605000
dis 014054 014073710000
dis 014055 577777235007
dis 014056 014072755000
dis 014057 013537235000
dis 014060 014062605000
dis 014061 014073710000
dis 014062 677777235007
dis 014063 014072755000
dis 014064 013540235000
dis 014065 014067605000
dis 014066 014073710000
dis 014067 777777235007
dis 014070 014072755000
dis 014071 014073710000
dis 014072 000000000000
dis 014073 014167235000
dis 014074 014354600000
dis 014075 017332235000
dis 014076 014167755000
dis 014077 007770235000
dis 014100 017242375000
dis 014101 017336075000
dis 014102 014106755000
dis 014103 017337075000
dis 014104 014107755000
dis 014105 014144235000
dis 014106 000102755000
dis 014107 000126755000
dis 014110 014107235000
dis 014111 017265175000
dis 014112 014114755000
dis 014113 014155235000
dis 014114 000122755000
dis 014115 017332235000  lda       017332  ; 0
dis 014116 000000755000  sta       0000000
dis 014117 000002755000  sta       0000002
dis 014120 000004755000  sta       0000004 

dis 014121 000000235000    LDA 000000
dis 014122 000002075000    ADA 000002
dis 014123 000004075000    ADA 000004
dis 014124 014126600000    TZE 014126
dis 014125 014121616200    DIS 014121
dis 014126 014143235000    LDA 014143
dis 014127 017341075000    ADA 017341
dis 014130 014132755000    STA 014132
dis 014131 014143235000    LDA 014143  "  200002000000
dis 014132 200001755000    STA 130157
dis 014133 014132235000    LDA 014132
dis 014134 017242375000    ANA 017242
dis 014135 017242175000    SBA 017242
dis 014136 014153600000    TZE 014153
dis 014137 014143235000    LDA 014143  "  200002000000
dis 014140 017244075000    ADA 017244
dis 014141 014143755000    STA 014143
dis 014142 014121710000    TRA 014121
dis 014143 200002000000
dis 014144 014145710000
dis 014145 014143235000
dis 014146 017244175000
dis 014147 007771755000
dis 014150 017252235000
dis 014151 014143755000
dis 014152 014174710000
dis 014153 014143235000
dis 014154 014147710000
dis 014155 014156710000
dis 014156 007770235000
dis 014157 017242375000
dis 014160 017342075000
dis 014161 014164755000
dis 014162 014172755000
dis 014163 014170235000
dis 014164 014164616200
dis 014165 014143235000
dis 014166 014166616200
dis 014167 000000000000
dis 014170 014171710000
dis 014171 017343235000
dis 014172 014172616200
dis 014173 014204710000
dis 014174 014143235000
dis 014175 017344075000
dis 014176 014200755000
dis 014177 014200710000
dis 014200 014200616200
dis 014201 014143175000
dis 014202 014204600000
dis 014203 014204616200
dis 014204 014143235000
dis 014205 007771175000
dis 014206 014213600000
dis 014207 014143235000
dis 014210 017244075000
dis 014211 014143755000
dis 014212 014174710000
dis 014213 017252235000
dis 014214 014143755000
dis 014215 007770235000
dis 014216 017242375000
dis 014217 017336075000
dis 014220 014226755000
dis 014221 017263075000
dis 014222 014230755000
dis 014223 017265075000
dis 014224 014232755000

DBG(1587990027)> CPU TRACE: 014125 0 014121616200 (DIS 014121)
          lda       c0        " 0
          sta       0
          sta       2
          sta       4
          l1:       LDA       0
          ADA       2
          ADA       4
          TZE       l2
          DIS       l1
l2:       LDA       w1
          ADA       c1
          STA       w2
          LDA       w1 " 200002000000
w2:       STA       020000 " this becomes STA 130202, 130203, ...
          LDA       w2
          ANA       c2 " 777777000000
          SBA       c2 " 777777000000
          TZE       next
          LDA       w1 " 200002000000
          ADA       c3 " 000001000000
          STA       w1
          TRA       l1
w1:       oct       200002000000
next:

...

c0:       oct       0
c1:       oct       000000755000
c2:       oct       777777000000
c3:       oct       000001000000

The code is walking through memory, writing 'sta *' in locations 020000-777777.

After each write it checks that locations 0, 2 and 4 are still 0; presumably some classes of CPU errors could cause address calculation errors and wrap around to location 0. There may also be fault handlers that write to one of those locations to signal a fault.

In any case, it appears that scbank_pg_os is wrong.

When it gets to

DBG(753846435)> CPU TRACE: 014132 0 200001755000 (STA 200001)
DBG(753846435)> CPU FINAL: Write 00200001 200001000000

It wrote to the same core location as 0.

200000 is 65K.

I'm confused; AU77 says that the CPU is set up with 64K, but the switches are set for 256K.

In any case, the test seems to expect 128K.

(gdb) p cpus[1].scbank_pg_os
$1 = {0 <repeats 256 times>}

Well, that's not right….

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License