Hacker News new | ask | show | jobs
by ikari_pl 907 days ago
This is even more interesting, 32767 is the max signed 16-bit int. And it wouldn't wrap to 0 after that for sure.

Btw does it allow 0? Amstrad's BASIC does not (oficially).

1 comments

I no longer have an Acorn Electron, but using ElkJS (https://elkjs.azurewebsites.net/) I did:

  >0 REM
  >10 REM
  >RENUMBER 32767,1
  >LIST
  32767 REM
  0 REM
  >0 REM
  >LIST
      0 REM
  32767 REM
      0 REM
I asked a friend to test this on a real Acorn Electron. It behaved the same.

He also found some more info from the web and by trying stuff out:

  Hey, I confirmed this is the same on the actual machine so yep it looks like this was part of the ROM. I found a small amount of info, including that the maximum actual line number is 65279 (BBC BASIC V file format — Matt Godbolt’s blog (xania.org). It looks like the BASIC editor only properly dealt with lines up to 32767 (0x7FFF), including ANDing them with that when using LIST!
Weird things happen if you have a program with line numbers beyond 32767. LIST shows the wrong line numbers, RENUMBER doesn't renumber GOTOs properly.