stardot/b-em

Text cursor is solid rather than inverting

Closed this issue · 7 comments

If I run this (with current master, 03d45f9):

10MODE 6
20VDU 23,0,10,&60,0,0,0,0,0,0:REM cursor start line to 0
30PRINT "X"
40PRINTTAB(0,0);
50REPEAT UNTIL FALSE

the flashing full-height cursor in b-em is a solid white block when it's on. On current jsbeeb and a random old version of BeebEm the cursor shows the X in black when it's on, i.e. it has inverted the character underneath it instead of covering it up.

I don't have real hardware handy to test on, so this may be a bug in jsbeeb instead. Fuzzy memories from BITD suggest the inverting behaviour is correct, but I'm not that confident.

OK, I have a master I could set up later this evening so I will do that do see how that behaves. If B-em has this wrong and JSBeeb has it correct I wonder how it diverged - did JSBeeb fix it or did it get broken by, for example NuLA? Anyway let's see what the correct behaviour is first. Oh, and did you see my update on your LEDs issue?

My Master has the cursor inverting the video output of whatever is underneath it so this does look like a bug in B-Em.

So as an extra sample, I tried in mode 1 with the logical foreground set to 1 (red) and the background set to 2 (yellow) and the flashing was now between a red X on a yellow background and a cyan X on a blue background.

Now, mode 1 again, remapping logical colour 1 (red) to physical colour 2 (green) gives flashing between green on yellow and magenta on blue.

I think this is solved. Can you test it, please (latest master) and then I can close.

Thanks Steve, I just gave this a try and it looks fine! Thanks a lot for the really quick fix!

Sorry, I hadn't noticed your comment on the LED issue but I got your e-mail earlier today and I've been taking a look at that - I'll reply shortly.

Thanks for testing this. I'll close it now, then.