Howard M. Harte
30d45ae7d9
AltairZ80: CPU: Properly reset PC.
...
After adding the sim_clock_precalibrate_commands, the PC was not zero
at the sim> prompt after loading altairz80.
Set CPU_S to zero in cpu_reset to address this issue.
2023-04-01 07:01:16 -07:00
Howard M. Harte
885f9123c1
AltairZ80: Fix warnings in altairz80_cpu.c.
2023-04-01 07:01:13 -07:00
Patrick Linstruth
825a505083
AltairZ80: Add sim_clock_precalibrate_commands
...
Used to initialize SCP timers to prevent problems during simulator startup
when THROTTLE is being used.
/*
* This sequence of instructions is a mix that mimics
* a resonable instruction set that is a close estimate
* to the calibrated result.
*/
static const char *cpu_clock_precalibrate_commands[] = {
"-m 100 LXI H,200H",
"-m 103 MVI B,0",
"-m 105 DCR B",
"-m 106 MOV M,B",
"-m 107 INX H",
"-m 108 JNZ 0105H",
"-m 10B JMP 0100H",
"PC 100",
NULL};
2023-03-19 16:45:19 -04:00
Howard M. Harte
023cd3b387
AltairZ80: Add support for NMI interrupts.
2023-01-29 10:19:07 -08:00
Howard M. Harte
11e555bb20
AltairZ80: Fix width of vectorInterrupt pseudo register.
2023-01-29 10:19:07 -08:00
Patrick Linstruth
1a1366650c
AltairZ80: Adds -H switch to LOAD command for loading Intel hex files
2023-01-17 20:08:39 -08:00
Howard M. Harte
87581b865f
AltairZ80: M68K: Add support for additional 68000 variants
...
68000, 68010, 68020, 68030, 68040 and LC/EC variants.
2022-11-27 14:38:05 -05:00
Howard M. Harte
6cd89205a3
AltairZ80: M68K: Add support for memory-mapped I/O.
...
Allows the M68K CPU to take advantage of additional AltairZ80 peripherals.
2022-11-27 14:38:05 -05:00
Patrick Linstruth
7a5432d9e2
AltairZ80: Add "MEM" and "REG" simulator-specific commands
...
sim> mem df00
DF00 C3 5C E2 C3 58 E2 7F 00 43 6F 70 79 72 69 67 68 .\..X...Copyrigh
DF10 74 20 31 39 37 39 20 28 63 29 20 62 79 20 44 69 t 1979 (c) by Di
DF20 67 69 74 61 6C 20 52 65 73 65 61 72 63 68 20 20 gital Research
DF30 20 20 20 20 00 00 00 00 00 00 00 00 00 00 00 00 ............
DF40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
DF50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
DF60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ....s...ub...m..
DF70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ..I..tT...e.....
DF80 00 00 00 00 00 00 00 00 08 DF 00 00 5F 0E 02 C3 d....4...l.._0.r
DF90 05 00 C5 CD 8C DF C1 C9 3E 0D CD 92 DF 3E 0A C3 .d..M...>....>..
DFA0 92 DF 3E 20 C3 92 DF C5 CD 98 DF E1 7E B7 C8 23 ..> ..a.....~..#
DFB0 E5 CD 8C DF E1 C3 AC DF 0E 0D C3 05 00 5F 0E 0E ...r........._..
DFC0 C3 05 00 CD 05 00 32 EE E6 3C C9 0E 0F C3 C3 DF ...K..2..<..'.s.
DFD0 AF 32 ED E6 11 CD E6 C3 CB DF 0E 10 C3 C3 DF 0E .2...a...p.P....
DFE0 11 C3 C3 DF 0E 12 C3 C3 DF 11 CD E6 C3 DF DF 0E ...r...0..v.....
DFF0 13 C3 05 00 CD 05 00 B7 C9 0E 14 C3 F4 DF 11 CD .....a.l........
sim> reg
C0Z1M0E1I1 A=02 B=007F D=DF06 H=EA0E S=EA37 P=FA6B ANI 01h
sim> set on
sim> on error reg
sim> s
Step expired, PC: 0FA6D (JZ 0FA69h)
C0Z1M0E1I1 A=00 B=007F D=DF06 H=EA0E S=EA37 P=FA6D JZ 0FA69h
sim> s
Step expired, PC: 0FA69 (IN 10h)
C0Z1M0E1I1 A=00 B=007F D=DF06 H=EA0E S=EA37 P=FA69 IN 10h
sim> s
Step expired, PC: 0FA6B (ANI 01h)
C0Z1M0E1I1 A=02 B=007F D=DF06 H=EA0E S=EA37 P=FA6B ANI 01h
2022-11-23 11:22:12 -05:00
Howard M. Harte
9fa55d0013
AltairZ80: M68K: Move Musashi to m68k directory.
...
The M68K CPU is from https://github.com/kstenerud/Musashi . Move into
its own directory to facilitate easier synchronization with upstream
Musashi.
2022-10-08 00:24:49 -07:00
Howard M. Harte
e293731e35
AltairZ80: Resolve CID 1514796.
2022-03-08 12:29:49 -08:00
Peter Schorn
ab6c2c043e
AltairZ80: Improved vector interrupt implementation
2021-12-04 20:42:03 +01:00
Howard M. Harte
81afea160c
AltairZ80: Add support for Z80 Mode 2 interrupts.
...
Add support for Z80 Mode 2 interrupts to altairz80_cpu.c
Also implement interrupts for the WD179x floppd controller.
2021-10-11 08:50:20 -07:00
Howard M. Harte
898d7cbdbb
AltairZ80: Add Z80 Interrupt Mode register (IM.)
2020-12-12 20:43:21 -08:00
Howard M. Harte
d0c009504b
AltairZ80: Add support for the AB Digital B810.
...
The AB Digital Design B810 RAM card is a 256K Dynamic RAM card
with onboard refresh logic. AltairZ80 support emulates four of
these cards for a total of 16 banks.
As used for the OASIS operating system, the B810 is configured
with common memory at the low addresses (0000h-3FFFh) with 16
banks of 48K from 4000h-FFFFh.
In order to have the common memory appear from 0000-3FFFh, set
the COMMONLOW register to 1:
D COMMONLOW 1
2020-12-12 20:43:07 -08:00
Peter Schorn
5211c1134a
AltairZ80: New iCOM device, PTP port command, code cleanup
2020-11-28 14:02:01 +01:00
Peter Schorn
199adf7641
AltairZ80: Additional updates for SCP internal time base
2020-10-30 09:52:56 +01:00
Peter Schorn
f64a32d0e8
AltairZ80: Added Hayes modem and minor bug fix
2020-08-16 09:31:19 +02:00
Peter Schorn
f91d56c60f
AltairZ80: Fixed breakpoint detection after PC wrap around
2020-06-08 09:25:13 +02:00
Peter Schorn
d92805f258
AltairZ80: Removed tabs from sources
2020-06-07 13:37:45 +02:00
Peter Schorn
d3426c3d6d
AltairZ80: Removed obsolete platform dependency
2020-06-07 11:49:18 +02:00
Peter Schorn
f8a1e56637
AltairZ80: Improved resource mapping diagnostics.
2020-05-27 10:30:47 +02:00
Peter Schorn
494e68fcbf
AltairZ80: Documentation update and small formatting cleanup
2020-04-30 19:01:38 +02:00
Patrick Linstruth
807005553b
ALTAIRZ80: Add "SET CPU HISTORY" and "SHOW CPU HISTORY" for 8080/Z80
2020-04-29 20:28:33 -07:00
Peter Schorn
5a293ac4ff
AltairZ80: Additional register updates
2020-03-06 15:34:03 -08:00
Mark Pizzolato
2e41007e0d
AltairZ80: Adjust REG array descriptors (BRDATA) to provide array object addrs
...
No address value are changed, by a pointer the the array object is
explicitly provided which allows validation logic to determine the
size of the array object rather than merely it's first element.
2020-03-03 07:50:33 -08:00
Mark Pizzolato
8a858c181d
SCP: Clean up WEAK definition and rework deprecated references to sim_vm_init
...
As discussed in #794
2020-01-29 12:30:25 -08:00
Peter Schorn
17356d9093
AltairZ80: Replace WIN32 dependencies with SIMH API calls and remove redundant includes
2019-12-10 08:42:22 +01:00
Peter Schorn
1b7d77e03b
AltairZ80: Replaced assert() with ASSURE() for error checking at run time
2018-08-11 09:48:55 +02:00
Peter Schorn
a2d900e62b
AltairZ80: Implemented proper memory refresh register R semantics
2016-12-17 12:24:12 +01:00
Peter Schorn
dc2bbe5a40
AltairZ80: Updated 8080/Z80 CPU for new breakpoint package
2016-08-31 17:39:04 +02:00
Mark Pizzolato
5531ccb175
ALL: Massive 'const' cleanup
...
These changes facilitate more robust parameter type checking and helps
to identify unexpected coding errors.
Most simulators can now also be compiled with a C++ compiler without
warnings.
Additionally, these changes have also been configured to facilitate easier
backporting of simulator and device simulation modules to run under the
simh v3.9+ SCP framework.
2016-05-15 15:25:33 -07:00
Peter Schorn
60a8a2d43d
AltairZ80: Fixed device descriptions for all devices.
2016-05-15 14:44:09 -07:00
Peter Schorn
bb39ce97c7
AltairZ80: Better comparison operator to remove warning message
2015-08-08 08:58:24 +02:00
Peter Schorn
a9e5913d0c
AltairZ80: Reduced polling for CPU stop on non UNIX platforms
2015-04-26 09:50:00 +02:00
Peter Schorn
ff908f4f59
AltairZ80: Simplified polling for stop CPU on non UNIX platform
2015-04-25 14:02:26 +02:00
Peter Schorn
ad3767a2bd
AltairZ80: Fixed keyboard polling on non UNIX platform and daylight savings time issue with CP/M 3 clock
2015-04-25 08:31:05 +02:00
Mark Pizzolato
2e1167d4a0
Compiler suggested cleanups - mostly const fixups
2014-10-26 17:06:24 -07:00
Peter Schorn
ebf53c9cda
Replaced printf with sim_printf.
2014-10-24 23:10:54 +02:00
Mark Pizzolato
3951ad2432
Cleanup of unneeded global extern declarations
2014-10-10 08:18:15 -07:00
Mark Pizzolato
0b1050853e
SCP: Allow for the potential of a breakpoint action to remove the establishing breakpoint while still completing pending actions
2014-10-10 08:03:22 -07:00
Peter Schorn
589aca19f4
AltairZ80: Added Motorola 68000 CPU support for CP/M-68K, support for Altair mini-disk format, added descriptions for all device registers
2014-05-27 20:01:30 +02:00
Peter Schorn
798b82b868
Added debug support for the MHDSK device, support for the NEXT command and a warning if 8086 symbolic input is attempted.
2014-04-21 08:56:27 +02:00
Peter Schorn
1d35a4f612
Updated year in copyright and implemented sim_vm_pc_value
2014-03-29 08:19:22 +01:00
Mark Pizzolato
ee3d98a125
Updated AltairZ80 from Peter Schorn
2013-04-13 16:47:59 -07:00
Mark Pizzolato
414cf3335f
Compiler identified issues in AltairZ80 simulator
2013-04-12 06:39:28 -07:00
Mark Pizzolato
448d9e52fc
Added VAX860 to the descrip.mms and cleaned up the VMS compiler identified issues
2013-01-10 15:14:51 -08:00
Mark Pizzolato
dac73b9381
Migrating scp and library global variables to be declared as extern in the appropriate library include file and remove repetitive declarations in referencing modules.
2013-01-10 13:29:15 -08:00
Mark Pizzolato
cf280ad8f7
Completing merge of v3.9-0-rc1 compile cleanups
2012-03-20 18:55:45 -07:00
Mark Pizzolato
fffad7c20e
Merge changes from v3.9-0 rc1
2012-03-19 16:05:24 -07:00