zemu 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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,158 @@
|
|
1
|
+
/* Z Kit - hardware/machine/model/computer/ZX Spectrum/ZX Spectrum + 128K.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
|
+
| Vendor: Sinclair Research - Investronica |
|
10
|
+
| Released: 1985-09 |
|
11
|
+
| CPU: Zilog Z80 @ 3.5469 MHz |
|
12
|
+
| ROM: 48K |
|
13
|
+
| RAM: 128K |
|
14
|
+
| Sound: General Instrument AY-3-8912 (PSG) |
|
15
|
+
'----------------------------------------------'
|
16
|
+
|
17
|
+
_____________________________ ________________
|
18
|
+
| ___. __ __ __ . __ '''''''''''''''''''''''''''' |====|
|
19
|
+
| __\ || ||__|__|--||| |====|
|
20
|
+
|--------------------------------------------------------------------|====|
|
21
|
+
| ZX Spectrum + |====|
|
22
|
+
|--.-----------------------------------------------------.-----------|====|
|
23
|
+
| |( )|( )|(1)|(2)|(3)|(4)|(5)|(6)|(7)|(1)|(1)|(1)|(BRK)| |====|
|
24
|
+
|--|-----------------------------------------------------|-----------|====|
|
25
|
+
| |(DEL)|(1)|(Q)|(W)|(E)|(R)|(T)|(Y)|(U)|(I)|(O)|(P)|.-.| |====|
|
26
|
+
|--|-------------------------------------------------|| ||-----------|====|
|
27
|
+
| |(EXT)|(ED)|(A)|(S)|(D)|(F)|(G)|(H)|(J)|(K)|(L)|(____'| |====|
|
28
|
+
|--|-----------------------------------------------------|-----------|====|
|
29
|
+
| |(CAPS S)|( )|(Z)|(X)|(C)|(V)|(B)|(N)|(M)|(.)|(CAPS S)| |====|
|
30
|
+
|--|-----------------------------------------------------|-----------|====|
|
31
|
+
| |( )|(;)|(")|(_)|(_)|(_______________)|(_)|(_)|(,)|(_)| 128K//// |====|
|
32
|
+
|--'-----------------------------------------------------'-----------|====|
|
33
|
+
|____________________________________________________________________|====| */
|
34
|
+
|
35
|
+
#ifndef _Z_hardware_machine_model_computer_ZX_Spectrum_ZX_Spectrum_Plus_128K_H_
|
36
|
+
#define _Z_hardware_machine_model_computer_ZX_Spectrum_ZX_Spectrum_Plus_128K_H_
|
37
|
+
|
38
|
+
#include <Z/hardware/machine/model/computer/ZX Spectrum/ZX Spectrum.h>
|
39
|
+
#include <Z/types/base.h>
|
40
|
+
|
41
|
+
/* MARK: - Memory
|
42
|
+
|
43
|
+
.-----------------.
|
44
|
+
0000 | ROM 0 | ROM 1 | Either ROM may be switched in.
|
45
|
+
| | |
|
46
|
+
| | |
|
47
|
+
3FFF | | |
|
48
|
+
|--------+--------'
|
49
|
+
4000 | Bank 5 |
|
50
|
+
| |
|
51
|
+
| |
|
52
|
+
7FFF | screen |
|
53
|
+
|--------|
|
54
|
+
8000 | Bank 2 | Any one of these pages may be switched in.
|
55
|
+
| |
|
56
|
+
| |
|
57
|
+
BFFF | |
|
58
|
+
|--------+--------------------------------------------------------------.
|
59
|
+
C000 | Bank 0 | Bank 1 | Bank 2 | Bank 3 | Bank 4 | Bank 5 | Bank 6 | Bank 7 |
|
60
|
+
| | |(also at| | |(also at| | |
|
61
|
+
| | | 8000) | | | 4000) | | |
|
62
|
+
FFFF | | | | | | screen | | screen |
|
63
|
+
'----------------------------------------------------------------------*/
|
64
|
+
|
65
|
+
#define Z_ZX_SPECTRUM_PLUS_128K_SIZE_ROM 32768 /* 1024 * 32 */
|
66
|
+
#define Z_ZX_SPECTRUM_PLUS_128K_SIZE_RAM 131072 /* 1024 * 128 */
|
67
|
+
#define Z_ZX_SPECTRUM_PLUS_128K_SIZE_MEMORY 163840 /* 1024 * (32 + 128) */
|
68
|
+
|
69
|
+
/* MARK: - I/O Ports */
|
70
|
+
|
71
|
+
#define Z_ZX_SPECTRUM_PLUS_128K_IO_PORT_BANK_SWITCH 0x7FFD /* Read / Write */
|
72
|
+
#define Z_ZX_SPECTRUM_PLUS_128K_IO_PORT_PSG 0xFFFD /* Read / Write */
|
73
|
+
|
74
|
+
/* 7FFD - Bank Switch
|
75
|
+
.-----------------.
|
76
|
+
| 7 6 5 4 3 2 1 0 |
|
77
|
+
'-\_/-|-|-|-\___/-'
|
78
|
+
| | | | '---> user (C000h)
|
79
|
+
| | | '-------> VRAM
|
80
|
+
| | '---------> ROM
|
81
|
+
| '-----------> disable
|
82
|
+
'--------------> unused */
|
83
|
+
|
84
|
+
Z_DEFINE_STRICT_STRUCTURE (Z_BIT_FIELD(8, 5) (
|
85
|
+
zuint8 unused :2,
|
86
|
+
zuint8 disable :1,
|
87
|
+
zuint8 rom :1,
|
88
|
+
zuint8 vram :1,
|
89
|
+
zuint8 user :3
|
90
|
+
)) ZZXSpectrumPlus128KBankSwitch;
|
91
|
+
|
92
|
+
/* FFFD - Read/Select */
|
93
|
+
|
94
|
+
/* MARK: - Screen
|
95
|
+
---
|
96
|
+
Invisible Top Border | 7
|
97
|
+
.---------------------------------. --- ---
|
98
|
+
| Visible Top Border | | 48 |
|
99
|
+
|----.-----------------------.----| --- |
|
100
|
+
|L | |R | | |
|
101
|
+
|e | |i | | |
|
102
|
+
|f B| |g B| | |
|
103
|
+
|t o| Paper |h o| | 192 | 296
|
104
|
+
| r| |t r| | |
|
105
|
+
| d| | d| | |
|
106
|
+
| e| | e| | |
|
107
|
+
| r| | r| | |
|
108
|
+
|----'-----------------------'----| --- |
|
109
|
+
| Bottom Border | | 56 |
|
110
|
+
'---------------------------------' --- ---
|
111
|
+
|
112
|
+
|----|-----------------------|----|
|
113
|
+
48 256 48
|
114
|
+
|---------------------------------|
|
115
|
+
352 */
|
116
|
+
|
117
|
+
#define Z_ZX_SPECTRUM_PLUS_128K_SCREEN_FPS Z_ZX_SPECTRUM_SCREEN_FPS
|
118
|
+
#define Z_ZX_SPECTRUM_PLUS_128K_SCREEN_WIDTH Z_ZX_SPECTRUM_SCREEN_WIDTH
|
119
|
+
#define Z_ZX_SPECTRUM_PLUS_128K_SCREEN_HEIGHT Z_ZX_SPECTRUM_SCREEN_HEIGHT
|
120
|
+
#define Z_ZX_SPECTRUM_PLUS_128K_SCREEN_PIXELS Z_ZX_SPECTRUM_SCREEN_PIXELS
|
121
|
+
#define Z_ZX_SPECTRUM_PLUS_128K_SCREEN_PAPER_WIDTH Z_ZX_SPECTRUM_SCREEN_PAPER_WIDTH
|
122
|
+
#define Z_ZX_SPECTRUM_PLUS_128K_SCREEN_PAPER_HEIGHT Z_ZX_SPECTRUM_SCREEN_PAPER_HEIGHT
|
123
|
+
#define Z_ZX_SPECTRUM_PLUS_128K_SCREEN_PAPER_PIXELS Z_ZX_SPECTRUM_SCREEN_PAPER_PIXELS
|
124
|
+
#define Z_ZX_SPECTRUM_PLUS_128K_SCREEN_TOP_BORDER_HEIGHT 55
|
125
|
+
#define Z_ZX_SPECTRUM_PLUS_128K_SCREEN_INVISIBLE_TOP_BORDER_HEIGHT 7
|
126
|
+
#define Z_ZX_SPECTRUM_PLUS_128K_SCREEN_VISIBLE_TOP_BORDER_HEIGHT Z_ZX_SPECTRUM_SCREEN_VISIBLE_TOP_BORDER_HEIGHT
|
127
|
+
#define Z_ZX_SPECTRUM_PLUS_128K_SCREEN_BOTTOM_BORDER_HEIGHT Z_ZX_SPECTRUM_SCREEN_BOTTOM_BORDER_HEIGHT
|
128
|
+
#define Z_ZX_SPECTRUM_PLUS_128K_SCREEN_LEFT_BORDER_WIDTH Z_ZX_SPECTRUM_SCREEN_LEFT_BORDER_WIDTH
|
129
|
+
#define Z_ZX_SPECTRUM_PLUS_128K_SCREEN_RIGHT_BORDER_WIDTH Z_ZX_SPECTRUM_SCREEN_RIGHT_BORDER_WIDTH
|
130
|
+
|
131
|
+
/* MARK: - Timmings */
|
132
|
+
|
133
|
+
#define Z_ZX_SPECTRUM_PLUS_128K_CPU_HZ 3546900
|
134
|
+
#define Z_ZX_SPECTRUM_PLUS_128K_PSG_HZ 1773400
|
135
|
+
#define Z_ZX_SPECTRUM_PLUS_128K_CYCLES_PER_FRAME 70908
|
136
|
+
#define Z_ZX_SPECTRUM_PLUS_128K_CYCLES_PER_SCANLINE 228
|
137
|
+
#define Z_ZX_SPECTRUM_PLUS_128K_CYCLES_PER_HBLANK 52
|
138
|
+
#define Z_ZX_SPECTRUM_PLUS_128K_CYCLES_PER_VBLANK 1824
|
139
|
+
#define Z_ZX_SPECTRUM_PLUS_128K_CYCLES_PER_TOP_BORDER_LINE Z_ZX_SPECTRUM_CYCLES_PER_TOP_BORDER_LINE
|
140
|
+
#define Z_ZX_SPECTRUM_PLUS_128K_CYCLES_PER_LEFT_BORDER_LINE Z_ZX_SPECTRUM_CYCLES_PER_LEFT_BORDER_LINE
|
141
|
+
#define Z_ZX_SPECTRUM_PLUS_128K_CYCLES_PER_RIGHT_BORDER_LINE Z_ZX_SPECTRUM_CYCLES_PER_RIGHT_BORDER_LINE
|
142
|
+
#define Z_ZX_SPECTRUM_PLUS_128K_CYCLES_PER_BOTTOM_BORDER_LINE Z_ZX_SPECTRUM_CYCLES_PER_BOTTOM_BORDER_LINE
|
143
|
+
#define Z_ZX_SPECTRUM_PLUS_128K_CYCLES_PER_PAPER_LINE Z_ZX_SPECTRUM_CYCLES_PER_PAPER_LINE
|
144
|
+
#define Z_ZX_SPECTRUM_PLUS_128K_CYCLES_PER_INT Z_ZX_SPECTRUM_CYCLES_PER_INT
|
145
|
+
#define Z_ZX_SPECTRUM_PLUS_128K_CYCLES_AT_VBLANK Z_ZX_SPECTRUM_CYCLES_AT_VBLANK
|
146
|
+
#define Z_ZX_SPECTRUM_PLUS_128K_CYCLES_AT_INT Z_ZX_SPECTRUM_CYCLES_AT_INT
|
147
|
+
#define Z_ZX_SPECTRUM_PLUS_128K_CYCLES_AT_INVISIBLE_TOP_BORDER 1824 /* Z_ZX_SPECTRUM_PLUS_128K_CYCLES_PER_VBLANK */
|
148
|
+
#define Z_ZX_SPECTRUM_PLUS_128K_CYCLES_AT_VISIBLE_TOP_BORDER 3420 /* Z_ZX_SPECTRUM_PLUS_128K_CYCLES_AT_INVISIBLE_TOP_BORDER +
|
149
|
+
Z_ZX_SPECTRUM_PLUS_128K_CYCLES_PER_SCANLINE *
|
150
|
+
Z_ZX_SPECTRUM_PLUS_128K_SCREEN_INVISIBLE_TOP_BORDER_HEIGHT */
|
151
|
+
#define Z_ZX_SPECTRUM_PLUS_128K_CYCLES_AT_PAPER_REGION 14364 /* Z_ZX_SPECTRUM_PLUS_128K_CYCLES_AT_VISIBLE_TOP_BORDER +
|
152
|
+
Z_ZX_SPECTRUM_PLUS_128K_CYCLES_PER_SCANLINE *
|
153
|
+
Z_ZX_SPECTRUM_PLUS_128K_SCREEN_VISIBLE_TOP_BORDER_HEIGHT */
|
154
|
+
#define Z_ZX_SPECTRUM_PLUS_128K_CYCLES_AT_BOTTOM_BORDER 58140 /* Z_ZX_SPECTRUM_PLUS_128K_CYCLES_AT_PAPER_REGION +
|
155
|
+
Z_ZX_SPECTRUM_PLUS_128K_CYCLES_PER_SCANLINE *
|
156
|
+
Z_ZX_SPECTRUM_PLUS_128K_SCREEN_PAPER_HEIGHT */
|
157
|
+
|
158
|
+
#endif /* _Z_hardware_machine_model_computer_ZX_Spectrum_ZX_Spectrum_Plus_128K_H_ */
|
@@ -0,0 +1,82 @@
|
|
1
|
+
/* Z Kit - hardware/machine/model/computer/ZX Spectrum/ZX Spectrum +.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
|
+
| Vendor: Sinclair Research |
|
10
|
+
| Released: 1984-10 |
|
11
|
+
| CPU: Zilog Z80 @ 3.5 MHz |
|
12
|
+
| ROM: 16K |
|
13
|
+
| RAM: 48K |
|
14
|
+
| Sound: Internal speaker |
|
15
|
+
'-------------------------------'
|
16
|
+
|
17
|
+
____________________________ ___________
|
18
|
+
| ___. __ _ __ . __ ''''''''''''''''''''''''''''' |
|
19
|
+
| __\ || ||__|__|--||| |
|
20
|
+
|--------------------------------------------------------------------|
|
21
|
+
| ZX Spectrum + |
|
22
|
+
|--.-----------------------------------------------------.-----------|
|
23
|
+
| |( )|( )|(1)|(2)|(3)|(4)|(5)|(6)|(7)|(1)|(1)|(1)|(BRK)| |
|
24
|
+
|--|-----------------------------------------------------|-----------|
|
25
|
+
| |(DEL)|(1)|(Q)|(W)|(E)|(R)|(T)|(Y)|(U)|(I)|(O)|(P)|.-.| |
|
26
|
+
|--|-------------------------------------------------|| ||-----------|
|
27
|
+
| |(EXT)|(ED)|(A)|(S)|(D)|(F)|(G)|(H)|(J)|(K)|(L)|(____'| |
|
28
|
+
|--|-----------------------------------------------------|-----------|
|
29
|
+
| |(CAPS S)|( )|(Z)|(X)|(C)|(V)|(B)|(N)|(M)|(.)|(CAPS S)| |
|
30
|
+
|--|-----------------------------------------------------|-----------|
|
31
|
+
| |( )|(;)|(")|(_)|(_)|(_______________)|(_)|(_)|(,)|(_)| //// |
|
32
|
+
|--'-----------------------------------------------------'-----------|
|
33
|
+
|____________________________________________________________________| */
|
34
|
+
|
35
|
+
#ifndef _Z_hardware_machine_model_computer_ZX_Spectrum_ZX_Spectrum_Plus_H_
|
36
|
+
#define _Z_hardware_machine_model_computer_ZX_Spectrum_ZX_Spectrum_Plus_H_
|
37
|
+
|
38
|
+
#include <Z/hardware/machine/model/computer/ZX Spectrum/ZX Spectrum.h>
|
39
|
+
|
40
|
+
/* MARK: - Memory */
|
41
|
+
|
42
|
+
#define Z_ZX_SPECTRUM_PLUS_SIZE_RAM 49152 /* 1024 * 48 */
|
43
|
+
#define Z_ZX_SPECTRUM_PLUS_SIZE_ROM Z_ZX_SPECTRUM_SIZE_ROM
|
44
|
+
#define Z_ZX_SPECTRUM_PLUS_SIZE_MEMORY 65536 /* 1024 * (16 + 48) */
|
45
|
+
|
46
|
+
/* MARK: - Screen */
|
47
|
+
|
48
|
+
#define Z_ZX_SPECTRUM_PLUS_SCREEN_FPS Z_ZX_SPECTRUM_SCREEN_FPS
|
49
|
+
#define Z_ZX_SPECTRUM_PLUS_SCREEN_WIDTH Z_ZX_SPECTRUM_SCREEN_WIDTH
|
50
|
+
#define Z_ZX_SPECTRUM_PLUS_SCREEN_HEIGHT Z_ZX_SPECTRUM_SCREEN_HEIGHT
|
51
|
+
#define Z_ZX_SPECTRUM_PLUS_SCREEN_PIXELS Z_ZX_SPECTRUM_SCREEN_PIXELS
|
52
|
+
#define Z_ZX_SPECTRUM_PLUS_SCREEN_PAPER_WIDTH Z_ZX_SPECTRUM_SCREEN_PAPER_WIDTH
|
53
|
+
#define Z_ZX_SPECTRUM_PLUS_SCREEN_PAPER_HEIGHT Z_ZX_SPECTRUM_SCREEN_PAPER_HEIGHT
|
54
|
+
#define Z_ZX_SPECTRUM_PLUS_SCREEN_PAPER_PIXELS Z_ZX_SPECTRUM_SCREEN_PAPER_PIXELS
|
55
|
+
#define Z_ZX_SPECTRUM_PLUS_SCREEN_TOP_BORDER_HEIGHT Z_ZX_SPECTRUM_SCREEN_TOP_BORDER_HEIGHT
|
56
|
+
#define Z_ZX_SPECTRUM_PLUS_SCREEN_INVISIBLE_TOP_BORDER_HEIGHT Z_ZX_SPECTRUM_SCREEN_INVISIBLE_TOP_BORDER_HEIGHT
|
57
|
+
#define Z_ZX_SPECTRUM_PLUS_SCREEN_VISIBLE_TOP_BORDER_HEIGHT Z_ZX_SPECTRUM_SCREEN_VISIBLE_TOP_BORDER_HEIGHT
|
58
|
+
#define Z_ZX_SPECTRUM_PLUS_SCREEN_BOTTOM_BORDER_HEIGHT Z_ZX_SPECTRUM_SCREEN_BOTTOM_BORDER_HEIGHT
|
59
|
+
#define Z_ZX_SPECTRUM_PLUS_SCREEN_LEFT_BORDER_WIDTH Z_ZX_SPECTRUM_SCREEN_LEFT_BORDER_WIDTH
|
60
|
+
#define Z_ZX_SPECTRUM_PLUS_SCREEN_RIGHT_BORDER_WIDTH Z_ZX_SPECTRUM_SCREEN_RIGHT_BORDER_WIDTH
|
61
|
+
|
62
|
+
/* MARK: - Timmings */
|
63
|
+
|
64
|
+
#define Z_ZX_SPECTRUM_PLUS_CPU_HZ Z_ZX_SPECTRUM_CPU_HZ
|
65
|
+
#define Z_ZX_SPECTRUM_PLUS_CYCLES_PER_FRAME Z_ZX_SPECTRUM_CYCLES_PER_FRAME
|
66
|
+
#define Z_ZX_SPECTRUM_PLUS_CYCLES_PER_SCANLINE Z_ZX_SPECTRUM_CYCLES_PER_SCANLINE
|
67
|
+
#define Z_ZX_SPECTRUM_PLUS_CYCLES_PER_HBLANK Z_ZX_SPECTRUM_CYCLES_PER_HBLANK
|
68
|
+
#define Z_ZX_SPECTRUM_PLUS_CYCLES_PER_VBLANK Z_ZX_SPECTRUM_CYCLES_PER_VBLANK
|
69
|
+
#define Z_ZX_SPECTRUM_PLUS_CYCLES_PER_TOP_BORDER_LINE Z_ZX_SPECTRUM_CYCLES_PER_TOP_BORDER_LINE
|
70
|
+
#define Z_ZX_SPECTRUM_PLUS_CYCLES_PER_LEFT_BORDER_LINE Z_ZX_SPECTRUM_CYCLES_PER_LEFT_BORDER_LINE
|
71
|
+
#define Z_ZX_SPECTRUM_PLUS_CYCLES_PER_RIGHT_BORDER_LINE Z_ZX_SPECTRUM_CYCLES_PER_RIGHT_BORDER_LINE
|
72
|
+
#define Z_ZX_SPECTRUM_PLUS_CYCLES_PER_BOTTOM_BORDER_LINE Z_ZX_SPECTRUM_CYCLES_PER_BOTTOM_BORDER_LINE
|
73
|
+
#define Z_ZX_SPECTRUM_PLUS_CYCLES_PER_PAPER_LINE Z_ZX_SPECTRUM_CYCLES_PER_PAPER_LINE
|
74
|
+
#define Z_ZX_SPECTRUM_PLUS_CYCLES_PER_INT Z_ZX_SPECTRUM_CYCLES_PER_INT
|
75
|
+
#define Z_ZX_SPECTRUM_PLUS_CYCLES_AT_VBLANK Z_ZX_SPECTRUM_CYCLES_AT_VBLANK
|
76
|
+
#define Z_ZX_SPECTRUM_PLUS_CYCLES_AT_INT Z_ZX_SPECTRUM_CYCLES_AT_INT
|
77
|
+
#define Z_ZX_SPECTRUM_PLUS_CYCLES_AT_INVISIBLE_TOP_BORDER Z_ZX_SPECTRUM_CYCLES_AT_INVISIBLE_TOP_BORDER
|
78
|
+
#define Z_ZX_SPECTRUM_PLUS_CYCLES_AT_VISIBLE_TOP_BORDER Z_ZX_SPECTRUM_CYCLES_AT_VISIBLE_TOP_BORDER
|
79
|
+
#define Z_ZX_SPECTRUM_PLUS_CYCLES_AT_PAPER_REGION Z_ZX_SPECTRUM_CYCLES_AT_PAPER_REGION
|
80
|
+
#define Z_ZX_SPECTRUM_PLUS_CYCLES_AT_BOTTOM_BORDER Z_ZX_SPECTRUM_CYCLES_AT_BOTTOM_BORDER
|
81
|
+
|
82
|
+
#endif /* _Z_hardware_machine_model_computer_ZX_Spectrum_ZX_Spectrum_Plus_H_ */
|
@@ -0,0 +1,13 @@
|
|
1
|
+
/* Z Kit - hardware/machine/model/computer/ZX Spectrum/ZX Spectrum +2.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
|
+
#ifndef _Z_hardware_machine_model_ZX_Spectrum_ZX_Spectrum_Plus2_H_
|
9
|
+
#define _Z_hardware_machine_model_ZX_Spectrum_ZX_Spectrum_Plus2_H_
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
#endif /* _Z_hardware_machine_model_ZX_Spectrum_ZX_Spectrum_Plus2_H_ */
|
@@ -0,0 +1,13 @@
|
|
1
|
+
/* Z Kit - hardware/machine/model/computer/ZX Spectrum/ZX Spectrum +2A.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
|
+
#ifndef _Z_hardware_machine_model_ZX_Spectrum_ZX_Spectrum_Plus2A_H_
|
9
|
+
#define _Z_hardware_machine_model_ZX_Spectrum_ZX_Spectrum_Plus2A_H_
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
#endif /* _Z_hardware_machine_model_ZX_Spectrum_ZX_Spectrum_Plus2A_H_ */
|
@@ -0,0 +1,13 @@
|
|
1
|
+
/* Z Kit - hardware/machine/model/computer/ZX Spectrum/ZX Spectrum +3.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
|
+
#ifndef _Z_hardware_machine_model_ZX_Spectrum_ZX_Spectrum_Plus3_H_
|
9
|
+
#define _Z_hardware_machine_model_ZX_Spectrum_ZX_Spectrum_Plus3_H_
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
#endif /* _Z_hardware_machine_model_ZX_Spectrum_ZX_Spectrum_Plus3_H_ */
|
@@ -0,0 +1,109 @@
|
|
1
|
+
/* Z Kit - hardware/machine/model/computer/ZX Spectrum/ZX Spectrum.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
|
+
| Vendor: Sinclair Research |
|
10
|
+
| Released: 1982-04-23 |
|
11
|
+
| CPU: Zilog Z80 @ 3.5 MHz |
|
12
|
+
| ROM: 16K |
|
13
|
+
| RAM: 16K / 48K |
|
14
|
+
| Sound: Internal speaker |
|
15
|
+
'---------------------------------'
|
16
|
+
|
17
|
+
__________________________________________________
|
18
|
+
| ___. __ _ __ . __ |
|
19
|
+
| __\ || ||__|__|--||| |
|
20
|
+
| ZX Spectrum |
|
21
|
+
| |
|
22
|
+
| ________________________________________________ |
|
23
|
+
|/________________________________________________\|
|
24
|
+
| _ _ _ _ _ _ _ _ _ _ |
|
25
|
+
| [1] [2] [3] [4] [5] [6] [7] [8] [9] [0] |
|
26
|
+
| _ _ _ _ _ _ _ _ _ _ |
|
27
|
+
| [Q] [W] [E] [R] [T] [Y] [U] [I] [O] [P] /|
|
28
|
+
| _ _ _ _ _ _ _ _ _ _____//|
|
29
|
+
| [A] [S] [D] [F] [G] [H] [J] [K] [L] [ENTER]/|
|
30
|
+
| _____ _ _ _ _ _ _ _ __ ___////|
|
31
|
+
| [SHIFT] [Z] [X] [C] [V] [B] [N] [M] [SS] [SPACE] |
|
32
|
+
|____________________________________________////__|
|
33
|
+
(__________________________________________________) */
|
34
|
+
|
35
|
+
#ifndef _Z_hardware_machine_model_computer_ZX_Spectrum_ZX_Spectrum_H_
|
36
|
+
#define _Z_hardware_machine_model_computer_ZX_Spectrum_ZX_Spectrum_H_
|
37
|
+
|
38
|
+
/* MARK: - Memory */
|
39
|
+
|
40
|
+
#define Z_ZX_SPECTRUM_SIZE_ROM 16384 /* 1024 * 16 */
|
41
|
+
#define Z_ZX_SPECTRUM_16K_SIZE_RAM 16384 /* 1024 * 16 */
|
42
|
+
#define Z_ZX_SPECTRUM_16K_SIZE_MEMORY 32768 /* 1024 * (16 + 16) */
|
43
|
+
#define Z_ZX_SPECTRUM_48K_SIZE_RAM 49152 /* 1024 * 48 */
|
44
|
+
#define Z_ZX_SPECTRUM_48K_SIZE_MEMORY 65536 /* 1024 * (16 + 48) */
|
45
|
+
|
46
|
+
/* MARK: - Screen
|
47
|
+
---
|
48
|
+
Invisible Top Border | 8
|
49
|
+
.---------------------------------. --- ---
|
50
|
+
| Visible Top Border | | 48 |
|
51
|
+
|----.-----------------------.----| --- |
|
52
|
+
|L | |R | | |
|
53
|
+
|e | |i | | |
|
54
|
+
|f B| |g B| | |
|
55
|
+
|t o| Paper |h o| | 192 | 296
|
56
|
+
| r| |t r| | |
|
57
|
+
| d| | d| | |
|
58
|
+
| e| | e| | |
|
59
|
+
| r| | r| | |
|
60
|
+
|----'-----------------------'----| --- |
|
61
|
+
| Bottom Border | | 56 |
|
62
|
+
'---------------------------------' --- ---
|
63
|
+
|
64
|
+
|----|-----------------------|----|
|
65
|
+
48 256 48
|
66
|
+
|---------------------------------|
|
67
|
+
352 */
|
68
|
+
|
69
|
+
#define Z_ZX_SPECTRUM_SCREEN_FPS 50
|
70
|
+
#define Z_ZX_SPECTRUM_SCREEN_WIDTH 352
|
71
|
+
#define Z_ZX_SPECTRUM_SCREEN_HEIGHT 296
|
72
|
+
#define Z_ZX_SPECTRUM_SCREEN_PIXELS 104192 /* 352 * 296 */
|
73
|
+
#define Z_ZX_SPECTRUM_SCREEN_PAPER_WIDTH 256
|
74
|
+
#define Z_ZX_SPECTRUM_SCREEN_PAPER_HEIGHT 192
|
75
|
+
#define Z_ZX_SPECTRUM_SCREEN_PAPER_PIXELS 49152 /* 256 * 192 */
|
76
|
+
#define Z_ZX_SPECTRUM_SCREEN_TOP_BORDER_HEIGHT 56
|
77
|
+
#define Z_ZX_SPECTRUM_SCREEN_INVISIBLE_TOP_BORDER_HEIGHT 8
|
78
|
+
#define Z_ZX_SPECTRUM_SCREEN_VISIBLE_TOP_BORDER_HEIGHT 48
|
79
|
+
#define Z_ZX_SPECTRUM_SCREEN_BOTTOM_BORDER_HEIGHT 56
|
80
|
+
#define Z_ZX_SPECTRUM_SCREEN_LEFT_BORDER_WIDTH 48
|
81
|
+
#define Z_ZX_SPECTRUM_SCREEN_RIGHT_BORDER_WIDTH 48
|
82
|
+
|
83
|
+
/* MARK: - Timmings */
|
84
|
+
|
85
|
+
#define Z_ZX_SPECTRUM_CPU_HZ 3500000
|
86
|
+
#define Z_ZX_SPECTRUM_CYCLES_PER_FRAME 69888
|
87
|
+
#define Z_ZX_SPECTRUM_CYCLES_PER_SCANLINE 224
|
88
|
+
#define Z_ZX_SPECTRUM_CYCLES_PER_HBLANK 48
|
89
|
+
#define Z_ZX_SPECTRUM_CYCLES_PER_VBLANK 1792
|
90
|
+
#define Z_ZX_SPECTRUM_CYCLES_PER_TOP_BORDER_LINE 176
|
91
|
+
#define Z_ZX_SPECTRUM_CYCLES_PER_LEFT_BORDER_LINE 24
|
92
|
+
#define Z_ZX_SPECTRUM_CYCLES_PER_RIGHT_BORDER_LINE 24
|
93
|
+
#define Z_ZX_SPECTRUM_CYCLES_PER_BOTTOM_BORDER_LINE 176
|
94
|
+
#define Z_ZX_SPECTRUM_CYCLES_PER_PAPER_LINE 128
|
95
|
+
#define Z_ZX_SPECTRUM_CYCLES_PER_INT 32
|
96
|
+
#define Z_ZX_SPECTRUM_CYCLES_AT_VBLANK 0
|
97
|
+
#define Z_ZX_SPECTRUM_CYCLES_AT_INT 24
|
98
|
+
#define Z_ZX_SPECTRUM_CYCLES_AT_INVISIBLE_TOP_BORDER 1792 /* Z_ZX_SPECTRUM_CYCLES_PER_VBLANK */
|
99
|
+
#define Z_ZX_SPECTRUM_CYCLES_AT_VISIBLE_TOP_BORDER 3584 /* Z_ZX_SPECTRUM_CYCLES_AT_INVISIBLE_TOP_BORDER +
|
100
|
+
Z_ZX_SPECTRUM_CYCLES_PER_SCANLINE *
|
101
|
+
Z_ZX_SPECTRUM_SCREEN_INVISIBLE_TOP_BORDER_HEIGHT */
|
102
|
+
#define Z_ZX_SPECTRUM_CYCLES_AT_PAPER_REGION 14336 /* Z_ZX_SPECTRUM_CYCLES_AT_VISIBLE_TOP_BORDER +
|
103
|
+
Z_ZX_SPECTRUM_CYCLES_PER_SCANLINE *
|
104
|
+
Z_ZX_SPECTRUM_SCREEN_VISIBLE_TOP_BORDER_HEIGHT */
|
105
|
+
#define Z_ZX_SPECTRUM_CYCLES_AT_BOTTOM_BORDER 57344 /* Z_ZX_SPECTRUM_CYCLES_AT_PAPER_REGION +
|
106
|
+
Z_ZX_SPECTRUM_CYCLES_PER_SCANLINE *
|
107
|
+
Z_ZX_SPECTRUM_SCREEN_PAPER_HEIGHT */
|
108
|
+
|
109
|
+
#endif /* _Z_hardware_machine_model_computer_ZX_Spectrum_ZX_Spectrum_H_ */
|
@@ -0,0 +1,29 @@
|
|
1
|
+
/* Z Kit - hardware/machine/model/console/Nintendo Entertainment System/NES-001 (NTSC).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
|
+
| Vendor: Nintendo |
|
10
|
+
| Released: 1985-10-18 (US) |
|
11
|
+
| 1986 (CA) |
|
12
|
+
| CPU: Ricoh RP2A03 @ 1.79 MHz |
|
13
|
+
| Video: Ricoh RP2C03 (VCD) |
|
14
|
+
| Sound: NES APU |
|
15
|
+
'----------------------------------*/
|
16
|
+
|
17
|
+
#ifndef _Z_hardware_machine_model_console_Nintendo_Entertainment_System_NES_001_NTSC_H_
|
18
|
+
#define _Z_hardware_machine_model_console_Nintendo_Entertainment_System_NES_001_NTSC_H_
|
19
|
+
|
20
|
+
/* MARK: - Screen */
|
21
|
+
|
22
|
+
#define Z_NES_001_NTSC_SCREEN_FPS 60
|
23
|
+
|
24
|
+
/* MARK: - Timmings */
|
25
|
+
|
26
|
+
#define Z_NES_001_NTSC_CPU_HZ 1789773
|
27
|
+
#define Z_NES_001_NTSC_MASTER_CLOCK_HZ 21477272
|
28
|
+
|
29
|
+
#endif /* _Z_hardware_machine_model_console_Nintendo_Entertainment_System_NES_001_NTSC_H_ */
|
@@ -0,0 +1,29 @@
|
|
1
|
+
/* Z Kit - hardware/machine/model/console/Nintendo Entertainment System/NES-001 (PAL).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
|
+
| Vendor: Nintendo |
|
10
|
+
| Released: 1986-09-01 (DE-DK-FR-NL-NO-SE) |
|
11
|
+
| 1997 (AU-IE-IT-NZ-UK) |
|
12
|
+
| CPU: Ricoh RP2A07 @ 1.66 MHz |
|
13
|
+
| Video: Ricoh RP2C02 (VCD) |
|
14
|
+
| Sound: NES APU |
|
15
|
+
'-----------------------------------------*/
|
16
|
+
|
17
|
+
#ifndef _Z_hardware_machine_model_console_Nintendo_Entertainment_System_NES_001_PAL_H_
|
18
|
+
#define _Z_hardware_machine_model_console_Nintendo_Entertainment_System_NES_001_PAL_H_
|
19
|
+
|
20
|
+
/* MARK: - Screen */
|
21
|
+
|
22
|
+
#define Z_NES_001_PAL_SCREEN_FPS 50
|
23
|
+
|
24
|
+
/* MARK: - Timmings */
|
25
|
+
|
26
|
+
#define Z_NES_001_PAL_CPU_HZ 1662607
|
27
|
+
#define Z_NES_001_PAL_MASTER_CLOCK_HZ 26601712
|
28
|
+
|
29
|
+
#endif /* _Z_hardware_machine_model_console_Nintendo_Entertainment_System_NES_001_PAL_H_ */
|