Series II RevD video swap driver

waltermixxx
Posts: 118
Joined: Sun Feb 03, 2019 10:31 pm

Re: Series II RevD video swap driver

Post by waltermixxx » Wed Apr 17, 2019 4:45 am

Also I'm using CEGMON in my 600D board. :) if that makes a difference. :)
Turning into quite an OSI Junkie (HTFDTH?) Superboard II REV B-40K, 9600b, HC-05 Bluetooth, Superboard II Rev D, C4P rebuild- 502, 542c, 540B. :)

dave
Site Admin
Posts: 559
Joined: Tue Sep 09, 2008 5:24 am

Re: Series II RevD video swap driver

Post by dave » Wed Apr 17, 2019 10:16 pm

It looks like CEGMON hard codes the line length and screen size, so I don't think a simple set of POKES will work.

However, you could burn two CEGMON images into a 2732 or 2764, and use the /32 line to control A11 to select between the images. Or, if you wanted to control the image separately, use the BK0 or BK1 line to control A11. Or place multiple images, CEGMON for 32/64 and SYNMON, etc. in a 2764, and use BK0 and BK1 to select them.

I think BASIC tracks the line length separately, so you'd still want the POKEs to locations $0f and $10.

Cheers,

Dave

MK14HAK
Posts: 343
Joined: Wed Mar 16, 2011 1:49 am
Location: New Zealand

Re: Series II RevD video swap driver

Post by MK14HAK » Sat Apr 20, 2019 8:07 am

VSwap RevD.jpg
VSwap RevD.jpg (303.44 KiB) Viewed 1426 times
RevD Reg.jpg
RevD Reg.jpg (190.05 KiB) Viewed 1426 times
600RevB:16K,2MHz,64x32,470,CEGMON
SuperKit:502,540B,542B,CEGMON, 8" and 5" FDDs
Cards:PE IO,6522 D-A-D, AY3-8910,ProgramGraphics,Color,UK101
WIP:HexDOS,FDD Emulator

Steve Gray
Posts: 281
Joined: Mon Oct 06, 2008 1:54 pm
Location: Markham, Ontario, Canada
Contact:

Re: Series II RevD video swap driver

Post by Steve Gray » Sat Apr 20, 2019 5:27 pm

It seems CEGMON's windowing feature can be used very simply by poking new values into the proper locations. See manual here:
cegmon-windows.jpg
cegmon-windows.jpg (271.53 KiB) Viewed 1421 times
I will look through the source code to see if there is any space for code to toggle the correct window value using a simple keystroke.

Steve
C4P working, C1P working. 600D Replica working, C4P+D&N floppy not working. 505 board, 610 board, Mittendorf board, TOSIE hacker board need testing, PicoDOS disk untested.

MK14HAK
Posts: 343
Joined: Wed Mar 16, 2011 1:49 am
Location: New Zealand

Re: Series II RevD video swap driver

Post by MK14HAK » Sat Apr 20, 2019 9:52 pm

I would be great to get a dump of the SWAP cassette routine to aid doing this. I used the Cegmon window feature in autoSI.Its a bit touchy about positioning the cursor after a resize. Your will have to home the cursor and play around a bit.Come on Dave, dump that tape ...

