Frequently Asked Questions
Q: I remember my Sinclair computer being more colourful and advanced. What is this?
A: You're thinking of the Sinclair Spectrum or Sinclair QL. The ZX80 & ZX81 were released a couple of years before the Spectrum.
Q: There are only a few software titles included. Where are the classics like 3D Monster Maze, etc?
A: We'll keep trying to add more software but we need to get permission even after all these years, which can be quite tricky. If you did develop software for the ZX81 and are still the copyright holder by all means get in touch via the contact form.
Q: Why don't you allow the app to load other ZX81 tape files?
A: This would break Apple developer rules. Software that is run on a virtual machine in iOS has to already be embedded in the app. Apple would either reject the app or pull it from their store as soon as they spot such functionality.
Q: I don't accept the answer to the last question. Can you not contact Apple and argue a case?
A: App Store Review Guidelines: "2.5.2 Apps should be self-contained in their bundles, and may not read or write data outside the designated container area, nor may they download, install, or execute code which introduces or changes features or functionality of the app, including other apps. Educational apps designed to teach, develop, or allow students to test executable code may, in limited circumstances, download code provided that such code is not used for other purposes. Such apps must make the source code provided by the Application completely viewable and editable by the user."
There is also an extended description of these restrictions stated in the Apple Developer Program License Agreement (see the API and Functionality section under the Program Requirements).
Suggestions such as loading code via other routes, e.g. backdoor approaches, encoded in image files, original loading tape sound via the iOS device microphone, streamed as characters from a Bluetooth device, etc. whilst clever would all be obfuscating functionality and attempts to deceive Apple. Apple does not want 3rd party programs that they did not see during the app review process to be loadable in an iOS app. Nor would they grant any exception for this ZX81 app because it would open a potentially complex and subjective review and appeal process for other apps.
If you need to emulate ZX80/ZX81 software that is not present in this app then please consider using either a web browser solution, e.g. JTYone, jszeddy or a desktop emulator, e.g. EightyOne, SZ81, Clock Signal.
There is also an extended description of these restrictions stated in the Apple Developer Program License Agreement (see the API and Functionality section under the Program Requirements).
Suggestions such as loading code via other routes, e.g. backdoor approaches, encoded in image files, original loading tape sound via the iOS device microphone, streamed as characters from a Bluetooth device, etc. whilst clever would all be obfuscating functionality and attempts to deceive Apple. Apple does not want 3rd party programs that they did not see during the app review process to be loadable in an iOS app. Nor would they grant any exception for this ZX81 app because it would open a potentially complex and subjective review and appeal process for other apps.
If you need to emulate ZX80/ZX81 software that is not present in this app then please consider using either a web browser solution, e.g. JTYone, jszeddy or a desktop emulator, e.g. EightyOne, SZ81, Clock Signal.
Q: I can see it on iOS App Store but I can't install it. Why?
A: Your device does not meet the minimum installation requirements. It needs to be running at least iOS 11* and have a 64bit processor (i.e. iPhone 5S or more recent, iPad Air or more recent, iPod Touch 6th generation or above). The full list of supported devices is listed in the compatibility section in the store details.
If your device does not have an Apple A7 processor or better then it will not support the Metal API technology used to render the simulated ZX81 display. Hence, the App Store app will prevent it from installing on devices such as the fourth generation iPad, the iPhone 5 and prior devices.
Apologies if your device is not supported - we just want to start with a modern baseline of devices to ensure smooth performance.
* Support for iOS 10 was dropped when version 1.7.0 was built with the iOS 13 SDK. The development time required to prevent significant layout problems introduced with the new SDK made it impractical to continue offering support. Note that all the devices that ran iOS 10 and supported Metal frameworks are capable of running later versions of iOS.
If your device does not have an Apple A7 processor or better then it will not support the Metal API technology used to render the simulated ZX81 display. Hence, the App Store app will prevent it from installing on devices such as the fourth generation iPad, the iPhone 5 and prior devices.
Apologies if your device is not supported - we just want to start with a modern baseline of devices to ensure smooth performance.
* Support for iOS 10 was dropped when version 1.7.0 was built with the iOS 13 SDK. The development time required to prevent significant layout problems introduced with the new SDK made it impractical to continue offering support. Note that all the devices that ran iOS 10 and supported Metal frameworks are capable of running later versions of iOS.
Q. Where is the 64K RAM option? MEMOTECH released the Memopak 64K for example.
A: Yes, there were examples of 64K RAM packs. These did have the full 64 kilobytes of RAM built into them.
Short answer:
To get the equivalent configuration use both the 48K RAM option and the “Enable 8-16K Memory Addresses”.
Longer answer:
The ZX81 could only address a maximum of 64K address space, the first 8K of which has to incorporate the 8K ROM. So, this takes the total address space down to 56K, which is commonly how the option is identified in some other ZX81 emulators.
Then there is the special case of the 8K of address space immediately above the ROM. Usually, this is a shadow copy of the ROM. The actual RAM for user programs starts above this space, so which is 16K into the addressable space. In fact, the RAM packs also normally start from the 16K position and replace the internal RAM. When the 8K of address space above the ROM and between the RAM is enabled with a peripheral, it is often for UDG display technique. This is represented in the ZX81 iOS emulator by the “Enable 8-16K Memory Addresses” option. Since even the Memopak 64K has switches to enable the 8-16K address space this emulator keeps it separate from the main RAM setting.
Short answer:
To get the equivalent configuration use both the 48K RAM option and the “Enable 8-16K Memory Addresses”.
Longer answer:
The ZX81 could only address a maximum of 64K address space, the first 8K of which has to incorporate the 8K ROM. So, this takes the total address space down to 56K, which is commonly how the option is identified in some other ZX81 emulators.
Then there is the special case of the 8K of address space immediately above the ROM. Usually, this is a shadow copy of the ROM. The actual RAM for user programs starts above this space, so which is 16K into the addressable space. In fact, the RAM packs also normally start from the 16K position and replace the internal RAM. When the 8K of address space above the ROM and between the RAM is enabled with a peripheral, it is often for UDG display technique. This is represented in the ZX81 iOS emulator by the “Enable 8-16K Memory Addresses” option. Since even the Memopak 64K has switches to enable the 8-16K address space this emulator keeps it separate from the main RAM setting.
Q. After SAVE'ing my Basic program, a subsequent LOAD fails to retrieve it, the screen gets permanently stuck in a perpetual ophthalmic migraine. Is this yet another case of "Apple will not be happy if..."
A: Although the ROM commands are intact, the associated IN & OUT assembly instructions are not connected to a permanent virtual tape emulation. The result is that the ROM tape loading never receives any data to get out of the read loop leaving the user to have to break out of the process as they would have when failing to load on the real computer. Development efforts aside, the key reasons for the tape emulation absence are: i) it would add extra condition checking in the emulator even when there is no requirement for a tape operation and thus increase the CPU load requirements of the app, ii) any motivation for adding the functionality is detracted by the Apple Developer rules preventing the files being passed and loaded to another iOS device running the app.
If you are interested in saving any of your efforts, consider using the save slots tab functionality in the Software section. Whilst not a substitute for the ROM routines at least users can restore from previous sessions.
If you are interested in saving any of your efforts, consider using the save slots tab functionality in the Software section. Whilst not a substitute for the ROM routines at least users can restore from previous sessions.
Q. The playability of the included games is really reduced by the virtual keyboard. Is this going to get better?
A: Agreed - it is difficult to use on smaller iOS devices and difficult to remember the game keys. Please try the game pad option. There is also the option to use the Recreated Sinclair ZX Spectrum Bluetooth Keyboard and its game mode.
Q. Why is this app not available for devices in the Chinese territory?
A: Apple added the following text to the iTunes Connect app submission form: "Chinese law now requires online games to secure an approval number from the State Administration of Press, Publication, Radio, Film, and Television. You can enter your game’s approval number and date below."
Spending upwards of $3K to a sanctioned Chinese partner followed by a 3 month wait and then a potential series of censorship change requests lead to the decision to remove it from the Chinese territory.
This removal action had also been considered previously after a series of suspicious download spikes skewed the app stats. It is big business in China having racks of iOS devices that download apps to artificially change the store rankings. Sometimes they choose apps like the ZX81 for short periods to mask the focused activity financed by other developers to raise their profile. Consider this: thousands of installs in 2016/17 from China that eclipsed all the other territories combined and only one instance of a Chinese device ever updating when a new version was released.
Spending upwards of $3K to a sanctioned Chinese partner followed by a 3 month wait and then a potential series of censorship change requests lead to the decision to remove it from the Chinese territory.
This removal action had also been considered previously after a series of suspicious download spikes skewed the app stats. It is big business in China having racks of iOS devices that download apps to artificially change the store rankings. Sometimes they choose apps like the ZX81 for short periods to mask the focused activity financed by other developers to raise their profile. Consider this: thousands of installs in 2016/17 from China that eclipsed all the other territories combined and only one instance of a Chinese device ever updating when a new version was released.
Q. Where is Dr Beep’s Fruit Machine Simulator game?
A: This was removed in version 1.5.0 of the app after Apple rejected an update with the following message: "In order to reduce fraudulent activity on the App Store and comply with government requests to address illegal online gambling activity, we are no longer allowing gambling apps submitted by individual developers. This includes both real money gambling apps as well as apps that simulate a gambling experience."
In addition to creating a firm to make a business account, there would be the required permits to sell simulated gambling around the globe. Unfortunately, to include Dr Beep’s game would be too complicated and expensive for the scope of this app.
In addition to creating a firm to make a business account, there would be the required permits to sell simulated gambling around the globe. Unfortunately, to include Dr Beep’s game would be too complicated and expensive for the scope of this app.