Page 1 of 4

20x30, 40x15, 20x15 text mode

Posted: Sun Feb 14, 2021 5:15 pm
by mobluse

There are these text modes (below) now, but I would also like 20x30, 40x15, 20x15 text. They would be useful for making apps for visually impaired or that could be seen from a long distance. If I must choose only one of these text modes to be added, I would prefer 20x15. I know these characters could be drawn using bitmap graphics, but I would prefer e.g. a 20x15 text mode that works using PRINT in BASIC. Clarified feature request: Line wrap and screen editing should work as normal with e.g. 20x15 text mode.























$00

40x30 text

 

$01

80x30 text

(currently unsupported)

$02

80x60 text

 

$80

320x200@256c

40x25 text


20x30, 40x15, 20x15 text mode

Posted: Sun Feb 14, 2021 5:33 pm
by JimmyDansbo


Quote




10 SCREEN 0:REM 40X30

20 POKE $9F2A,32

20 POKE $9F2B,32



Gives you 20x15

You can omit line 10 and still get the same result, but then your cursor disappears.

Have a look at the VERA documenation and search for HSCALE or VSCALE


20x30, 40x15, 20x15 text mode

Posted: Sun Feb 14, 2021 5:51 pm
by mobluse

Thanks! but there are problems with it. I wrote:


Quote




10 SCREEN 0:REM 40X30

20 POKE $9F2A,32

30 POKE $9F2B,32

40 PRINT "X16   ";

50 GOTO 40



and RUN it and press Esc, but then "BREAK IN 40" and "READY." is not seen until I press Enter a number of times, and then it appears, but then there is no cursor and you cannot list the program. This 20x15 mode would need to be a bit improved so that line wrap works and the cursor is the same as before.


20x30, 40x15, 20x15 text mode

Posted: Sun Feb 14, 2021 5:55 pm
by desertfish

yeah, the interactive basic prompt will not "recognise" the resolution to be lower than 40x30 characters.

Your program however can deal with this just fine, If you're not printing text lines that wrap over the screen edges.  Just contrain everything within 20 columns and 15 rows and you should be ok


20x30, 40x15, 20x15 text mode

Posted: Sun Feb 14, 2021 6:08 pm
by JimmyDansbo


Quote




10 SCREEN 0

20 POKE $9F2A,32

30 POKE $9F2B,32

40 POKE $386,20

50 POKE $387,15



This should solve it, although the addresses $386 and $387 might change with new releases of the KERNAL


20x30, 40x15, 20x15 text mode

Posted: Sun Feb 14, 2021 6:31 pm
by mobluse

I tested this:


Quote




10 SCREEN 0

20 POKE $9F2A,32

30 POKE $9F2B,32

40 POKE $386,20

50 POKE $387,15

60 N=0

70 PRINT N;

80 N=N+1

90 GOTO 70



but it skips some numbers each third line when printing 4-digit numbers. I think line wrap and the screen editor should work as normal in 20x15 text mode.


20x30, 40x15, 20x15 text mode

Posted: Sun Feb 14, 2021 6:37 pm
by JimmyDansbo

I don't know how to solve that, but as @desertfish said, as long as your program stays within the 20x15 range, you should be good to go.

 


20x30, 40x15, 20x15 text mode

Posted: Sun Feb 14, 2021 7:08 pm
by Elektron72

Although this won't fix the skipped numbers, I recommend that you add these lines:


Quote




52 POKE $388,16

54 POKE $389,14



The kernal uses these variables, and sets them when switching to other screen modes. Therefore, setting them will likely make 20x15 mode act a bit more normal.


20x30, 40x15, 20x15 text mode

Posted: Sun Feb 14, 2021 7:17 pm
by kelli217


43 minutes ago, mobluse said:




I tested this:



but it skips some numbers each third line when printing 4-digit numbers. I think line wrap and the screen editor should work as normal in 20x15 text mode.



It skips on the two-digit numbers as well. They just go by so fast that you don't see them unless you add a delay in the loop.


20x30, 40x15, 20x15 text mode

Posted: Sun Feb 14, 2021 7:32 pm
by JimmyDansbo

How did you find out about the $388 and $389 addresses ? Do they actually do anything? I don't see any difference...