Return to the Home Page...
Features on BBC BASIC programming...
Your questions and answers...
Buy or Sell an NC...
The NC200 manual and data sheets for BBC BASIC...
Information about BBC BASIC on the NC...
Free software for you to download...

Tim's Amstrad NC Users' Site

Capturing the NC Screen

By Tim Surtell

When using most parts of the NC's software (Unfortunately not BBC BASIC) it is possible to capture the contents of the screen to a file by pressing CONTROL-SHIFT-S. What the computer actually does is save the screen memory to a file. The screen capture files have filenames beginning with 's.'. For the first capture, the extension is 'a', for the next it is 'b' and so on.

Screen Capture from a BASIC program

Rather than use the slow Screen Capture program in BBC BASIC, you can add the following code to your program at the point where you want to capture the screen:

REPEAT:CALL &B9B3:UNTIL FALSE

This code calls the NC keyboard read routine, and allows you to press CONTROL-SHIFT-S to capture the screen in your program. To exit afterwards, press STOP twice.

Getting a printout or transferring to a PC

If a suitable program is written to read the file and re-plot the screen, the screen can then be printed with a program such as 'Screen Dump'.

This is all very well, but if you have used 'Screen Dump' you will know how long it takes to print the screen!
The speed will also be slow when re-drawing a screen from a screen-capture file, since in both cases, each pixel has to be analysed -- the screen-capture file cannot be sent directly to the printer.

When I wanted to produce pictures of the NC200 screen for the Screen Shots page of this website, I could have printed out the screens onto paper and used a scanner to get the pictures onto my PC.
Instead I saw the program written by Mark Ray on his website that re-drew the screen from a file. He mentioned that the screen-captures on his pages used the same program written in Q-BASIC (he didn't give a listing!).

The program below is my version of the program written in Q-BASIC.

If the screen-capture files are saved to disk on the NC200, the screen will be re-drawn on your PC screen.
If you run Q-BASIC from Windows, you can press ALT-PRINTSCREEN to save the screen to the Windows clipboard. Then use a program such as Paintbrush to edit the picture. Pressing CONTROL-V or selecting 'Paste' from the 'Edit' menu will copy the image into the application. The screen will of course be inverted (ie., black is white, white is black) but this is not a problem since you can use the 'Invert' function from the 'Pick' menu of Paintbrush to invert the colours. You can then manipulate the screen shot, even adding colour to the screen!

Q-BASIC Screen-plotter ... 383 bytes

10 SCREEN 9
20 INPUT "Screenshot file ", SS$
30 CLS
40 OPEN "a:\notebook\" + SS$ FOR BINARY AS #1
50 FOR y = 0 TO 127
60 FOR x = 0 TO 479
70 IF (x MOD 8) = 0 THEN p$ = INPUT$(1, #1): p = ASC(p$)
80 IF p = 0 THEN x = x + 7
90 IF (p AND (2 ^ (7 - (x MOD 8)))) > 0 THEN LINE (x, y)-(x, y)
100 NEXT
110 FOR I = 1 TO 4: d$ = INPUT$(1, #1): NEXT
120 NEXT
130 CLOSE

Only joking!

 
© 1997 – 2021 Tim Surtell

Tim's Amstrad NC Users Site
www.ncus.org.uk

Return to top of page...

| Home | Features | Data Sheets | Questions | BBC BASIC | Software |