Skip to content

Commit 9516c5e

Browse files
committed
Fixed all unit tests
1 parent 5fb59ec commit 9516c5e

12 files changed

+90
-74
lines changed

tests/disassembler/disasm.tests.ts

+11-15
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,10 @@ import {Opcode} from '../../src/disassembler/core/opcode';
1414

1515
suite('Disassembler', () => {
1616

17-
// Function that cann strip the main label from a local label.
17+
// Function that can strip the main label from a local label.
1818
function ll(label: string): string {
1919
const localLabel = label.replace(/\w+\./, '.');
2020
return localLabel;
21-
// const k = label.indexOf('.');
22-
// if (k >= 0)
23-
// return label.substring(k);
24-
// return label;
2521
}
2622

2723

@@ -51,8 +47,8 @@ suite('Disassembler', () => {
5147
const cfg: any = {
5248
remoteType: 'zsim'
5349
};
54-
Settings.launch = Settings.Init(cfg);
55-
Z80RegistersClass.createRegisters();
50+
const launch = Settings.Init(cfg);
51+
Z80RegistersClass.createRegisters(launch);
5652
Z80Registers.decoder = new Z80RegistersStandardDecoder();
5753
Opcode.InitOpcodes();
5854
dng = new SmartDisassembler();
@@ -537,8 +533,8 @@ suite('Disassembler', () => {
537533
const cfg: any = {
538534
remoteType: 'zsim'
539535
};
540-
Settings.launch = Settings.Init(cfg);
541-
Z80RegistersClass.createRegisters();
536+
const launch = Settings.Init(cfg);
537+
Z80RegistersClass.createRegisters(launch);
542538
Z80Registers.decoder = new Z80RegistersStandardDecoder();
543539
Opcode.InitOpcodes();
544540
dng = new SmartDisassembler();
@@ -787,8 +783,8 @@ suite('Disassembler', () => {
787783
const cfg: any = {
788784
remoteType: 'zsim'
789785
};
790-
Settings.launch = Settings.Init(cfg);
791-
Z80RegistersClass.createRegisters();
786+
const launch = Settings.Init(cfg);
787+
Z80RegistersClass.createRegisters(launch);
792788
Z80Registers.decoder = new Z80RegistersStandardDecoder();
793789
Opcode.InitOpcodes();
794790
dng = new SmartDisassembler();
@@ -1071,8 +1067,8 @@ suite('Disassembler', () => {
10711067
const cfg: any = {
10721068
remoteType: 'zsim'
10731069
};
1074-
Settings.launch = Settings.Init(cfg);
1075-
Z80RegistersClass.createRegisters();
1070+
const launch = Settings.Init(cfg);
1071+
Z80RegistersClass.createRegisters(launch);
10761072
Z80Registers.decoder = new Z80RegistersStandardDecoder();
10771073
Z80Registers.setSlotsAndBanks( // Doesn't matter what these functions return:
10781074
(address: number, slots: number[]) => 0x10000 + address,
@@ -1321,8 +1317,8 @@ suite('Disassembler', () => {
13211317
const cfg: any = {
13221318
remoteType: 'zsim'
13231319
};
1324-
Settings.launch = Settings.Init(cfg);
1325-
Z80RegistersClass.createRegisters();
1320+
const launch = Settings.Init(cfg);
1321+
Z80RegistersClass.createRegisters(launch);
13261322
Z80Registers.decoder = new Z80RegistersStandardDecoder();
13271323
Z80Registers.setSlotsAndBanks( // Doesn't matter what these functions return:
13281324
(address: number, slots: number[]) => 0x10000 + address,

tests/disassembler/renderhtml.tests.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ suite('Disassembler - RenderHtml', () => {
2121
const cfg: any = {
2222
remoteType: 'zsim'
2323
};
24-
Settings.launch = Settings.Init(cfg);
25-
Z80RegistersClass.createRegisters();
24+
const launch = Settings.Init(cfg);
25+
Z80RegistersClass.createRegisters(launch);
2626
Z80Registers.decoder = new Z80RegistersStandardDecoder();
2727
disasm = new SmartDisassembler();
2828
disasm.funcGetLabel = addr64k => undefined;

tests/disassembler/rendertext.tests.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ suite('Disassembler - RenderText', () => {
2424
const cfg: any = {
2525
remoteType: 'zsim'
2626
};
27-
Settings.launch = Settings.Init(cfg);
28-
Z80RegistersClass.createRegisters();
27+
const launch = Settings.Init(cfg);
28+
Z80RegistersClass.createRegisters(launch);
2929
Z80Registers.decoder = new Z80RegistersStandardDecoder();
3030
disasm = new SmartDisassembler();
3131
disasm.funcGetLabel = addr64k => undefined;

tests/memorymodel.tests.ts

+7-6
Original file line numberDiff line numberDiff line change
@@ -1125,10 +1125,11 @@ suite('MemoryModel', () => {
11251125

11261126
suite('long address and slot calculations', () => {
11271127

1128+
let launch;
11281129
setup(() => {
11291130
const cfgEmpty: any = {
11301131
};
1131-
Settings.launch = Settings.Init(cfgEmpty);
1132+
launch = Settings.Init(cfgEmpty);
11321133
});
11331134

11341135
test('ZX16K', () => {
@@ -1137,7 +1138,7 @@ suite('MemoryModel', () => {
11371138
const slots = [0, 1, 2]; // 0 = ROM (0-0x3FFF), 1 = RAM (0x4000-0x7FFF), 2 = UNUSED (0x8000-0xFFFF)
11381139

11391140
// Z80Registers
1140-
Z80RegistersClass.createRegisters();
1141+
Z80RegistersClass.createRegisters(launch);
11411142
mm.init();
11421143

11431144
// Long address
@@ -1163,7 +1164,7 @@ suite('MemoryModel', () => {
11631164
const slots = [0, 1]; // 0 = ROM (0-0x3FFF), 1 = RAM (0x4000-0x7FFF)
11641165

11651166
// Z80Registers
1166-
Z80RegistersClass.createRegisters();
1167+
Z80RegistersClass.createRegisters(launch);
11671168
mm.init();
11681169

11691170
// Long address
@@ -1185,7 +1186,7 @@ suite('MemoryModel', () => {
11851186
const slots = [0, 1, 2, 3]; // 4 slots a 16K
11861187

11871188
// Z80Registers
1188-
Z80RegistersClass.createRegisters();
1189+
Z80RegistersClass.createRegisters(launch);
11891190
mm.init();
11901191

11911192
// Long address
@@ -1207,7 +1208,7 @@ suite('MemoryModel', () => {
12071208
const slots = [7, 6, 5, 4, 3, 2, 1, 0]; // 8 slots a 8K
12081209

12091210
// Z80Registers
1210-
Z80RegistersClass.createRegisters();
1211+
Z80RegistersClass.createRegisters(launch);
12111212
mm.init();
12121213

12131214
// Long address
@@ -1237,7 +1238,7 @@ suite('MemoryModel', () => {
12371238
const slots = [7, 6, 5, 4, 3, 2, 1, 0]; // 8 slots a 8K
12381239

12391240
// Z80Registers
1240-
Z80RegistersClass.createRegisters();
1241+
Z80RegistersClass.createRegisters(launch);
12411242
mm.init();
12421243

12431244
// Long address

tests/remotebase.tests.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ suite('RemoteBase', () => {
2020
const cfg: any = {
2121
remoteType: 'zsim'
2222
};
23-
Settings.launch = Settings.Init(cfg);
24-
Z80RegistersClass.createRegisters();
23+
const launch = Settings.Init(cfg);
24+
Z80RegistersClass.createRegisters(launch);
2525
Z80Registers.decoder = new Z80RegistersStandardDecoder();
2626
Opcode.InitOpcodes();
2727
DisassemblyClass.createDisassemblySingleton();

tests/utility.tests.ts

+10-10
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,8 @@ suite('Utility', () => {
8484
const cfg: any = {
8585
remoteType: 'zrcp'
8686
};
87-
Settings.launch = Settings.Init(cfg);
88-
Z80RegistersClass.createRegisters();
87+
const launch = Settings.Init(cfg);
88+
Z80RegistersClass.createRegisters(launch);
8989
RemoteFactory.createRemote(cfg.remoteType);
9090
Z80Registers.setCache("PC=6005 SP=6094 AF=cf8c BC=0100 HL=02df DE=0fc9 IX=663c IY=5c3a AF'=0044 BC'=050e HL'=2758 DE'=0047 I=3f R=5e F=S---3P-- F'=-Z---P-- MEMPTR=0000 IM1 IFF-- VPS: 0");
9191
});
@@ -312,8 +312,8 @@ suite('Utility', () => {
312312
const cfg: any = {
313313
remoteType: 'zrcp'
314314
};
315-
Settings.launch = Settings.Init(cfg);
316-
Z80RegistersClass.createRegisters();
315+
const launch = Settings.Init(cfg);
316+
Z80RegistersClass.createRegisters(launch);
317317
RemoteFactory.createRemote(cfg.remoteType);
318318
Z80Registers.setCache("PC=1110 SP=2120 AF=3130 BC=4140 HL=5150 DE=6160 IX=A1A0 IY=B1B0 AF'=3332 BC'=4342 HL'=5352 DE'=6362 I=3f R=5e F=S---3P-- F'=-Z---P-- MEMPTR=0000 IM1 IFF-- VPS: 0");
319319
Z80Registers.decoder = new DecodeZesaruxRegisters(8);
@@ -528,8 +528,8 @@ suite('Utility', () => {
528528
suite('evalExpression', () => {
529529

530530
setup(() => {
531-
Settings.launch = Settings.Init({remoteType: 'zrcp'} as any);
532-
Z80RegistersClass.createRegisters();
531+
const launch = Settings.Init({remoteType: 'zrcp'} as any);
532+
Z80RegistersClass.createRegisters(launch);
533533
Z80Registers.decoder = new DecodeZesaruxRegistersZx128k()
534534
const mm = new MemoryModelZxNextTwoRom();
535535
mm.init();
@@ -588,8 +588,8 @@ suite('Utility', () => {
588588
suite('breakpoints', () => {
589589
setup(() => {
590590
const cfg = {remoteType: 'zrcp'} as any;
591-
Settings.launch = Settings.Init(cfg);
592-
Z80RegistersClass.createRegisters();
591+
const launch = Settings.Init(cfg);
592+
Z80RegistersClass.createRegisters(launch);
593593
Z80Registers.decoder = new DecodeZesaruxRegistersZx128k()
594594
const mm = new MemoryModelZxNextOneROM();
595595
mm.init();
@@ -681,8 +681,8 @@ suite('Utility', () => {
681681
memoryModel: "RAM"
682682
}
683683
} as any;
684-
Settings.launch = Settings.Init(cfg);
685-
Z80RegistersClass.createRegisters();
684+
const launch = Settings.Init(cfg);
685+
Z80RegistersClass.createRegisters(launch);
686686
RemoteFactory.createRemote(cfg.remoteType);
687687
(Remote as any).configureMachine(Settings.launch.zsim);
688688
});

tests/z80cpu.tests.ts

+18-10
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,11 @@ suite('Z80Cpu', () => {
4848
{
4949
const memModel = new MemoryModelAllRam();
5050
const ports = new Z80Ports(true);
51-
cpu = new Z80Cpu(new SimulatedMemory(memModel, ports), ports) as any;
51+
const memory = new SimulatedMemory(memModel, ports);
52+
const zsim: any = {
53+
cpuFrequency: 3500000
54+
};
55+
cpu = new Z80Cpu(memory, ports, zsim);
5256

5357
cpu.pc = 0x1020;
5458
cpu.sp = 0x1121;
@@ -82,7 +86,10 @@ suite('Z80Cpu', () => {
8286
// Create a new object
8387
const memModel = new MemoryModelAllRam();
8488
const ports = new Z80Ports(true);
85-
const rCpu = new Z80Cpu(new SimulatedMemory(memModel, ports), ports) as any;
89+
const zsim: any = {
90+
cpuFrequency: 3500000
91+
};
92+
const rCpu = new Z80Cpu(new SimulatedMemory(memModel, ports), ports, zsim) as any;
8693
rCpu.deserialize(memBuffer);
8794

8895
// Check size
@@ -125,7 +132,10 @@ suite('Z80Cpu', () => {
125132
Settings.launch = Settings.Init({} as any);
126133
const memModel = new MemoryModelAllRam();
127134
const ports = new Z80Ports(true);
128-
cpu = new Z80Cpu(new SimulatedMemory(memModel, ports), ports) as any;
135+
const zsim: any = {
136+
cpuFrequency: 3500000
137+
};
138+
cpu = new Z80Cpu(new SimulatedMemory(memModel, ports), ports, zsim) as any;
129139
z80 = cpu.z80;
130140
mem = cpu.memory;
131141
portAddress = 0; // Stores the last accessed port address (IN and OUT)
@@ -280,15 +290,13 @@ suite('Z80Cpu', () => {
280290
suite('Z80N instructions', () => {
281291

282292
setup(() => {
283-
const cfg: any = {
284-
zsim: {
285-
Z80N: true
286-
}
287-
};
288-
Settings.launch = Settings.Init(cfg);
289293
const memModel = new MemoryModelAllRam();
290294
const ports = new Z80Ports(true);
291-
cpu = new Z80Cpu(new SimulatedMemory(memModel, ports), ports) as any;
295+
const zsim: any = {
296+
cpuFrequency: 3500000,
297+
Z80N: true
298+
};
299+
cpu = new Z80Cpu(new SimulatedMemory(memModel, ports), ports, zsim) as any;
292300
z80 = cpu.z80;
293301
mem = cpu.memory;
294302
});

tests/zesaruxcpuhistory.tests.ts

+5-6
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,13 @@ class MockZesaruxSocket extends ZesaruxSocket {
3232

3333
suite('ZesaruxCpuHistory', () => {
3434

35+
let launch;
3536
setup(() => {
3637
const cfg: any = {
3738
remoteType: 'zrcp'
3839
};
39-
Settings.launch = Settings.Init(cfg);
40-
Z80RegistersClass.createRegisters();
40+
launch = Settings.Init(cfg);
41+
Z80RegistersClass.createRegisters(launch);
4142
Labels.readListFiles(cfg, new MemoryModelUnknown()); // To reset the labels
4243
Format.hexFormat = 'h';
4344
Opcode.InitOpcodes();
@@ -552,8 +553,7 @@ suite('ZesaruxCpuHistory', () => {
552553
let mockSocket: MockZesaruxSocket;
553554

554555
setup(() => {
555-
Z80RegistersClass.Init();
556-
Z80RegistersClass.createRegisters();
556+
Z80RegistersClass.createRegisters(launch);
557557
RemoteFactory.createRemote('zrcp');
558558
Z80Registers.decoder = new DecodeZesaruxRegistersZx48k();
559559
const mm = new MemoryModelZx48k();
@@ -846,8 +846,7 @@ suite('ZesaruxCpuHistory', () => {
846846
let mockSocket: MockZesaruxSocket;
847847

848848
setup(() => {
849-
Z80RegistersClass.Init();
850-
Z80RegistersClass.createRegisters();
849+
Z80RegistersClass.createRegisters(launch);
851850
Z80Registers.decoder = new DecodeZesaruxRegistersZx48k();
852851
const mm = new MemoryModelZx48k();
853852
mm.init(); // Required for setting the funcCreateLongAddress and funcGetSlotFromAddress

tests/zesaruxemulator.tests.callstack.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ suite('ZesaruxEmulator', () => {
1212
setup(() => {
1313
const cfg: any={
1414
};
15-
Settings.launch = Settings.Init(cfg);
16-
Z80RegistersClass.Init();
15+
const launch = Settings.Init(cfg);
16+
Z80RegistersClass.Init(launch);
1717
});
1818

1919

tests/zsimremote.tests.ts

+15-15
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@ suite('ZSimRemote', () => {
3232
codeCoverageEnabled: false
3333
}
3434
};
35-
Settings.launch = Settings.Init(cfg);
36-
Z80RegistersClass.createRegisters();
37-
zsim = new ZSimRemote();
35+
const launch = Settings.Init(cfg);
36+
Z80RegistersClass.createRegisters(launch);
37+
zsim = new ZSimRemote(launch);
3838
zsimAny = zsim as any;
3939
zsimAny.configureMachine(Settings.launch.zsim);
4040
});
@@ -84,10 +84,10 @@ suite('ZSimRemote', () => {
8484
codeCoverageEnabled: false
8585
}
8686
};
87-
Settings.launch = Settings.Init(cfg);
88-
Z80RegistersClass.createRegisters();
87+
const launch = Settings.Init(cfg);
88+
Z80RegistersClass.createRegisters(launch);
8989
Utility.setRootPath('/'); // Does not matter but must be set.
90-
zsim = new ZSimRemote();
90+
zsim = new ZSimRemote(launch);
9191
zsimAny = zsim as any;
9292
zsimAny.configureMachine(Settings.launch.zsim);
9393
});
@@ -221,10 +221,10 @@ suite('ZSimRemote', () => {
221221
codeCoverageEnabled: false
222222
}
223223
};
224-
Settings.launch = Settings.Init(cfg);
225-
Z80RegistersClass.createRegisters();
224+
const launch = Settings.Init(cfg);
225+
Z80RegistersClass.createRegisters(launch);
226226
Utility.setRootPath('/'); // Does not matter but must be set.
227-
zsim = new ZSimRemote() as any;
227+
zsim = new ZSimRemote(launch) as any;
228228
zsimAny = zsim as any;
229229
zsimAny.configureMachine(Settings.launch.zsim);
230230
});
@@ -353,10 +353,10 @@ suite('ZSimRemote', () => {
353353
codeCoverageEnabled: false
354354
}
355355
};
356-
Settings.launch = Settings.Init(cfg);
357-
Z80RegistersClass.createRegisters();
356+
const launch = Settings.Init(cfg);
357+
Z80RegistersClass.createRegisters(launch);
358358
Utility.setRootPath('/'); // Does not matter but must be set.
359-
zsim = new ZSimRemote();
359+
zsim = new ZSimRemote(launch) as any;
360360
zsimAny = zsim as any;
361361
zsimAny.configureMachine(Settings.launch.zsim);
362362
});
@@ -458,9 +458,9 @@ suite('ZSimRemote', () => {
458458
codeCoverageEnabled: false
459459
}
460460
};
461-
Settings.launch = Settings.Init(cfg);
462-
Z80RegistersClass.createRegisters();
463-
zsim = new ZSimRemote();
461+
const launch = Settings.Init(cfg);
462+
Z80RegistersClass.createRegisters(launch);
463+
zsim = new ZSimRemote(launch) as any;
464464
zsimAny = zsim as any;
465465
zsimAny.configureMachine(Settings.launch.zsim);
466466

0 commit comments

Comments
 (0)