work arounds to prevent access to odd addresses or i/o
Some checks are pending
Build / cmake-builds (push) Waiting to run
Build / makefile (macos-latest, besm6 imlac tt2500 microvax3900 microvax1 rtvax1000 vaxstation3100m76 vaxstation4000m60) (push) Waiting to run
Build / makefile (macos-latest, id16 id32 sds lgp h316 cdc1700 swtp6800mp-a swtp6800mp-a2 tx-0 ssem b5500 sage pdq3 alpha) (push) Waiting to run
Build / makefile (macos-latest, microvax2 vax730 vax750 vax780 vax8200 vax8600 microvax2000 infoserver100 infoserver150vxt microvax3100 microvax3100e vaxstation3100m30 vaxstation3100m38) (push) Waiting to run
Build / makefile (macos-latest, microvax3100m80 vaxstation4000vlc infoserver1000 nova eclipse hp2100 hp3000 i1401 i1620 s3 altair altairz80 gri i7094) (push) Waiting to run
Build / makefile (macos-latest, pdp1 pdp4 pdp6 pdp7 pdp8 pdp9 pdp10 pdp10-ka pdp10-ki pdp10-kl pdp10-ks pdp11 pdp15 vax) (push) Waiting to run
Build / makefile (macos-latest, scelbi 3b2 i701 i704 i7010 i7070 i7080 i7090 sigma uc15 i650 sel32 intel-mds ibm1130) (push) Waiting to run
Build / makefile (ubuntu-latest, besm6 imlac tt2500 microvax3900 microvax1 rtvax1000 vaxstation3100m76 vaxstation4000m60) (push) Waiting to run
Build / makefile (ubuntu-latest, id16 id32 sds lgp h316 cdc1700 swtp6800mp-a swtp6800mp-a2 tx-0 ssem b5500 sage pdq3 alpha) (push) Waiting to run
Build / makefile (ubuntu-latest, microvax2 vax730 vax750 vax780 vax8200 vax8600 microvax2000 infoserver100 infoserver150vxt microvax3100 microvax3100e vaxstation3100m30 vaxstation3100m38) (push) Waiting to run
Build / makefile (ubuntu-latest, microvax3100m80 vaxstation4000vlc infoserver1000 nova eclipse hp2100 hp3000 i1401 i1620 s3 altair altairz80 gri i7094) (push) Waiting to run
Build / makefile (ubuntu-latest, pdp1 pdp4 pdp6 pdp7 pdp8 pdp9 pdp10 pdp10-ka pdp10-ki pdp10-kl pdp10-ks pdp11 pdp15 vax) (push) Waiting to run
Build / makefile (ubuntu-latest, scelbi 3b2 i701 i704 i7010 i7070 i7080 i7090 sigma uc15 i650 sel32 intel-mds ibm1130) (push) Waiting to run

This commit is contained in:
Folkert van Heusden 2025-04-03 23:20:00 +02:00
parent 9999fd9ea1
commit 2796bf9e22
Signed by untrusted user who does not match committer: folkert
GPG key ID: 6B6455EDFEED3BD1

View file

@ -47,6 +47,9 @@ void produce_validation_tests()
i == 5) // RESET i == 5) // RESET
continue; continue;
if (i >= 0170000 && i <= 0177777) // FPU
continue;
json_t *before = json_object(); json_t *before = json_object();
cpu_reset(&cpu_dev); cpu_reset(&cpu_dev);
@ -69,13 +72,13 @@ void produce_validation_tests()
json_array_append_new(memory_i, put_mem_i_0); json_array_append_new(memory_i, put_mem_i_0);
json_t *put_mem_i_2 = json_object(); json_t *put_mem_i_2 = json_object();
uint16_t data1 = rand() % 49152; uint16_t data1 = (rand() % 0160000) & (~1);
PWriteW(data1, 0102); PWriteW(data1, 0102);
json_object_set(put_mem_i_2, "0102", json_integer(data1)); json_object_set(put_mem_i_2, "0102", json_integer(data1));
json_array_append_new(memory_i, put_mem_i_2); json_array_append_new(memory_i, put_mem_i_2);
json_t *put_mem_i_4 = json_object(); json_t *put_mem_i_4 = json_object();
uint16_t data2 = rand() % 49152; uint16_t data2 = (rand() % 0160000) & (~1);
PWriteW(data2, 0104); PWriteW(data2, 0104);
json_object_set(put_mem_i_4, "0104", json_integer(data2)); json_object_set(put_mem_i_4, "0104", json_integer(data2));
json_array_append_new(memory_i, put_mem_i_4); json_array_append_new(memory_i, put_mem_i_4);
@ -86,14 +89,16 @@ void produce_validation_tests()
char name[16]; char name[16];
sprintf(name, "reg-%d.%d", k, 0); sprintf(name, "reg-%d.%d", k, 0);
REGFILE[k][0] = rand() & 0xffff; REGFILE[k][0] = (rand() % 0160000) & (~1);
json_object_set(before, name, json_integer(REGFILE[k][0])); json_object_set(before, name, json_integer(REGFILE[k][0]));
sprintf(name, "reg-%d.%d", k, 1); sprintf(name, "reg-%d.%d", k, 1);
REGFILE[k][1] = rand() & 0xffff; REGFILE[k][1] = (rand() % 0160000) & (~1);
json_object_set(before, name, json_integer(REGFILE[k][1])); json_object_set(before, name, json_integer(REGFILE[k][1]));
} }
// FIXME initialize PSW
json_object_set(before, "PSW", json_integer(PSW)); json_object_set(before, "PSW", json_integer(PSW));
// do // do