The first ROM included will be defined with names:
BOOT_CODE_SIZE
BOOT_CODE_CHECKSUM
BOOT_CODE_FILENAME
BOOT_CODE_FILEPATH
BOOT_CODE_ARRAY
and BOOT_CODE_URL
That first ROM will also have names:
BOOT_CODE_SIZE_1
BOOT_CODE_CHECKSUM_1
BOOT_CODE_FILENAME_1
BOOT_CODE_FILEPATH_1
BOOT_CODE_ARRAY_1
and BOOT_CODE_URL_1
Subsequent included ROM's will have names
BOOT_CODE_SIZE_n
BOOT_CODE_CHECKSUM_n
BOOT_CODE_FILENAME_n
BOOT_CODE_FILEPATH_n
BOOT_CODE_ARRAY_n
and BOOT_CODE_URL_n
where n is 2 thru the max number of supported ROM includes.
Simulators built with DONT_USE_INTERNAL_ROM defined will not have hte
binary of the needed ROM or boot components build into the simulator
binaries. However, they will automatically and transparently fetch the
neeeded ROM or boot code from the web when these binary files aren't
available locally.
- Plan is to avoid "#ifdef DONT_USE_INTERNAL_ROM" in simulator code
and handle builtin or external files in SCP facilities
- Export ROM checksum value and source file path to allow for transparent
dynamic ROM location at run time.
- General cleanup of codebase
- Fixed condition codes m6800.c from Roberto Sancho Villa
- Add additional FDC lfd-400 from Roberto Sancho Villa
- Add additional OS's (FLEX 1.0, FDOS 1.0, DOS68, MiniDOS, and MiniDOS-MPX)
to software support
- Add additional disk formats to software support dc-4.c from Roberto
Sancho Villa
- Add CPU history
- Fix LOAD/DUMP to support binary and hex
- Fix fprintf_sym to disassemble 6800 code correctly
- Add EXAMINE/DEPOSIT to CPU Memory
- Fixed disasm to space the register
- Add SET_FLAG(IF) to IRQ – fixed error in handling IRQ from
Roberto Sancho Villa
The actual contents of the input ROM binary files and the contents of the
created arrays are unchanged.
Multiple ROM image include files can be included in the same source module
without the need for any #undef BOOT_CODE_SIZE, etc.
This avoids a potential invalid pointer dereference when formatting
the return value from sim_instr() if it is < SCPE_BASE but greater
than the previously defined static array size.sizeof
Update simh.doc to reflect this generic change.
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.
The simulated memory address block from 0x8000 thru 0x8FFF is defined to have address 0x8000 - 0x801F mapped to I/O ports and 0x8020 - 0x8FFF as NO RAM ALLOWED. Code has been added to behave reasonably when references are made to 0x8020 - 0x8FFF.