zemu 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/lib/zemu/config.rb +312 -0
- data/lib/zemu/instance.rb +179 -0
- data/lib/zemu.rb +172 -0
- data/src/debug.c +118 -0
- data/src/debug.h +30 -0
- data/src/external/Z/API/Z/ABIs/generic/allocator.h +36 -0
- data/src/external/Z/API/Z/ABIs/generic/cipher.h +47 -0
- data/src/external/Z/API/Z/ABIs/generic/data codec.h +33 -0
- data/src/external/Z/API/Z/ABIs/generic/emulation.h +103 -0
- data/src/external/Z/API/Z/ABIs/generic/hash function.h +33 -0
- data/src/external/Z/API/Z/ABIs/generic/module.h +33 -0
- data/src/external/Z/API/Z/ABIs/generic/wave codec.h +40 -0
- data/src/external/Z/API/Z/classes/base/InitializerList.hpp +34 -0
- data/src/external/Z/API/Z/classes/base/OpaqueFunctionPointer.hpp +26 -0
- data/src/external/Z/API/Z/classes/base/OpaqueMemberFunctionPointer.hpp +26 -0
- data/src/external/Z/API/Z/classes/base/Pair.hpp +46 -0
- data/src/external/Z/API/Z/classes/base/Range.hpp +111 -0
- data/src/external/Z/API/Z/classes/base/SizedString.hpp +66 -0
- data/src/external/Z/API/Z/classes/base/Status.hpp +89 -0
- data/src/external/Z/API/Z/classes/base/Symbol.hpp +39 -0
- data/src/external/Z/API/Z/classes/base/Tuple.hpp +111 -0
- data/src/external/Z/API/Z/classes/base/Value2D.hpp +389 -0
- data/src/external/Z/API/Z/classes/base/Value3D.hpp +368 -0
- data/src/external/Z/API/Z/classes/buffering/RingBuffer.hpp +93 -0
- data/src/external/Z/API/Z/classes/buffering/TripleBuffer.hpp +68 -0
- data/src/external/Z/API/Z/classes/functional/Functor.hpp +265 -0
- data/src/external/Z/API/Z/classes/functional/MemberFunction.hpp +98 -0
- data/src/external/Z/API/Z/classes/functional/ObjectMemberFunction.hpp +172 -0
- data/src/external/Z/API/Z/classes/functional/ObjectSelector.hpp +219 -0
- data/src/external/Z/API/Z/classes/functional/Selector.hpp +146 -0
- data/src/external/Z/API/Z/classes/mathematics/geometry/euclidean/AABB.hpp +81 -0
- data/src/external/Z/API/Z/classes/mathematics/geometry/euclidean/AABR.hpp +685 -0
- data/src/external/Z/API/Z/classes/mathematics/geometry/euclidean/Box.hpp +219 -0
- data/src/external/Z/API/Z/classes/mathematics/geometry/euclidean/Circle.hpp +80 -0
- data/src/external/Z/API/Z/classes/mathematics/geometry/euclidean/Line2D.hpp +93 -0
- data/src/external/Z/API/Z/classes/mathematics/geometry/euclidean/Line3D.hpp +80 -0
- data/src/external/Z/API/Z/classes/mathematics/geometry/euclidean/Rectangle.hpp +675 -0
- data/src/external/Z/API/Z/classes/mathematics/geometry/euclidean/Sphere.hpp +0 -0
- data/src/external/Z/API/Z/classes/memory/Shared.hpp +90 -0
- data/src/external/Z/API/Z/constants/base.h +35 -0
- data/src/external/Z/API/Z/constants/chemical elements.h +6385 -0
- data/src/external/Z/API/Z/constants/numbers.h +963 -0
- data/src/external/Z/API/Z/constants/version.h +15 -0
- data/src/external/Z/API/Z/formats/character set/ASCII.h +158 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP437.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP737.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP775.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP850.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP852.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP855.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP857.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP858.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP860.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP861.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP862.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP863.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP864.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP865.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP866.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP869.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP872.h +159 -0
- data/src/external/Z/API/Z/formats/character set/DOS CP874.h +159 -0
- data/src/external/Z/API/Z/formats/character set/Unicode.h +30119 -0
- data/src/external/Z/API/Z/formats/data model/I16LP32.h +19 -0
- data/src/external/Z/API/Z/formats/data model/ILP32.h +19 -0
- data/src/external/Z/API/Z/formats/data model/ILP64.h +19 -0
- data/src/external/Z/API/Z/formats/data model/IP16L32.h +19 -0
- data/src/external/Z/API/Z/formats/data model/LLP64.h +19 -0
- data/src/external/Z/API/Z/formats/data model/LP32.h +19 -0
- data/src/external/Z/API/Z/formats/data model/LP64.h +19 -0
- data/src/external/Z/API/Z/formats/data model/SILP64.h +19 -0
- data/src/external/Z/API/Z/formats/file system/FAT12.h +61 -0
- data/src/external/Z/API/Z/formats/floating-point/IEEE 754.h +141 -0
- data/src/external/Z/API/Z/formats/floating-point/x87.h +74 -0
- data/src/external/Z/API/Z/formats/image/ICNS.h +39 -0
- data/src/external/Z/API/Z/formats/keymap/Mac OS.h +284 -0
- data/src/external/Z/API/Z/formats/keymap/Z.h +141 -0
- data/src/external/Z/API/Z/formats/multimedia/Creative Voice.h +106 -0
- data/src/external/Z/API/Z/formats/multimedia/Microsoft Wave.h +49 -0
- data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/ACH.h +44 -0
- data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/FRZ.h +54 -0
- data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/PRG.h +33 -0
- data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/SEM.h +46 -0
- data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/SIT.h +34 -0
- data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/SNA.h +117 -0
- data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/SNP.h +37 -0
- data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/SP.h +62 -0
- data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/Z80.h +117 -0
- data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/ZX.h +56 -0
- data/src/external/Z/API/Z/formats/snapshot/machine/computer/ZX Spectrum/ZX82.h +70 -0
- data/src/external/Z/API/Z/formats/storage medium image/NES Game Pak/UNIF.h +26 -0
- data/src/external/Z/API/Z/formats/storage medium image/NES Game Pak/iNES.h +76 -0
- data/src/external/Z/API/Z/formats/storage medium image/audio/TAP.h +25 -0
- data/src/external/Z/API/Z/formats/storage medium image/audio/TZX.h +1185 -0
- data/src/external/Z/API/Z/formats/storage medium image/audio/Warajevo TAP.h +32 -0
- data/src/external/Z/API/Z/formats/storage medium image/floppy disk/FDI.h +45 -0
- data/src/external/Z/API/Z/functions/base/Z2D.h +583 -0
- data/src/external/Z/API/Z/functions/base/Z3D.h +712 -0
- data/src/external/Z/API/Z/functions/base/ZRange.h +137 -0
- data/src/external/Z/API/Z/functions/base/all.h +16 -0
- data/src/external/Z/API/Z/functions/base/casting.hpp +37 -0
- data/src/external/Z/API/Z/functions/base/character.h +38 -0
- data/src/external/Z/API/Z/functions/base/constructors.h +326 -0
- data/src/external/Z/API/Z/functions/base/structure.hpp +26 -0
- data/src/external/Z/API/Z/functions/base/type.hpp +60 -0
- data/src/external/Z/API/Z/functions/base/value.h +1901 -0
- data/src/external/Z/API/Z/functions/base/value.hpp +112 -0
- data/src/external/Z/API/Z/functions/buffering/ZRingBuffer.h +85 -0
- data/src/external/Z/API/Z/functions/buffering/ZTripleBuffer.h +65 -0
- data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/Z2DLine.h +179 -0
- data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/Z3DLine.h +168 -0
- data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/ZAABB.h +361 -0
- data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/ZAABR.h +1081 -0
- data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/ZBox.h +340 -0
- data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/ZCircle.h +142 -0
- data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/ZRectangle.h +1267 -0
- data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/ZSphere.h +156 -0
- data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/all.h +18 -0
- data/src/external/Z/API/Z/functions/mathematics/geometry/euclidean/constructors.h +620 -0
- data/src/external/Z/API/Z/functions/time/date.h +29 -0
- data/src/external/Z/API/Z/hardware/CPU/architecture/6502.h +90 -0
- data/src/external/Z/API/Z/hardware/CPU/architecture/Z80.h +245 -0
- data/src/external/Z/API/Z/hardware/CPU/architecture/i4004.h +37 -0
- data/src/external/Z/API/Z/hardware/PSG/General Instrument/AY-3-891x.h +180 -0
- data/src/external/Z/API/Z/hardware/VDC/Ricoh/RP2C0x.h +625 -0
- data/src/external/Z/API/Z/hardware/bus/AGP.h +24 -0
- data/src/external/Z/API/Z/hardware/bus/USB.h +510 -0
- data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/Inves Spectrum +.h +47 -0
- data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/Pentagon.h +13 -0
- data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/Scorpion.h +13 -0
- data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/ZX Spectrum + 128K.h +158 -0
- data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/ZX Spectrum +.h +82 -0
- data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/ZX Spectrum +2.h +13 -0
- data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/ZX Spectrum +2A.h +13 -0
- data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/ZX Spectrum +3.h +13 -0
- data/src/external/Z/API/Z/hardware/machine/model/computer/ZX Spectrum/ZX Spectrum.h +109 -0
- data/src/external/Z/API/Z/hardware/machine/model/console/Nintendo Entertainment System/NES-001 (NTSC).h +29 -0
- data/src/external/Z/API/Z/hardware/machine/model/console/Nintendo Entertainment System/NES-001 (PAL).h +29 -0
- data/src/external/Z/API/Z/hardware/machine/platform/computer/ZX Spectrum.h +405 -0
- data/src/external/Z/API/Z/hardware/machine/platform/console/Game Boy.h +49 -0
- data/src/external/Z/API/Z/hardware/machine/platform/console/Nintendo Entertainment System.h +350 -0
- data/src/external/Z/API/Z/hardware/storage medium/ROM cartridge/SNES Game Pak.h +238 -0
- data/src/external/Z/API/Z/inspection/C/completion.h +178 -0
- data/src/external/Z/API/Z/inspection/C/modules/C11.h +41 -0
- data/src/external/Z/API/Z/inspection/C/modules/C18.h +13 -0
- data/src/external/Z/API/Z/inspection/C/modules/C89.h +19 -0
- data/src/external/Z/API/Z/inspection/C/modules/C90.h +13 -0
- data/src/external/Z/API/Z/inspection/C/modules/C94.h +15 -0
- data/src/external/Z/API/Z/inspection/C/modules/C99.h +29 -0
- data/src/external/Z/API/Z/inspection/C/modules/KR C.h +19 -0
- data/src/external/Z/API/Z/inspection/C++/completion.h +512 -0
- data/src/external/Z/API/Z/inspection/C++/modules/C++03.h +15 -0
- data/src/external/Z/API/Z/inspection/C++/modules/C++11.h +80 -0
- data/src/external/Z/API/Z/inspection/C++/modules/C++14.h +26 -0
- data/src/external/Z/API/Z/inspection/C++/modules/C++17.h +55 -0
- data/src/external/Z/API/Z/inspection/C++/modules/C++85.h +11 -0
- data/src/external/Z/API/Z/inspection/C++/modules/C++89.h +13 -0
- data/src/external/Z/API/Z/inspection/C++/modules/C++98.h +17 -0
- data/src/external/Z/API/Z/inspection/C++.h +78 -0
- data/src/external/Z/API/Z/inspection/C.h +79 -0
- data/src/external/Z/API/Z/inspection/CPU/completion.h +56 -0
- data/src/external/Z/API/Z/inspection/CPU/detection.h +714 -0
- data/src/external/Z/API/Z/inspection/CPU/modules/6502.h +25 -0
- data/src/external/Z/API/Z/inspection/CPU/modules/AArch32.h +32 -0
- data/src/external/Z/API/Z/inspection/CPU/modules/AArch64.h +32 -0
- data/src/external/Z/API/Z/inspection/CPU/modules/Z80.h +26 -0
- data/src/external/Z/API/Z/inspection/CPU/modules/x86-32.h +31 -0
- data/src/external/Z/API/Z/inspection/CPU/modules/x86-64.h +312 -0
- data/src/external/Z/API/Z/inspection/CPU.h +209 -0
- data/src/external/Z/API/Z/inspection/OS/completion.h +36 -0
- data/src/external/Z/API/Z/inspection/OS/detection.h +768 -0
- data/src/external/Z/API/Z/inspection/OS/modules/Linux.h +22 -0
- data/src/external/Z/API/Z/inspection/OS/modules/MS-DOS.h +16 -0
- data/src/external/Z/API/Z/inspection/OS/modules/Mac OS X.h +23 -0
- data/src/external/Z/API/Z/inspection/OS/modules/Windows.h +19 -0
- data/src/external/Z/API/Z/inspection/OS/modules/iPhone OS.h +23 -0
- data/src/external/Z/API/Z/inspection/OS.h +236 -0
- data/src/external/Z/API/Z/inspection/Objective-C/completion.h +8 -0
- data/src/external/Z/API/Z/inspection/Objective-C/modules/Objective-C v1.0.h +11 -0
- data/src/external/Z/API/Z/inspection/Objective-C/modules/Objective-C v2.0.h +15 -0
- data/src/external/Z/API/Z/inspection/Objective-C.h +51 -0
- data/src/external/Z/API/Z/inspection/Z.h +19 -0
- data/src/external/Z/API/Z/inspection/build.h +22 -0
- data/src/external/Z/API/Z/inspection/character set.h +66 -0
- data/src/external/Z/API/Z/inspection/compiler/completion.h +2885 -0
- data/src/external/Z/API/Z/inspection/compiler/modules/Apple LLVM.h +26 -0
- data/src/external/Z/API/Z/inspection/compiler/modules/Clang.h +1664 -0
- data/src/external/Z/API/Z/inspection/compiler/modules/GCC.h +1366 -0
- data/src/external/Z/API/Z/inspection/compiler/modules/SCCZ80.h +473 -0
- data/src/external/Z/API/Z/inspection/compiler/modules/Visual C++.h +606 -0
- data/src/external/Z/API/Z/inspection/compiler/modules/cc65.h +529 -0
- data/src/external/Z/API/Z/inspection/compiler/modules/generic.h +13 -0
- data/src/external/Z/API/Z/inspection/compiler/modules/template.h +650 -0
- data/src/external/Z/API/Z/inspection/compiler.h +299 -0
- data/src/external/Z/API/Z/inspection/data model/completion.h +128 -0
- data/src/external/Z/API/Z/inspection/data model/deduction.h +9 -0
- data/src/external/Z/API/Z/inspection/data model/detection.h +45 -0
- data/src/external/Z/API/Z/inspection/data model.h +362 -0
- data/src/external/Z/API/Z/inspection/floating-point/completion.h +50 -0
- data/src/external/Z/API/Z/inspection/floating-point.h +324 -0
- data/src/external/Z/API/Z/inspection/language.h +163 -0
- data/src/external/Z/API/Z/inspection/platform/detection.h +9 -0
- data/src/external/Z/API/Z/inspection/platform.h +29 -0
- data/src/external/Z/API/Z/keys/C++.h +27 -0
- data/src/external/Z/API/Z/keys/C.h +29 -0
- data/src/external/Z/API/Z/keys/CPU.h +80 -0
- data/src/external/Z/API/Z/keys/OS.h +182 -0
- data/src/external/Z/API/Z/keys/Objective-C.h +17 -0
- data/src/external/Z/API/Z/keys/chemistry.h +26 -0
- data/src/external/Z/API/Z/keys/compiler.h +178 -0
- data/src/external/Z/API/Z/keys/data model.h +32 -0
- data/src/external/Z/API/Z/keys/endianness.h +24 -0
- data/src/external/Z/API/Z/keys/language.h +21 -0
- data/src/external/Z/API/Z/keys/layout.h +20 -0
- data/src/external/Z/API/Z/keys/mathematics/geometry.h +29 -0
- data/src/external/Z/API/Z/keys/mathematics/number.h +21 -0
- data/src/external/Z/API/Z/keys/order.h +18 -0
- data/src/external/Z/API/Z/keys/platform.h +87 -0
- data/src/external/Z/API/Z/keys/program.h +39 -0
- data/src/external/Z/API/Z/keys/science/chemical elements.h +200 -0
- data/src/external/Z/API/Z/keys/science/electricity.h +18 -0
- data/src/external/Z/API/Z/keys/science/magnetism.h +19 -0
- data/src/external/Z/API/Z/keys/status.h +69 -0
- data/src/external/Z/API/Z/keys/text.h +27 -0
- data/src/external/Z/API/Z/keys/value.h +88 -0
- data/src/external/Z/API/Z/macros/arguments.h +25 -0
- data/src/external/Z/API/Z/macros/casting.h +22 -0
- data/src/external/Z/API/Z/macros/character.h +159 -0
- data/src/external/Z/API/Z/macros/date.h +14 -0
- data/src/external/Z/API/Z/macros/key.h +20 -0
- data/src/external/Z/API/Z/macros/language.h +126 -0
- data/src/external/Z/API/Z/macros/language.hpp +81 -0
- data/src/external/Z/API/Z/macros/members.h +86 -0
- data/src/external/Z/API/Z/macros/pasting.h +308 -0
- data/src/external/Z/API/Z/macros/pointer.h +33 -0
- data/src/external/Z/API/Z/macros/repetition.h +283 -0
- data/src/external/Z/API/Z/macros/structure.h +104 -0
- data/src/external/Z/API/Z/macros/templating.h +407 -0
- data/src/external/Z/API/Z/macros/tokens.h +14 -0
- data/src/external/Z/API/Z/macros/type enumeration.h +43 -0
- data/src/external/Z/API/Z/macros/type selection.hpp +76 -0
- data/src/external/Z/API/Z/macros/value.h +489 -0
- data/src/external/Z/API/Z/macros/variadic pasting.h +21 -0
- data/src/external/Z/API/Z/macros/variadic selection.h +56 -0
- data/src/external/Z/API/Z/macros/variadic.h +46 -0
- data/src/external/Z/API/Z/macros/version.h +17 -0
- data/src/external/Z/API/Z/network/3/IP.h +36 -0
- data/src/external/Z/API/Z/network/4/TCP.h +24 -0
- data/src/external/Z/API/Z/network/4/UDP.h +26 -0
- data/src/external/Z/API/Z/network/7/ED2K.h +104 -0
- data/src/external/Z/API/Z/network/7/HTTP.h +100 -0
- data/src/external/Z/API/Z/traits/SelectType.hpp +71 -0
- data/src/external/Z/API/Z/traits/TernaryType.hpp +20 -0
- data/src/external/Z/API/Z/traits/Type.hpp +4516 -0
- data/src/external/Z/API/Z/traits/TypeCount.hpp +52 -0
- data/src/external/Z/API/Z/traits/TypeList.hpp +376 -0
- data/src/external/Z/API/Z/traits/base.hpp +19 -0
- data/src/external/Z/API/Z/traits/filtering.hpp +30 -0
- data/src/external/Z/API/Z/traits/mathematics.hpp +48 -0
- data/src/external/Z/API/Z/types/arguments.h +19 -0
- data/src/external/Z/API/Z/types/base.h +1655 -0
- data/src/external/Z/API/Z/types/base.hpp +169 -0
- data/src/external/Z/API/Z/types/buffering.h +27 -0
- data/src/external/Z/API/Z/types/mathematics.h +135 -0
- data/src/external/Z/API/Z/types/time.h +23 -0
- data/src/external/Z/COPYING.LESSER +165 -0
- data/src/external/Z/development/Qt Creator/Z.pro +253 -0
- data/src/external/Z/distribution/CocoaPods/Zeta.podspec +18 -0
- data/src/external/Z/distribution/Gentoo Linux/Zeta-0.1.ebuild +22 -0
- data/src/external/Z/distribution/Gentoo Linux/metadata.xml +8 -0
- data/src/external/Z/distribution/Homebrew/Zeta.rb +11 -0
- data/src/external/z80/API/emulation/CPU/Z80.h +201 -0
- data/src/external/z80/README.md +229 -0
- data/src/external/z80/building/premake4.lua +33 -0
- data/src/external/z80/development/Xcode/Z80.xcodeproj/project.pbxproj +520 -0
- data/src/external/z80/sources/Z80.c +1660 -0
- data/src/interrupt.c +6 -0
- data/src/interrupt.h +3 -0
- data/src/io.c.erb +115 -0
- data/src/io.h.erb +18 -0
- data/src/main.c +69 -0
- data/src/memory.c.erb +43 -0
- data/src/memory.h.erb +9 -0
- metadata +329 -0
@@ -0,0 +1,33 @@
|
|
1
|
+
/* Z Kit - formats/snapshot/machine/computer/ZX Spectrum/PRG.h
|
2
|
+
_____ _______________
|
3
|
+
/_ /_/ -_/_ _/ _ |
|
4
|
+
/____/\___/ /__//___/_| Kit
|
5
|
+
Copyright (C) Kevin Phair.
|
6
|
+
Copyright (C) 2006-2018 Manuel Sainz de Baranda y Goñi.
|
7
|
+
Released under the terms of the GNU Lesser General Public License v3.
|
8
|
+
|
9
|
+
.-------------------------------------.
|
10
|
+
| Extensions: prg |
|
11
|
+
| Endianness: Little |
|
12
|
+
| Created by: Phair, Kevin |
|
13
|
+
| Used by: Spectrum Emulator [DOS] |
|
14
|
+
| |
|
15
|
+
| http://code.google.com/p/specem |
|
16
|
+
'------------------------------------*/
|
17
|
+
|
18
|
+
#ifndef _Z_formats_snapshot_machine_computer_ZX_Spectrum_PRG_H_
|
19
|
+
#define _Z_formats_snapshot_machine_computer_ZX_Spectrum_PRG_H_
|
20
|
+
|
21
|
+
#include <Z/types/base.h>
|
22
|
+
|
23
|
+
Z_DEFINE_STRICT_STRUCTURE (
|
24
|
+
zuint8 file_type; /* Always 05h */
|
25
|
+
zuint8 program_name[10]; /* 20h, name[], 20h */
|
26
|
+
zuint16 file_sector_count; /* BIG ENDIAN */
|
27
|
+
zuint8 file_first_sector_track_index;
|
28
|
+
zuint8 file_first_sector_sector_index;
|
29
|
+
zuint8 sector_allocation_bitmap[195];
|
30
|
+
/* ..... TO DO */
|
31
|
+
) ZPRG;
|
32
|
+
|
33
|
+
#endif /* _Z_formats_snapshot_machine_computer_ZX_Spectrum_PRG_H_ */
|
@@ -0,0 +1,46 @@
|
|
1
|
+
/* Z Kit - formats/snapshot/machine/computer/ZX Spectrum/SEM.h
|
2
|
+
_____ _______________
|
3
|
+
/_ /_/ -_/_ _/ _ |
|
4
|
+
/____/\___/ /__//___/_| Kit
|
5
|
+
Copyright (C) 2006-2018 Manuel Sainz de Baranda y Goñi.
|
6
|
+
Released under the terms of the GNU Lesser General Public License v3.
|
7
|
+
|
8
|
+
.-----------------------------------------------------.
|
9
|
+
| Extensions: sem |
|
10
|
+
| Endianness: Little |
|
11
|
+
| Created by: Waschke, Bernd |
|
12
|
+
| Used by: ZX Spectrum-Emulator (SpecEmu) [MS-DOS] |
|
13
|
+
'----------------------------------------------------*/
|
14
|
+
|
15
|
+
#ifndef _Z_formats_snapshot_machine_computer_ZX_Spectrum_SEM_H_
|
16
|
+
#define _Z_formats_snapshot_machine_computer_ZX_Spectrum_SEM_H_
|
17
|
+
|
18
|
+
#include <Z/types/base.h>
|
19
|
+
|
20
|
+
Z_DEFINE_STRICT_STRUCTURE_BEGIN
|
21
|
+
zuint8 signature_size; /* 5 */
|
22
|
+
zuint8 signature[5]; /* 'SPEC1' */
|
23
|
+
zuint8 ram[1024 * 48];
|
24
|
+
Z16Bit af, bc, de, hl;
|
25
|
+
Z16Bit af_, bc_, de_, hl_;
|
26
|
+
zuint16 pc, sp;
|
27
|
+
Z16Bit ix, iy;
|
28
|
+
zuint8 i, zero_0;
|
29
|
+
zuint8 r, zero_1;
|
30
|
+
zuint8 iff1, zero_2;
|
31
|
+
zuint8 iff2, zero_3;
|
32
|
+
zuint8 im, zero_4;
|
33
|
+
Z_DEFINE_STRICT_STRUCTURE_END ZSEMSnapshot;
|
34
|
+
|
35
|
+
Z_DEFINE_STRICT_STRUCTURE (
|
36
|
+
zuint16 address;
|
37
|
+
zuint8 value;
|
38
|
+
) ZSEMPoke;
|
39
|
+
|
40
|
+
Z_DEFINE_STRICT_STRUCTURE (
|
41
|
+
ZSEMSnapshot snapshot;
|
42
|
+
ZSEMPoke poke; /* Optional */
|
43
|
+
zuint16 speed_factor; /* Optional (only if poke included) */
|
44
|
+
) ZSEM;
|
45
|
+
|
46
|
+
#endif /* _Z_formats_snapshot_machine_computer_ZX_Spectrum_SEM_H_ */
|
@@ -0,0 +1,34 @@
|
|
1
|
+
/* Z Kit - formats/snapshot/machine/computer/ZX Spectrum/SIT.h
|
2
|
+
_____ _______________
|
3
|
+
/_ /_/ -_/_ _/ _ |
|
4
|
+
/____/\___/ /__//___/_| Kit
|
5
|
+
Copyright (C) 2006-2018 Manuel Sainz de Baranda y Goñi.
|
6
|
+
Released under the terms of the GNU Lesser General Public License v3.
|
7
|
+
|
8
|
+
.-------------------------------------------.
|
9
|
+
| Extensions: sit |
|
10
|
+
| Endianness: Little |
|
11
|
+
| Created by: Rodríguez Salas, Pedro Manuel |
|
12
|
+
| Used by: SINCLAIR [DOS] |
|
13
|
+
| |
|
14
|
+
| http://www.ugr.es/~pedrom/sinclair.htm |
|
15
|
+
'------------------------------------------*/
|
16
|
+
|
17
|
+
#ifndef _Z_formats_snapshot_machine_computer_ZX_Spectrum_SIT_H_
|
18
|
+
#define _Z_formats_snapshot_machine_computer_ZX_Spectrum_SIT_H_
|
19
|
+
|
20
|
+
#include <Z/types/base.h>
|
21
|
+
|
22
|
+
Z_DEFINE_STRICT_STRUCTURE_BEGIN
|
23
|
+
Z16Bit bc, de, hl, af, ix, iy;
|
24
|
+
zuint16 sp, pc;
|
25
|
+
zuint8 r, i;
|
26
|
+
Z16Bit bc_, de_, hl_, af_;
|
27
|
+
zuint8 im;
|
28
|
+
zuint8 border_color;
|
29
|
+
|
30
|
+
/* complete ROM+RAM memory of a standard ZX Spectrum 48K */
|
31
|
+
zuint8 memory[1024 * 64];
|
32
|
+
Z_DEFINE_STRICT_STRUCTURE_END ZSIT;
|
33
|
+
|
34
|
+
#endif /* _Z_formats_snapshot_machine_computer_ZX_Spectrum_SIT_H_ */
|
@@ -0,0 +1,117 @@
|
|
1
|
+
/* Z Kit - formats/snapshot/machine/computer/ZX Spectrum/SNA.h
|
2
|
+
_____ _______________
|
3
|
+
/_ /_/ -_/_ _/ _ |
|
4
|
+
/____/\___/ /__//___/_| Kit
|
5
|
+
Copyright (C) 2006-2018 Manuel Sainz de Baranda y Goñi.
|
6
|
+
Released under the terms of the GNU Lesser General Public License v3.
|
7
|
+
|
8
|
+
.---------------------------------------------.
|
9
|
+
| Extensions: sna, snap, snapshot |
|
10
|
+
| Endianness: Little |
|
11
|
+
| Created by: McGavin, Peter |
|
12
|
+
| Used by: Any decent ZX Spectrum emulator |
|
13
|
+
'--------------------------------------------*/
|
14
|
+
|
15
|
+
#ifndef _Z_formats_snapshot_machine_computer_ZX_Spectrum_SNA_H_
|
16
|
+
#define _Z_formats_snapshot_machine_computer_ZX_Spectrum_SNA_H_
|
17
|
+
|
18
|
+
#include <Z/types/base.h>
|
19
|
+
|
20
|
+
/* MARK: - v48K
|
21
|
+
.-------------------------------------------------------------------------.
|
22
|
+
| From SinclairFAQ: |
|
23
|
+
| |
|
24
|
+
| " This format is one of the most well-supported of all snapshot |
|
25
|
+
| formats (for the ZX Spectrum), but has a drawback: |
|
26
|
+
| |
|
27
|
+
| As the program counter is pushed onto the stack so that a RETN |
|
28
|
+
| instruction can restart the program, 2 bytes of memory are overwritten. |
|
29
|
+
| This will usually not matter; the game (or whatever) will have stack |
|
30
|
+
| space that can be used for this. However, if this space is all in use |
|
31
|
+
| when the snap is made, memory below the stack space will be corrupted. |
|
32
|
+
| According to Rui Ribeiro (Author of WSpecEm), the effects of this can |
|
33
|
+
| sometimes be avoided by replacing the corrupted bytes with zeros; e.g. |
|
34
|
+
| take the PC from the stack pointer, replace that word with 0000 and |
|
35
|
+
| then increment SP. This worked with snapshots of Batman, Bounder and |
|
36
|
+
| others which had been saved at critical points. Theoretically, this |
|
37
|
+
| problem could cause a complete crash on a real Spectrum if the stack |
|
38
|
+
| pointer happened to be at address 16384; the push would try and write |
|
39
|
+
| to the ROM. |
|
40
|
+
| |
|
41
|
+
| When the registers have been loaded, a RETN command is required to |
|
42
|
+
| start the program. IFF2 is short for interrupt flip-flop 2, and for all |
|
43
|
+
| practical purposes is the interrupt-enabled flag. Set means enabled. " |
|
44
|
+
'------------------------------------------------------------------------*/
|
45
|
+
|
46
|
+
#define Z_SNA_V48K_PC_VALUE 0x72
|
47
|
+
|
48
|
+
Z_DEFINE_STRICT_STRUCTURE_BEGIN
|
49
|
+
zuint8 i;
|
50
|
+
Z16Bit hl_, de_, bc_, af_;
|
51
|
+
Z16Bit hl, de, bc, iy, ix;
|
52
|
+
|
53
|
+
struct {Z_BIT_FIELD(8, 3) (
|
54
|
+
zuint8 unused_0 :5,
|
55
|
+
zuint8 iff2 :1,
|
56
|
+
zuint8 unused_1 :2
|
57
|
+
)} interrupt;
|
58
|
+
|
59
|
+
zuint8 r;
|
60
|
+
Z16Bit af;
|
61
|
+
zuint16 sp;
|
62
|
+
zuint8 im;
|
63
|
+
zuint8 border_color;
|
64
|
+
zuint8 ram[1024 * 48]; /* RAM dump [16384-65535] */
|
65
|
+
Z_DEFINE_STRICT_STRUCTURE_END ZSNAv48K;
|
66
|
+
|
67
|
+
#define Z_SNA_IM_0 0
|
68
|
+
#define Z_SNA_IM_1 1
|
69
|
+
#define Z_SNA_IM_2 2
|
70
|
+
|
71
|
+
/* MARK: - v128K
|
72
|
+
.-------------------------------------------------------------------------.
|
73
|
+
| From SinclairFAQ: |
|
74
|
+
| |
|
75
|
+
| " The 128K version of the SNA format is the same as above, with |
|
76
|
+
| extensions to include the extra memory banks of the 128K/+2 machines, |
|
77
|
+
| and fixes the problem with the PC being pushed onto the stack - now it |
|
78
|
+
| is located in an extra variable in the file (and is not pushed onto the |
|
79
|
+
| stack at all). The first 49179 bytes of the snapshot are otherwise |
|
80
|
+
| exactly as described above. |
|
81
|
+
| |
|
82
|
+
| The third RAM bank saved (ram_bank_n) is always the one currently |
|
83
|
+
| paged, even if this is page 5 or 2 - in this case, the bank is actually |
|
84
|
+
| included twice. The remaining RAM banks are saved in ascending order. |
|
85
|
+
| |
|
86
|
+
| Example: If RAM bank 4 is paged in, the snapshot is made up of banks |
|
87
|
+
| 5, 2 and 4 to start with, and banks 0, 1, 3, 6 and 7 afterwards. If RAM |
|
88
|
+
| bank 5 is paged in, the snapshot is made up of banks 5, 2 and 5 again, |
|
89
|
+
| followed by banks 0, 1, 3, 4, 6 and 7. " |
|
90
|
+
'------------------------------------------------------------------------*/
|
91
|
+
|
92
|
+
Z_DEFINE_STRICT_STRUCTURE_BEGIN
|
93
|
+
zuint8 i;
|
94
|
+
Z16Bit hl_, de_, bc_, af_;
|
95
|
+
Z16Bit hl, de, bc, iy, ix;
|
96
|
+
|
97
|
+
struct {Z_BIT_FIELD(8, 3) (
|
98
|
+
zuint8 unused_0 :5,
|
99
|
+
zuint8 iff2 :1,
|
100
|
+
zuint8 unused_1 :2
|
101
|
+
)} interrupt;
|
102
|
+
|
103
|
+
zuint8 r;
|
104
|
+
Z16Bit af;
|
105
|
+
zuint16 sp;
|
106
|
+
zuint8 im;
|
107
|
+
zuint8 border_color;
|
108
|
+
zuint8 ram_bank_5[1024 * 16];
|
109
|
+
zuint8 ram_bank_2[1024 * 16];
|
110
|
+
zuint8 ram_bank_n[1024 * 16];
|
111
|
+
zuint16 pc;
|
112
|
+
zuint8 port_7ffd_value;
|
113
|
+
zuint8 tr_dos_rom_paged; /* boolean */
|
114
|
+
zuint8 remaining_ram_banks[1024 * 16 * 6];
|
115
|
+
Z_DEFINE_STRICT_STRUCTURE_END ZSNAv128K;
|
116
|
+
|
117
|
+
#endif /* _Z_formats_snapshot_machine_computer_ZX_Spectrum_SNA_H_ */
|
@@ -0,0 +1,37 @@
|
|
1
|
+
/* Z Kit - formats/snapshot/machine/computer/ZX Spectrum/SNP.h
|
2
|
+
_____ _______________
|
3
|
+
/_ /_/ -_/_ _/ _ |
|
4
|
+
/____/\___/ /__//___/_| Kit
|
5
|
+
Copyright (C) 2006-2018 Manuel Sainz de Baranda y Goñi.
|
6
|
+
Released under the terms of the GNU Lesser General Public License v3.
|
7
|
+
|
8
|
+
.--------------------------------------------------.
|
9
|
+
| Extensions: snp |
|
10
|
+
| Endianness: Little |
|
11
|
+
| Created by: Garabik, Radovan - Salanci, Lubomir |
|
12
|
+
| Used by: Nuclear ZX [DOS] |
|
13
|
+
| |
|
14
|
+
| http://korpus.juls.savba.sk/~garabik/old/zx.html |
|
15
|
+
'-------------------------------------------------*/
|
16
|
+
|
17
|
+
#ifndef _Z_formats_snapshot_machine_computer_ZX_Spectrum_SNP_H_
|
18
|
+
#define _Z_formats_snapshot_machine_computer_ZX_Spectrum_SNP_H_
|
19
|
+
|
20
|
+
#include <Z/types/base.h>
|
21
|
+
|
22
|
+
Z_DEFINE_STRICT_STRUCTURE_BEGIN
|
23
|
+
zuint8 ram[1024 * 48];
|
24
|
+
Z16Bit af;
|
25
|
+
zuint8 border_color;
|
26
|
+
zuint8 reserved;
|
27
|
+
Z16Bit bc, de, hl;
|
28
|
+
zuint16 pc, sp;
|
29
|
+
Z16Bit ix, iy;
|
30
|
+
zuint8 iff2; /* not used actually */
|
31
|
+
zuint8 iff1;
|
32
|
+
zuint8 im;
|
33
|
+
zuint8 r, i;
|
34
|
+
Z16Bit af_, bc_, de_, hl_;
|
35
|
+
Z_DEFINE_STRICT_STRUCTURE_END ZSNP;
|
36
|
+
|
37
|
+
#endif /* _Z_formats_snapshot_machine_computer_ZX_Spectrum_SNP_H_ */
|
@@ -0,0 +1,62 @@
|
|
1
|
+
/* Z Kit - formats/snapshot/machine/computer/ZX Spectrum/SP.h
|
2
|
+
_____ _______________
|
3
|
+
/_ /_/ -_/_ _/ _ |
|
4
|
+
/____/\___/ /__//___/_| Kit
|
5
|
+
Copyright (C) 2006-2018 Manuel Sainz de Baranda y Goñi.
|
6
|
+
Released under the terms of the GNU Lesser General Public License v3.
|
7
|
+
|
8
|
+
.----------------------------------------------------------------------------.
|
9
|
+
| Extensions: sp |
|
10
|
+
| Endianness: Little |
|
11
|
+
| Created by: Gimeno Fortea, Pedro |
|
12
|
+
| Used by: VGASpec, Spectrum [DOS] |
|
13
|
+
| |
|
14
|
+
| http://www.formauri.es/personal/pgimeno/spec/spec.html |
|
15
|
+
| |
|
16
|
+
| From the sources of MESS: |
|
17
|
+
| |
|
18
|
+
| " There are two kinds of .sp files: 'old' and 'new'. |
|
19
|
+
| The old version is always 49184 bytes long and is created by a leaked copy |
|
20
|
+
| of the VGASpec emulator. |
|
21
|
+
| Subsequently Pedro Gimeno (the author of VGASpec) renamed it to 'Spectrum' |
|
22
|
+
| (but it's colloquially known as the 'Spanish Spectrum emulator') and added |
|
23
|
+
| a header in the snapshot to break backward compatibility: the new format |
|
24
|
+
| supports both 16K and 48K images and it's 16422 or 49190 bytes long. " |
|
25
|
+
'---------------------------------------------------------------------------*/
|
26
|
+
|
27
|
+
#ifndef _Z_formats_snapshot_machine_computer_ZX_Spectrum_SP_H_
|
28
|
+
#define _Z_formats_snapshot_machine_computer_ZX_Spectrum_SP_H_
|
29
|
+
|
30
|
+
#include <Z/types/base.h>
|
31
|
+
|
32
|
+
Z_DEFINE_STRICT_STRUCTURE (
|
33
|
+
zuint8 signature[2]; /* 'SP' */
|
34
|
+
zuint16 ram_size; /* 1024 * 16 or 1024 * 48 */
|
35
|
+
zuint16 ram_load_address; /* 1024 * 16 */
|
36
|
+
) ZSPHeader;
|
37
|
+
|
38
|
+
Z_DEFINE_STRICT_STRUCTURE_BEGIN
|
39
|
+
Z16Bit bc, de, hl, af, ix, iy;
|
40
|
+
Z16Bit bc_, de_, hl_, af_;
|
41
|
+
zuint8 r, i;
|
42
|
+
zuint16 sp, pc;
|
43
|
+
zuint16 zero1; /* reserved for future use */
|
44
|
+
zuint8 border_color;
|
45
|
+
zuint8 zero2; /* reserved for future use */
|
46
|
+
|
47
|
+
struct {Z_BIT_FIELD(8, 7) (
|
48
|
+
zuint8 zero :2, /* reserved for internal use */
|
49
|
+
zuint8 flash :1, /* boolean */
|
50
|
+
zuint8 int_pending :1,
|
51
|
+
zuint8 im_0 :1,
|
52
|
+
zuint8 iff2 :1,
|
53
|
+
zuint8 im :1,
|
54
|
+
zuint8 iff1 :1
|
55
|
+
)} status;
|
56
|
+
|
57
|
+
Z_FLEXIBLE_ARRAY_MEMBER(zuint8 ram[];)
|
58
|
+
Z_DEFINE_STRICT_STRUCTURE_END ZSPBody;
|
59
|
+
|
60
|
+
#define Z_SP_BODY_IM(p) (Z_SP_BODY(p)->im_0 ? 0 : ((p)->im ? 2 : 1))
|
61
|
+
|
62
|
+
#endif /* _Z_formats_snapshot_machine_computer_ZX_Spectrum_SP_H_ */
|
@@ -0,0 +1,117 @@
|
|
1
|
+
/* Z Kit - formats/snapshot/machine/computer/ZX Spectrum/Z80.h
|
2
|
+
_____ _______________
|
3
|
+
/_ /_/ -_/_ _/ _ |
|
4
|
+
/____/\___/ /__//___/_| Kit
|
5
|
+
Copyright (C) 2006-2018 Manuel Sainz de Baranda y Goñi.
|
6
|
+
Released under the terms of the GNU Lesser General Public License v3.
|
7
|
+
|
8
|
+
.---------------------------------------------.
|
9
|
+
| Extensions: z80 |
|
10
|
+
| Endianness: Little |
|
11
|
+
| Created by: Lunter, Gerton |
|
12
|
+
| Used by: Any decent ZX Spectrum emulator |
|
13
|
+
'--------------------------------------------*/
|
14
|
+
|
15
|
+
#ifndef _Z_formats_snapshot_machine_computer_ZX_Spectrum_Z80_H_
|
16
|
+
#define _Z_formats_snapshot_machine_computer_ZX_Spectrum_Z80_H_
|
17
|
+
|
18
|
+
#include <Z/types/base.h>
|
19
|
+
|
20
|
+
Z_DEFINE_STRICT_STRUCTURE_BEGIN
|
21
|
+
zuint8 a, f;
|
22
|
+
zuint16 bc, hl, pc, sp;
|
23
|
+
zuint8 i, r;
|
24
|
+
|
25
|
+
struct {Z_BIT_FIELD(8, 5) (
|
26
|
+
zuint8 r7 :1,
|
27
|
+
zuint8 border_color :3,
|
28
|
+
zuint8 basic_samrom :1,
|
29
|
+
zuint8 data_block_is_compressed :1,
|
30
|
+
zuint8 unused :2
|
31
|
+
)} bitfield1;
|
32
|
+
|
33
|
+
zuint16 de;
|
34
|
+
zuint16 bc_, de_, hl_;
|
35
|
+
zuint8 a_, f_;
|
36
|
+
zuint16 iy, ix;
|
37
|
+
zuint8 iff1, iff2;
|
38
|
+
|
39
|
+
struct {Z_BIT_FIELD(8, 5) (
|
40
|
+
zuint8 im :2,
|
41
|
+
zuint8 issue_2_emulation :1,
|
42
|
+
zuint8 int_frequency :1,
|
43
|
+
zuint8 video_synchronization :2,
|
44
|
+
zuint8 joystick_type :2
|
45
|
+
)} bitfield2;
|
46
|
+
Z_DEFINE_STRICT_STRUCTURE_END ZZ80v1Header;
|
47
|
+
|
48
|
+
Z_DEFINE_STRICT_STRUCTURE (
|
49
|
+
zuint16 pc;
|
50
|
+
zuint8 hardware;
|
51
|
+
zuint8 output_state;
|
52
|
+
zuint8 interface_1_paginated_or_timex_output_state;
|
53
|
+
|
54
|
+
struct {Z_BIT_FIELD(8, 4) (
|
55
|
+
zuint8 r_register_emulation :1,
|
56
|
+
zuint8 ldir_instruction_emulation :1,
|
57
|
+
zuint8 zero :5,
|
58
|
+
zuint8 hardware_modification :1
|
59
|
+
)} bitfield;
|
60
|
+
|
61
|
+
zuint8 last_output_to_fffd;
|
62
|
+
zuint8 sound_chip_registers;
|
63
|
+
) ZZ80v2AdditionalHeader;
|
64
|
+
|
65
|
+
#define Z_Z80_HARDWARE_SAM_RAM 2
|
66
|
+
#define Z_Z80_HARDWARE_PENTAGON_128K 9
|
67
|
+
#define Z_Z80_HARDWARE_SCORPION_256K 10
|
68
|
+
#define Z_Z80_HARDWARE_DIDAKTIK_KOMPAKT 11
|
69
|
+
#define Z_Z80_HARDWARE_ZX_SPECTRUM_PLUS_2 12
|
70
|
+
#define Z_Z80_HARDWARE_ZX_SPECTRUM_PLUS_2A 13
|
71
|
+
#define Z_Z80_HARDWARE_TIMEX_TC_2048 14
|
72
|
+
#define Z_Z80_HARDWARE_TIMEX_TC_2068 15
|
73
|
+
#define Z_Z80_HARDWARE_TIMEX_TS_2068 128
|
74
|
+
|
75
|
+
#define Z_Z80_HARDWARE_A_ZX_SPECTRUM_48K 0
|
76
|
+
#define Z_Z80_HARDWARE_A_ZX_SPECTRUM_48K_AND_IF1 1
|
77
|
+
#define Z_Z80_HARDWARE_A_ZX_SPECTRUM_128K_AND_IF1 5
|
78
|
+
#define Z_Z80_HARDWARE_A_ZX_SPECTRUM_128K_AND_MGT 6
|
79
|
+
#define Z_Z80_HARDWARE_A_ZX_SPECTRUM_PLUS_3 7
|
80
|
+
#define Z_Z80_HARDWARE_A_ZX_SPECTRUM_PLUS_3_ 8
|
81
|
+
|
82
|
+
#define Z_Z80_HARDWARE_B_ZX_SPECTRUM_16K 0
|
83
|
+
#define Z_Z80_HARDWARE_B_ZX_SPECTRUM_16K_AND_IF1 1
|
84
|
+
#define Z_Z80_HARDWARE_A_ZX_SPECTRUM_PLUS_2_AND_IF1 5
|
85
|
+
#define Z_Z80_HARDWARE_A_ZX_SPECTRUM_PLUS_2_AND_MGT 6
|
86
|
+
#define Z_Z80_HARDWARE_B_ZX_SPECTRUM_PLUS_2A 7
|
87
|
+
#define Z_Z80_HARDWARE_B_ZX_SPECTRUM_PLUS_2A_ 8
|
88
|
+
|
89
|
+
#define Z_Z80_V2_HARDWARE_A_ZX_SPECTRUM_128K 3
|
90
|
+
#define Z_Z80_V2_HARDWARE_A_ZX_SPECTRUM_128K_AND_IF1 4
|
91
|
+
|
92
|
+
#define Z_Z80_V2_HARDWARE_B_ZX_SPECTRUM_PLUS_2 3
|
93
|
+
#define Z_Z80_V2_HARDWARE_B_ZX_SPECTRUM_PLUS_2_AND_IF1 4
|
94
|
+
|
95
|
+
#define Z_Z80_V3_HARDWARE_A_ZX_SPECTRUM_48K_AND_MGT 3
|
96
|
+
#define Z_Z80_V3_HARDWARE_A_ZX_SPECTRUM_128K 4
|
97
|
+
|
98
|
+
#define Z_Z80_V3_HARDWARE_B_ZX_SPECTRUM_PLUS_2_AND_MGT 3
|
99
|
+
#define Z_Z80_V3_HARDWARE_B_ZX_SPECTRUM_PLUS_2 4
|
100
|
+
|
101
|
+
Z_DEFINE_STRICT_STRUCTURE (
|
102
|
+
zuint16 low_t_state_counter;
|
103
|
+
zuint8 high_t_state_counter;
|
104
|
+
zuint8 zero[3];
|
105
|
+
zuint8 mgt_rom_paged;
|
106
|
+
zuint8 multiface_rom_paged;
|
107
|
+
zuint8 memory_type_between_0000_and_1fff;
|
108
|
+
zuint8 memory_type_between_2000_and_3fff;
|
109
|
+
zuint16 keyboard_mappings[5];
|
110
|
+
zuint16 ascii_values[5];
|
111
|
+
zuint8 mgt_type;
|
112
|
+
zuint8 disciple_inhibitor_button_state;
|
113
|
+
zuint8 disciple_inhibitor_button_flag;
|
114
|
+
zuint8 last_output_to_1ffd;
|
115
|
+
) ZZ80v3ExtendedHeader;
|
116
|
+
|
117
|
+
#endif /* _Z_formats_snapshot_machine_computer_ZX_Spectrum_Z80_H_ */
|
@@ -0,0 +1,56 @@
|
|
1
|
+
/* Z Kit - formats/snapshot/machine/computer/ZX Spectrum/ZX.h
|
2
|
+
_____ _______________
|
3
|
+
/_ /_/ -_/_ _/ _ |
|
4
|
+
/____/\___/ /__//___/_| Kit
|
5
|
+
Information contributed by Troels Norgaard.
|
6
|
+
Copyright (C) 2006-2018 Manuel Sainz de Baranda y Goñi.
|
7
|
+
Released under the terms of the GNU Lesser General Public License v3.
|
8
|
+
|
9
|
+
.-----------------------------.
|
10
|
+
| Extensions: zx |
|
11
|
+
| Endianness: Big |
|
12
|
+
| Created by: KGB support BBS |
|
13
|
+
| Used by: KGB [Amiga] |
|
14
|
+
'----------------------------*/
|
15
|
+
|
16
|
+
#ifndef _Z_formats_snapshot_machine_computer_ZX_Spectrum_ZX_H_
|
17
|
+
#define _Z_formats_snapshot_machine_computer_ZX_Spectrum_ZX_H_
|
18
|
+
|
19
|
+
#include <Z/types/base.h>
|
20
|
+
|
21
|
+
Z_DEFINE_STRICT_STRUCTURE_BEGIN
|
22
|
+
zuint8 rom_tail[132]; /* Last 132 bytes of ROM */
|
23
|
+
zuint8 ram[1024 * 48];
|
24
|
+
zuint8 zero_0[132];
|
25
|
+
zuint16 settings[5]; /* KGB settings, usually = {10, 10, 4, 1, 1} */
|
26
|
+
zuint8 iff;
|
27
|
+
zuint8 constants[2]; /* {0, 3} */
|
28
|
+
zuint8 color_mode;
|
29
|
+
zuint32 zero_1;
|
30
|
+
Z16Bit bc, bc_, de, de_, hl, hl_, ix, iy;
|
31
|
+
zuint8 i, r;
|
32
|
+
zuint8 zero_2[3];
|
33
|
+
zuint8 a_, zero_3;
|
34
|
+
zuint8 a, zero_4;
|
35
|
+
zuint8 f_, zero_5;
|
36
|
+
zuint8 f;
|
37
|
+
zuint16 zero_6, pc;
|
38
|
+
zuint16 zero_7, sp;
|
39
|
+
zuint16 sound_mode;
|
40
|
+
zuint16 halt; /* boolean */
|
41
|
+
zsint16 im;
|
42
|
+
zuint8 zero_8[10];
|
43
|
+
Z_DEFINE_STRICT_STRUCTURE_END ZZX;
|
44
|
+
|
45
|
+
#define Z_ZX_COLOR_MODE_BW 0
|
46
|
+
#define Z_ZX_COLOR_MODE_COLOR 1
|
47
|
+
|
48
|
+
#define Z_ZX_SOUND_MODE_SIMPLE 0
|
49
|
+
#define Z_ZX_SOUND_MODE_PITCH 1
|
50
|
+
#define Z_ZX_SOUND_MODE_ROM_ONLY 2
|
51
|
+
|
52
|
+
#define Z_ZX_IM_0 -1
|
53
|
+
#define Z_ZX_IM_1 0
|
54
|
+
#define Z_ZX_IM_2 1
|
55
|
+
|
56
|
+
#endif /* _Z_formats_snapshot_machine_computer_ZX_Spectrum_ZX_H_ */
|
@@ -0,0 +1,70 @@
|
|
1
|
+
/* Z Kit - formats/snapshot/machine/computer/ZX Spectrum/ZX82.h
|
2
|
+
_____ _______________
|
3
|
+
/_ /_/ -_/_ _/ _ |
|
4
|
+
/____/\___/ /__//___/_| Kit
|
5
|
+
Copyright (C) 2006-2018 Manuel Sainz de Baranda y Goñi.
|
6
|
+
Released under the terms of the GNU Lesser General Public License v3.
|
7
|
+
|
8
|
+
.-------------------------------------------------------------------------.
|
9
|
+
| Extensions: zx82 |
|
10
|
+
| Endianness: Big |
|
11
|
+
| Created by: James, William |
|
12
|
+
| Used by: Speculator '97 [Amiga] |
|
13
|
+
| |
|
14
|
+
| IMPORTANT NOTICE: This format is not well known at all, |
|
15
|
+
| so the types and constants declared here can be useless. |
|
16
|
+
| The only documentation I have found is from the SinclairFAQ. |
|
17
|
+
| |
|
18
|
+
| From SinclairFAQ: |
|
19
|
+
| |
|
20
|
+
| " Amiga Speculator has its own file format called ZX82 format because |
|
21
|
+
| it contains a file identifier in the first four bytes consisting of the |
|
22
|
+
| ASCII characters "ZX82". The format has a 12 byte header which contains |
|
23
|
+
| the normal Spectrum type file information like length, type, start etc. |
|
24
|
+
| as well as a compression flag which is set if the file is byte run |
|
25
|
+
| compressed. |
|
26
|
+
| |
|
27
|
+
| The 'data_type' field is derived from the MGT disciple directory |
|
28
|
+
| MGT_Type-1, so further file types may be supported in this way in the |
|
29
|
+
| future. |
|
30
|
+
| |
|
31
|
+
| The compression used is the standard byte run compression as used by |
|
32
|
+
| ILBM IFF files. The whole 48K data block is compressed as if it were |
|
33
|
+
| one long row. " |
|
34
|
+
| |
|
35
|
+
| See: |
|
36
|
+
| Amiga ROM Kernel Reference Manual: Devices (Third Edition) |
|
37
|
+
| - Appendix A - IFF Specification (Page 347) |
|
38
|
+
| - Appendix C - Example Packer C code (Page 538) |
|
39
|
+
'------------------------------------------------------------------------*/
|
40
|
+
|
41
|
+
#ifndef _Z_formats_snapshot_machine_computer_ZX_Spectrum_ZX82_H_
|
42
|
+
#define _Z_formats_snapshot_machine_computer_ZX_Spectrum_ZX82_H_
|
43
|
+
|
44
|
+
#include <Z/types/base.h>
|
45
|
+
|
46
|
+
Z_DEFINE_STRICT_STRUCTURE (
|
47
|
+
zuint8 identifier[4]; /* {'Z', 'X', '8', '2'} */
|
48
|
+
zuint8 data_type;
|
49
|
+
zuint8 data_compressed; /* boolean */
|
50
|
+
zuint16 data_size; /* File length up to 64k (ELINE-PROG for BASIC) */
|
51
|
+
zuint16 start_address; /* Start address for code (AUTOSTART for BASIC) */
|
52
|
+
zuint16 program_size;
|
53
|
+
) ZZX82Header;
|
54
|
+
|
55
|
+
#define Z_ZX82_DATA_TYPE_BASIC 0
|
56
|
+
#define Z_ZX82_DATA_TYPE_NUMERIC 1
|
57
|
+
#define Z_ZX82_DATA_TYPE_STRINC 2
|
58
|
+
#define Z_ZX82_DATA_TYPE_CODE 3
|
59
|
+
#define Z_ZX82_DATA_TYPE_SNAPSHOT 4
|
60
|
+
|
61
|
+
Z_DEFINE_STRICT_STRUCTURE_BEGIN
|
62
|
+
zuint8 border_color, im; /* (0 = use I register, 1 = IM 1 and 2 = IM 2) (?) */
|
63
|
+
Z16Bit iy, ix;
|
64
|
+
Z16Bit de, bc, hl, af;
|
65
|
+
Z16Bit de_, bc_, hl_, af_, sp;
|
66
|
+
Z16Bit i, r;
|
67
|
+
Z16Bit pc;
|
68
|
+
Z_DEFINE_STRICT_STRUCTURE_END ZZX82SnapshotHeader;
|
69
|
+
|
70
|
+
#endif /* _Z_formats_snapshot_machine_computer_ZX_Spectrum_ZX82_H_ */
|
@@ -0,0 +1,26 @@
|
|
1
|
+
/* Z Kit - formats/storage medium image/NES Game Pak/UNIF.h
|
2
|
+
_____ _______________
|
3
|
+
/_ /_/ -_/_ _/ _ |
|
4
|
+
/____/\___/ /__//___/_| Kit
|
5
|
+
Copyright (C) 2006-2018 Manuel Sainz de Baranda y Goñi.
|
6
|
+
Released under the terms of the GNU Lesser General Public License v3.
|
7
|
+
|
8
|
+
.----------------------------------------.
|
9
|
+
| Extensions: unf, unif |
|
10
|
+
| Endianness: Little |
|
11
|
+
| Created by: Carmel-Veilleux, Tennessee |
|
12
|
+
| Used by: |
|
13
|
+
'---------------------------------------*/
|
14
|
+
|
15
|
+
#ifndef _Z_formats_storage_medium_image_NES_Game_Pak_UNIF_H_
|
16
|
+
#define _Z_formats_storage_medium_image_NES_Game_Pak_UNIF_H_
|
17
|
+
|
18
|
+
#include <Z/types/base.h>
|
19
|
+
|
20
|
+
Z_DEFINE_STRICT_STRUCTURE (
|
21
|
+
zuint8 unif[4]; /* 55 4E 49 46 ('UNIF') */
|
22
|
+
zuint32 minimum_version_required;
|
23
|
+
zuint8 zero[24];
|
24
|
+
) ZUNIFHeader;
|
25
|
+
|
26
|
+
#endif /* _Z_formats_storage_medium_image_NES_Game_Pak_UNIF_H_ */
|
@@ -0,0 +1,76 @@
|
|
1
|
+
/* Z Kit - formats/storage medium image/NES Game Pak/iNES.h
|
2
|
+
_____ _______________
|
3
|
+
/_ /_/ -_/_ _/ _ |
|
4
|
+
/____/\___/ /__//___/_| Kit
|
5
|
+
Copyright (C) 2006-2018 Manuel Sainz de Baranda y Goñi.
|
6
|
+
Released under the terms of the GNU Lesser General Public License v3.
|
7
|
+
|
8
|
+
.------------------------------.
|
9
|
+
| Extensions: nes |
|
10
|
+
| Endianness: Little |
|
11
|
+
| Created by: Fayzullin, Marat |
|
12
|
+
| Used by: Any NES emulator |
|
13
|
+
'-----------------------------*/
|
14
|
+
|
15
|
+
#ifndef _Z_formats_storage_medium_image_NES_Game_Pak_iNES_H_
|
16
|
+
#define _Z_formats_storage_medium_image_NES_Game_Pak_iNES_H_
|
17
|
+
|
18
|
+
#include <Z/types/base.h>
|
19
|
+
|
20
|
+
Z_DEFINE_STRICT_STRUCTURE (
|
21
|
+
zuint8 nes[4]; /* 4E 45 53 1A ('NES' + MS-DOS EOF) */
|
22
|
+
zuint8 prg_rom_page_count;
|
23
|
+
zuint8 chr_rom_page_count;
|
24
|
+
zuint8 rom_control_0;
|
25
|
+
zuint8 rom_control_1;
|
26
|
+
zuint8 nes_rom;
|
27
|
+
zuint8 vs_unisystem_rom;
|
28
|
+
zuint8 playchoice_rom;
|
29
|
+
zuint8 zero_0;
|
30
|
+
zuint8 zero_1;
|
31
|
+
zuint8 full_ntsc_compatible;
|
32
|
+
zuint8 not_necessarily_pal_compatible;
|
33
|
+
zuint8 extra_ram_at_6000h_7fffh;
|
34
|
+
zuint8 dont_have_bus_conflicts;
|
35
|
+
zuint8 zero_2[6];
|
36
|
+
) ZiNESHeader;
|
37
|
+
|
38
|
+
/*#define Z_INES_MAPPER_NONE 00
|
39
|
+
#define Z_INES_MAPPER_NINTENDO_MMC1_CHIPSET 01
|
40
|
+
#define Z_INES_MAPPER_PRG_ROM_SWITCH 02
|
41
|
+
#define Z_INES_MAPPER_CHR_VROM_SWITCH 03
|
42
|
+
#define Z_INES_MAPPER_NINTENDO_MMC3_CHIPSET 04
|
43
|
+
#define Z_INES_MAPPER_NINTENDO_MMC5_CHIPSET 05
|
44
|
+
#define Z_INES_MAPPER_FFE_F4XXX_GAMES 06
|
45
|
+
#define Z_INES_MAPPER_32K_PRG_ROM_SWITCH 07
|
46
|
+
#define Z_INES_MAPPER_FFE_F3XXX_GAMES 08
|
47
|
+
#define Z_INES_MAPPER_NINTENDO_MMC2_CHIPSET 09
|
48
|
+
#define Z_INES_MAPPER_NINTENDO_MMC4_CHIPSET 10
|
49
|
+
#define Z_INES_MAPPER_COLOR_DREAMS_CHIPSET 11
|
50
|
+
#define Z_INES_MAPPER_FFE_F6XXX_GAMES 12
|
51
|
+
#define Z_INES_MAPPER_100_IN_1_CART_SWITCH 15
|
52
|
+
#define Z_INES_MAPPER_BAN_DAI_CHIPSET 16
|
53
|
+
#define Z_INES_MAPPER_FFE_F8XXX_GAMES 17
|
54
|
+
#define Z_INES_MAPPER_JALECO_SS8806_CHIPSET 18
|
55
|
+
#define Z_INES_MAPPER_NAMCOT_106_CHIPSET 19
|
56
|
+
#define Z_INES_MAPPER_FAMICOM_DISK_SYSTEM 20
|
57
|
+
#define Z_INES_MAPPER_KONAMI_VRC4_2A_CHIPSET 21
|
58
|
+
#define Z_INES_MAPPER_KONAMI_VRC4_1B_CHIPSET 22
|
59
|
+
#define Z_INES_MAPPER_KONAMI_VRC4_1A_CHIPSET 23
|
60
|
+
#define Z_INES_MAPPER_KONAMI_VRC6_CHIPSET 24
|
61
|
+
#define Z_INES_MAPPER_KONAMI_VRC4_CHIPSET 25
|
62
|
+
#define Z_INES_MAPPER_IREM_G_101_CHIPSET 32
|
63
|
+
#define Z_INES_MAPPER_TAITO_TC0190_TC0350 33
|
64
|
+
#define Z_INES_MAPPER_32K_PRG_ROM_SWITCH 34
|
65
|
+
#define Z_INES_MAPPER_IREM_H3001_CHIPSET 65
|
66
|
+
#define Z_INES_MAPPER_74161_32_CHIPSET 66
|
67
|
+
#define Z_INES_MAPPER_SUNSOFT_MAPPER_3 67
|
68
|
+
#define Z_INES_MAPPER_SUNSOFT_MAPPER_4 69
|
69
|
+
#define Z_INES_MAPPER_74161_32_CHIPSET 70
|
70
|
+
#define Z_INES_MAPPER_X_005_CHIPSET 80
|
71
|
+
#define Z_INES_MAPPER_C075_CHIPSET 81
|
72
|
+
#define Z_INES_MAPPER_X1_17_CHIPSET 82
|
73
|
+
#define Z_INES_MAPPER_CONY_MAPPER 83
|
74
|
+
#define Z_INES_MAPPER_PASOFAMI_MAPPER 84*/
|
75
|
+
|
76
|
+
#endif /* _Z_formats_storage_medium_image_NES_Game_Pak_iNES_H_ */
|