21

Solution: I know, this is a bit unfair, but there's a generic solution to that: VAL "n" Using VAL with an integer(*1) will always be three bytes shorter than that integer used directly. No matter if needed in an expression, as parameter or as a GO TO/ GO SUB target :) That's right, GOTO VAL "10" is 3 bytes shorter than GOTO 10 :) How it ...


18

This is relatively normal for the original PSU. The supply unit is a "soft" one that will output a much lower voltage under load when connected to the ZX Spectrum. 12 or even more Volts are normal.


16

I don't recall any mass-market commercial software for the Spectrum using the term "decrunching" - I'd associate that more with the demo and cracking scenes of central and eastern Europe, and my guess is that the software you saw originated from there. Around the early 1990s there were a few compression tools in use in that community, and while ...


12

In order for the program to load in one go without having to open a new file for each section, you'll need to combine them into a single .tap file. Happily, the .tap format is designed to make this easy - concatenating two files together results in a valid file. So, after creating part1.tap and part2.tap with zmakebas as above, you can combine them with: cat ...


11

The CPU-CORE as described in the eZ80 User Manual (UM0077) does of course not reserve any I/O, but all real silicon eZ80 contain additional peripherals (*1), reserving the whole address range of 0080h..FFh for them. See for example the eZ80190 Product Specification (PS0066) section Register Map on p.23: All on-chip peripheral registers are accessed in the I/...


9

As far as I know, there were two main approaches to compress the data. The first one, more common, was to load the whole code and "de-crunch" it. It uses RLE or simple vocabulary algorithm (LZ-like). RLE was pretty common to compress screen (there is a lot of zero sequences in many cases). The second one, less common, performs decompression during ...


9

This is a wiki answer, so please amend with additional solutions, or improve the ones below: CPC Tape Software Tape images are normally downloaded as a .cdt file, the same file format as the Spectrum .tzx tape format. Though these do not contain any sound data, they can be played back on an Android or iOS phone, using an app such as 'PlayZX' or 'Speccy Tape'....


9

##TL;DR: Not really sure where this claim of over 5 M computers, including 1 M Spectrum comes from. While still not correct, it would sound more believable the other way around, as 5 M units, including 4 M of Spectrums. So my guess is, that it's for one a very rough number, but more important the author simply used the wrong label for the additior. Deails: ...


8

Commodore owned MOS technologies, who made the VIA chips. Although the VIC-20 might have been able to replace a VIA chip with a 4051, a 74LS139, a couple of 74LS373s, and eight resistors, I don't know that doing so would have really saved anything compared to the in-house cost of the VIA. Further, using a second VIA made it possible for them to have one ...


7

I wrote the compression routine use by the Multiface on the Spectrum and Amstrad machines. It was a plug in unit that would save all memory to tape and allow you to continue your game where you left off. Not at all to be used for piracy of course. I asked the makers, Romantic Robot, if it did any compression or just saved masses of zeros for a 16k game. It ...


6

The code could look like this: 0000 06 0F LD b,$0f ; 0-31 X 0002 0E 08 LD c,$08 ; 0-191 Y 0004 CD 0A 00 CALL convert_xy 0007 36 FF LD (hl),$ff ; write the pixels 0009 76 HALT 000A convert_xy: ; convert (x,y) in BC to memory address in HL 000A ...


6

There is a Spectrum clone, namely ATMTurbo, that uses 16-bit memory bus. However, 16-bitness of memory is only used in extended video modes of the machine, including text mode, 320x200 16bpp mode and 640x200 hires (1 attr byte per 1 pixel byte) modes. In legacy 256x192 ZX mode, only 8 bits of memory bus are used to fetch video.


6

I think this page (in Spanish) has what you're looking for. It describes how to install and use CP/M with divMMC (a full translation of the installation steps and CP/M section is at the bottom of this answer). There are two files that need to be downloaded: an SD card image and possibly some ROMs (see below). The CP/M hack from Otivax (mentioned in @...


5

For the ZX Spectrum: Sorted by amount of non standard modern equipment needed (less to more): A smartphone with SpeccyTape (IOS, unfortunately, now unmaintained and not available for 64 bit devices) or PlayZX (Android) and a stereo to mono cable. Or TZXDuino / TAPDuino: hobbyst grade gadget (built and sold in several places) that essentially does the same as ...


5

We are a computer museum here in the Northwest, we were going to open up in August but unfortunately have had to push it forward because of the Covid. We are looking for magazines to put into our museum and also in the Internet Cafe. We would love to take them for our museum which is called Northwest Computer Museum/Workshops in Leigh. Website is www....


