Alterations to the ZX Spectrum ROM ================================== J.G.Harston, (C)1985 * The bugs listed in The Complete Spectrum ROM Disassembly: - NMI routine. As Interface 1 uses the old NMIADD at &5CB0, NMI now uses &5C80. This was PR_CC, but is now unused as the ZX Printer routines have been replaced. - CHR$8 bug - CHR$9 bug - scroll?/press any key bug - INKEY#0 bug - Andrew Pennel, YS - CLOSE# bug - fixed by truncating the CLOSE table, as all the entries do nothing anyway. - SCREEN$ bug - "X"+STR$Y bug - -65536 bug. Note, the bugfix code in the CSRD is wrong. - Divide bit34 bug - SKIP_CONS doesn't try to write to the ROM * Changed preferences - Black border and paper, white ink on startup - Spaces removed from token strings, COPY replaced with CALL. * Extensions - New "P" channel that writes to a Centronics port at OUT (&FB). - SAVE s$ CODE extended to SAVE s$ CODE start,length[,extra[,reload[,type]]] - CAT[#s] will catalogue from tape. - CALL addr will call an address, replaces the COPY token. - Integers can be entered in hexadecimal with &, ie PRINT &4000 - Integers can be output in hexadecimal with PRINT~ and STR$~ - Replacement font - Lines entered character by character, and tokenised into Basic - No extended mode, all symbols entered with Symbol-Shift. (C) is SS-I. - When CAPS is set, CAPS key produces lower case. - Ascii keyboard on port &FD/&F9 * To do: - *command - Run mcode RUN "name"? *name? */name? *Run name? - |command - OPEN#s,"x" to scan CHANS - RSX area above RAMTOP