What are editor scratchpads?

I've been reading and experimenting with 128 bank switching and using the shadow screen.

The technical reference here states that "RAM banks 1,3,4,6 and most of 7 are used for the silicon disc; the rest of 7 contains editor scratchpads."

So, please can someone tell me what the silicon disc and editor scratchpads are and point me to some relevant info about them. My own searches have revealed nothing useful so far but I suspect my ignorance may be leading to me asking the wrong questions.

Ta

S

Comments

  • The silicon disk (also called RAM disk) is an area of 64K that can be used as temporary storage (it will be lost when powering off). On +2A and +3 it's the M: drive. The scratchpads are areas used by 128k editor... I guess they're used to edit lines.

    Spectrum +2A and +3 are slightly different... first 4k of page 1 is used as disk cache by default, and almost the entire page 7 is forbidden if you intend to use the disk drive. Also, some bytes in page 7 are altered any time an interrupt is called (they're used as a timer to stop FDD motor).

    So, a fast usage guide:
    - You can use SAVE and LOAD to put data on the silicon disk, but it may not be the best thing to do (although some game did it).
    - On a 128k/+2, pages 1, 3, 4, 6 and 7 can be used freely as "raw" storage (I mean, using PEEK and POKE to read them), providing you don't SAVE anything there or break the program (that, in turn, will use the editor and corrupt page 7).
    - On a +2A/+3 you can use pages 1, 3, 4 and 6 if you don't use "M:".
    - Once you go into machine code and use your own interrupt routine (or disable interrupts), you may use the entire 128k without any restrictions (unless you intend to use +3DOS calls, that will use page 7).
    - Although page 7 is a minefield, the first 6912 bytes (=the second screen) are "safe".
    I was there, too
    An' you know what they said?
    Well, some of it was true!
    Thanked by 1KrazyKattapilla
  • Hi Zup,

    Thanks for such a comprehensive answer it is very helpful and inadvertently answers another question I had :)

    I am using M/C and have got a simple hello world working using page 7. Essentially, switch in page 7, write to it, switch in page 4, swap to the shadow screen. It was an exercise to see how it works and check little things like whether a screen had to be switched in to be shown. All good fun


    S
  • Page 7 on the +3 is safe, if you plan to use the disk features or the system editor, between addresses 49152 and 60415 for a total of 11264 bytes. From 60416 on, editor workspace variables begin. However, if your program does not return to BASIC, and does not make use of the disk drive, I think the remaining space could also be used.

    Also see this thread and Paul Farrow's disassembly of the +2A/+3 ROM 2 here.
    Thanked by 1KrazyKattapilla
  • On the +2A/+3 you can also claim back some of the space normally reserved by the ramdisk by using the +3DOS call DOS SET 1346. Once you've done that neither BASIC nor the disk subsystem will use the space allocated, though obviously drive M: will be a bit smaller.
    Thanked by 1KrazyKattapilla
Sign In or Register to comment.