I remember adding the control register swap into Cegmon for a single key video size change but never had the swap code back in the day.
I did this for a friend and also did a board with all my BASIC Premier extension ROMs and BASIC command hacks for him. (My modified RevB had sound and colour and other added BASIC commands,no guard band 64 columns,switched kybd invert, PIA, VIA DAC ADC, 470BD and 8" drives) Fun times.This friend later moved on to BBC Micro and gifted me his RevD including the "space age" white plastic case. I've always wanted to upgrade the video on this but now would rather just do a more modern full RevD upgrade.
Mike
600RevB:16K,2MHz,64x32,470,CEGMON
SuperKit:502,540B,542B,CEGMON, 8" and 5" FDDs
Cards:PE IO,6522 D-A-D, AY3-8910,ProgramGraphics,Color,UK101
WIP:HexDOS,FDD Emulator

Steve Gray
Posts: 281
Joined: Mon Oct 06, 2008 1:54 pm
Location: Markham, Ontario, Canada
Contact:

Re: Series II RevD video swap driver

Post by Steve Gray » Mon Apr 22, 2019 8:06 pm

Walter and I did a quick test. Using CEGMON for c1 we wrote a little program to clear the screen, poke the contol register, then poke the uk101 values into the 546-550 locations, followed by printing the HOME chr. This seemed to not work properly until we scrolled the screen a bit. Still, there seemed to be some characters stuck on the screen... perhaps the pokes need to be in a different order or clearing the screen instead of home. More testing is needed.
C4P working, C1P working. 600D Replica working, C4P+D&N floppy not working. 505 board, 610 board, Mittendorf board, TOSIE hacker board need testing, PicoDOS disk untested.

MK14HAK
Posts: 343
Joined: Wed Mar 16, 2011 1:49 am
Location: New Zealand

Re: Series II RevD video swap driver

Post by MK14HAK » Tue Apr 23, 2019 1:39 am

Are you clearing the screen or window. If I remember you home the cursor last. You may have to do a line feed after that and out a space to blank the cursor before your print is correct in the new window.
600RevB:16K,2MHz,64x32,470,CEGMON
SuperKit:502,540B,542B,CEGMON, 8" and 5" FDDs
Cards:PE IO,6522 D-A-D, AY3-8910,ProgramGraphics,Color,UK101
WIP:HexDOS,FDD Emulator

Steve Gray
Posts: 281
Joined: Mon Oct 06, 2008 1:54 pm
Location: Markham, Ontario, Canada
Contact:

Re: Series II RevD video swap driver

Post by Steve Gray » Tue Apr 23, 2019 6:42 pm

Ok, so I think I can confirm that the hardware screen width is hardcoded into CEGMON. If they had stored it into the area where the window parameters are stored then it would probably work properly, although I'm not entirely sure how the BASIC ROMs factor in (there is the width stored in the rom that BASIC references).

So at this point it looks like you need two monitor roms and some way to switch them. Ultimately I want to take the source code and fix it, assuming there is room in the 2K rom limit.

Steve
C4P working, C1P working. 600D Replica working, C4P+D&N floppy not working. 505 board, 610 board, Mittendorf board, TOSIE hacker board need testing, PicoDOS disk untested.

MK14HAK
Posts: 343
Joined: Wed Mar 16, 2011 1:49 am
Location: New Zealand

Re: Series II RevD video swap driver

Post by MK14HAK » Thu Apr 25, 2019 8:43 am

Numerous CEGMON eproms and files here. It would take some time to find what looks like original.I take a look at whats currently on my RevD and upload it. I found this 2532 that looks interesting and some BASIC swap code. It's not the cassette version though unfortunately. HexDOS I think.

10000 REM SWITCH VIDEO FOR SUPERBOARD SERIES II REVD
10020 IF PEEK(2542)=64 THEN 10090
10025 REM SWITCH TO 12*48 VIDEO MODE
10030 POKE2542,64:POKE2489,64:POKE2571,64
10040 POKE2569,63:POKE2301,63
10045 POKE546,47:POKE547,139:POKE548,208
10050 POKE549,75:POKE550,211:PRINTCHR$(26)
10055 POKE 55678,1
10060 END
10090 REM SWITCH TO 24*24 VIDEO MODE
10100 POKE2542,32:POKE2489,32:POKE2571,32
10110 POKE546,23:POKE547,133:POKE548,208
10115 POKE549,101:POKE550,211:PRINTCHR$(26)
10120 POKE55678,0
10130 END
Attachments
CEGMON 4K Swap.jpg
CEGMON 4K Swap.jpg (950.44 KiB) Viewed 1360 times
600RevB:16K,2MHz,64x32,470,CEGMON
SuperKit:502,540B,542B,CEGMON, 8" and 5" FDDs
Cards:PE IO,6522 D-A-D, AY3-8910,ProgramGraphics,Color,UK101
WIP:HexDOS,FDD Emulator

Steve Gray
Posts: 281
Joined: Mon Oct 06, 2008 1:54 pm
Location: Markham, Ontario, Canada
Contact:

Re: Series II RevD video swap driver

Post by Steve Gray » Thu Apr 25, 2019 2:50 pm

MK14HAK wrote:
Thu Apr 25, 2019 8:43 am
Numerous CEGMON eproms and files here. It would take some time to find what looks like original.I take a look at whats currently on my RevD and upload it. I found this 2532 that looks interesting and some BASIC swap code. It's not the cassette version though unfortunately. HexDOS I think.

10000 REM SWITCH VIDEO FOR SUPERBOARD SERIES II REVD
10020 IF PEEK(2542)=64 THEN 10090
10025 REM SWITCH TO 12*48 VIDEO MODE
10030 POKE2542,64:POKE2489,64:POKE2571,64
10040 POKE2569,63:POKE2301,63
10045 POKE546,47:POKE547,139:POKE548,208
10050 POKE549,75:POKE550,211:PRINTCHR$(26)
10055 POKE 55678,1
10060 END
10090 REM SWITCH TO 24*24 VIDEO MODE
10100 POKE2542,32:POKE2489,32:POKE2571,32
10110 POKE546,23:POKE547,133:POKE548,208
10115 POKE549,101:POKE550,211:PRINTCHR$(26)
10120 POKE55678,0
10130 END
I have been working on the CEGMON source code. I now have modified the code so it assembles with ACME without errors. I have added all the symbol names and labels from the manual, and added conditionals to assemble different versions. I am currently working to replace all the Lxxx labels with the proper labels and add additional commenting. All of this will be posted on Github soon.

If you wouldn't mind trying to dump the ROMs you have I can compare them with the source I have and perhaps add in any useful modifications that might be found.

Steve
C4P working, C1P working. 600D Replica working, C4P+D&N floppy not working. 505 board, 610 board, Mittendorf board, TOSIE hacker board need testing, PicoDOS disk untested.

Post Reply