4

I did recover a GORR30_BallBreaker_A.wav, and, yes this record is initially broken. There are twenty seven (27) bits missed in middle of it. The broken part is marked with yellow circle on screenshot: To repair a wav file, I had used my program ZXTapeReviver (64-bit Windows version 3) You can freely try to use it to repair your ZX Spectrum tape records. But,...


4

A possible tool is eightbitjim/cassette-nibbler: Data recovery from 8-bit computer cassette tapes (Commodore 64, Vic 20, ZX Spectrum, etc). I'm not sure how well it reads nonstandard loaders, but in listing mode (-destination=listing) it gave me this for the GORR34 tape converted to wav: java -jar ../cassette-nibbler-0.1.jar -destination=listing ../...


4

There are quite a few options available if you need to reduce the size of your BASIC programme. Some of the options are more extreme and may require binary modification of your program (or the use of external tools/programs). Therefore, I'll try to document both options available to you as a vanilla BASIC programmer, and options that will require binary ...


3

I remember seeing PI/PI instead of 1 in the programs back then a lot. Clearly they did not know a better trick.


3

I couldn't find technical information or an existing emulator but via your links I found this high-resolution image of the interface's board. From there I notice the following things: the disk controller is a WD1770, that's the big one on the left; the two large chips on the right both half underneath the edge connector are an 8kb RAM and an EPROM; and ...


3

A 48K ZX84 uses between 0.4 and 1Amp (https://www.bytedelight.com/?page_id=3610). A 22.5Ohm resistor will simulate a 0.4Amp load. The nearest standard values are 22Ohm or 24Ohm. If you have (or can buy) a resistor of this value (and at least 7 Watt power rating) you can use the resistor as a dummy load to check the PSU. To test on full load you'll need a 9....


3

There was one Spectrum that had two 64K x 4 bit memory chips, but wasn't from Sinclair. It was the Inves Spectrum+, a clone manufactured in Spain. It had no contention, and the trick to achieve it was to make the ULA to do one read per clock cycle, and read the same data twice. Since the Z80 reads, at most, one byte per three clocks, this guarantees that the ...


3

The latest version of the "Superfo Harlequin 128 (issue 4)" supports ALLRAM mode https://onedrive.live.com/?id=E0ADBB58ADB8D869%21209864&cid=E0ADBB58ADB8D869 You can connect a floppy disk interface and run CP/M 2.2 or CP/M Plus, the same as a ZX Spectrum +3


2

Just my 2 cents on this. The Spectrum tapes you are looking at use Frequency Modulation (FM) instead of Amplitude Modulation (AM). This makes them incredibly resilient to amplitude noise, such as you are showing a lot of. So, the actual data values are not encoded by the amplitude of the signal, rather the frequency of it. I assume that you'd need a ...


2

Thanks to the excellent answers to this question, I have now learned that The Amstrad CPC did have hardware scrolling (vertically and horizontally) as well as double buffering and The ZX Spectrum had to copy / redraw content (software scrolling) so Games ported from Spectrum to Amstrad often suffered because the software scroll (redraw or memcopy) took ...


2

Original PSU is "soft", which means the real voltage depends on current consumption. I.e. 9 volts (nominal) is under the full load. With no load, it could be much higher.


2

You're right, there doesn't seem to be a ‘pure scan’ available, but there are endless copies of this: HiSoft C Manual for ZX Spectrum (pdf). While I don't share your aversion to OCR'd manuals (and having done a few myself, I'd not let one out the door unless it had fewer typos than the original …) you might wish to refer to the HiSoft C Manual for Amstrad ...


2

Looks like it uses WD1770 I am not familiar with it but first check if WD1770 is compatible with IBM format. If yes then you can read the discs directly on PC ... If not you need HW capable of reading the disc. So in case of PC compatible you just image it using direct sector access in C++ (or any other language or utility) instead of file format. After you ...


1

For what it's worth, "decrunching" (and the opposite, crunching) appears to be a relatively common slang term for decompression on load on from the time when these systems were popular and is even still used in the current retrocomputing scene (see, for example, this demo from 2015. The Wikipedia page for Amiga Software mentions it as having ...


1

BBC micro I haven’t done this but I believe you could instigate a DMA transfer via the 2MHz ‘tube’ interface and write the image directly into RAM. That would require additional hardware but no modifications to the machine itself.


Only top voted, non community-wiki answers of a minimum length are eligible