The Spanish Inves/Investronica version of the 128k Sinclair Spectrum had a rather different ROM from the English 128k Speccy.

Error messages were in Spanish, there were extra letters and punctuation replacing some symbols, it didn't have the menu at boot-up, it had a different BASIC editor, etc.

It also had some extra commands:

  • EDIT

The only one I can figure out how to use is EDIT which is just followed by a decimal line number

All of the others I try with one, two, three decimal parameters, separated by commas or not, surrounded by parentheses or not, and I always get the same error message no matter what I try:


Also I can't get the editor to accept any of them as part of a line of BASIC code. I assume they're all intended to be immediate mode commands and can't be used in BASIC programs by design. But without seeing a guide I suppose I can't be 100% sure.

I've spent hours Googling in English and Spanish and can't find a guide of how to use them. (I'm aware that WIDTH is broken and undocumented but still want to try it.)

Does anyone know how to actually use them?

  • Have you tried them in 128k mode BASIC? Oct 18, 2022 at 17:31
  • @RuiFRibeiro: Unlike the English 128k Speccy with its startup menu, the Spanish one just starts at the copyright message and BASIC prompt. So I didn't think about modes. Are you saying it starts in 48k mode? And if so how do you put it in 128k mode? I saw no mention of that anywhere, but didn't think about it either. Oct 19, 2022 at 3:33
  • RVM seems to emulate it, and it seems indeed 128k mode. Oct 19, 2022 at 8:46
  • I suspect it is not a BASIC command : Spectrum128_ROM0.asm:; Edit Menu - Renumber Option Spectrum128_ROM0.asm:L2851: CALL L3888 ; Run the renumber routine. Oct 19, 2022 at 8:53
  • @RuiFRibeiro: Yes I'm using RVM to play with it. (I can't tell if MAME doesn't support it or supports it but in some obscure way.) I don't really understand your second comment sorry. Oct 19, 2022 at 14:22

2 Answers 2


It turns out that the commands are in Spanish despite the only mentions of them I had found only listing them in English:


They are not tokens like all other keywords, they are "editor commands". This explains why you can't include them in a line of BASIC. Also they can be abbreviated, which is why I got EDIT to work, since it is an abbreviation of EDITAR.

EDITAR actually has several uses:

  1. With no arguments goes into BASIC edit mode, so much the same as SHIFT-1 on a regular Speccy except with the new editor. You will be editing the first line of the program.
  2. With a line number you will be editing the line with that number if it exists, or the next line. If the number is greater than any line in the program you will still get edit mode but with no code listed and no line number. You can start adding code with a line number or enter an immediate command like LIST or RUN.
  3. With a string variable such as A$ the editor goes into a special mode that allows you to edit the contents of the string! I haven't figured out how to use this mode but if you get out of it you can do PRINT A$ and see that it worked. This is what the string editing mode looks like:

editing a string

BORRAR takes two numeric arguments, the first line number and the last line number. The first must refer to an existing line number but the last doesn't have to.

ANCHO seems to work with one or multiple numeric arguments. Apparently this command was undocumented due to being buggy. I don't know the full nature of the bugs or what the arguments should actually be.

NUMERO takes zero, one, or two numeric arguments. The first argument is the new value for the first line number in the BASIC program and the second is the increment to add to each subsequent line number. Any omitted parameter will default to 10.

I worked this out by looking at these two disassemblies of the Spanish 128k ROM and experimenting using the emulator Retro Virtual Machine, which supports the Spanish 128k Speccy.


From Peculiaridades del ZX Spectrum 128 español

RENUM: Allows you to renumber a program, but it not only renumbers the line numbers, but also keeps the line numbers of the GOTO s and GOSUBs synchronised. This possibility survived, albeit greatly curtailed. RENUM supported three parameters; the starting line, the new line number for that line, and the desired interval between that line and the following lines.

DELETE: It allowed to delete the lines between two given line numbers, which were passed as parameters.

  • 1
    I know what they basically do, but not their syntax. I'm sorry if this was not clear in my question. That's why I asked "how do I use" and not "what do they do". And it's what this paragraph tried to elucidate: "All of the others I try with one, two, three decimal parameters, separated by commas or not, surrounded by parentheses or not, and I always get the same error message no matter what I try" Oct 19, 2022 at 3:31

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .