How to use line 25 ( Function Key line)

By rolandve

Master (254)

rolandve さんの画像

04-06-2020, 23:11

I tried to write something on line 25. For this I used a routine that writes directly to VRAM. However: I can't get anything on line 25. Is there anyone that has a clue how I can use line 25, while not working in screen 2 or higher?

Thanks!

ログイン/登録して投稿

By kanima

Master (194)

kanima さんの画像

05-06-2020, 00:11

In screen 0 and 1 there are only 24 lines, number 1 through 24 in the LOCATE command. To use the function key line, you need to turn them off using the KEY OFF command. Note that if you specify line 25 or higher in the LOCATE command it'll just end up on line 24.

By Grauw

Ascended (10619)

Grauw さんの画像

05-06-2020, 00:21

The function key line is line 23 (counting from 0).

On MSX2 and up, use vdp(10)=vdp(10) or 128 to switch the screen from 192 to 212 lines, a.k.a. 26.5 characters high.

By rolandve

Master (254)

rolandve さんの画像

05-06-2020, 09:33

Thanks!

By thegeps

Paragon (1062)

thegeps さんの画像

07-06-2020, 19:15

Well, you CAN write on line higher than 23 by extending the vram affected by commands like locate, print and cls... you can extend the numbers of line you'll be able to print POKEing the value you need at CRTCNT (address &hF3B1). But you actually can't see those lines if you don't scroll them...
Try this little listing. After executed you won't see the cursor (because it will be at line 56!! But if you repeatedly press ENTER you'll scroll trough VRAM and will see the printed lines! Then you can turn back to view the cursor by pressig curs up...

10 screen1:width32:keyoff:cls:poke&hf3b1,60
20 fork=0to55
30 locate0,k:printk;"A"
40 next