The 96K 80 Column Mod And CPM

Avatar de Usuario
Womble
Mensajes: 75
Registrado: 19 Nov 2020 18:59
Agradecido : 15 veces
Agradecimiento recibido: 77 veces

The 96K 80 Column Mod And CPM

Mensajepor Womble » 29 Nov 2020 19:51

So, the 96K is supposed to be moddable to 80 columns.

And also it runs CPM.


I haven't done this mod myself.

Here is the diagram from Martyn Smith RIP where he shows an 80 column mod:

Lynx to Splynx ModsSmall.jpg
Lynx to Splynx ModsSmall.jpg (354.51 KiB) Visto 276 veces


larger here:

http://www.retrogubbins.co.uk/downloads ... ifications

There is no mention of a DRAM upgrade so does this mod allow GREEN+ALTGREEN to be 80 columns in green only?



There is also mention in some documents I have from Frank of a different upgrade, including 512x256 mod.

I will ask whether I can post them here, they are very interesting.

Avatar de Usuario
Womble
Mensajes: 75
Registrado: 19 Nov 2020 18:59
Agradecido : 15 veces
Agradecimiento recibido: 77 veces

Re: The 96K 80 Column Mod And CPM

Mensajepor Womble » 29 Nov 2020 19:53

Here is an advert for the 96K CPM upgrade:


cpm96ad.jpeg
(156.65 KiB) No descargado aún


I also have disk images of software to modify a 128 boot disk to 96k

Avatar de Usuario
kokkiklhs
Mensajes: 42
Registrado: 31 Oct 2019 21:54
Agradecido : 62 veces
Agradecimiento recibido: 14 veces

Re: The 96K 80 Column Mod And CPM

Mensajepor kokkiklhs » 29 Nov 2020 21:34

Womble escribió:Here is an advert for the 96K CPM upgrade:


"You will need to obtain faster DRAM ICs for 80col"???
-shock

jltursan
Mensajes: 3271
Registrado: 20 Sep 2011 13:59
Agradecido : 309 veces
Agradecimiento recibido: 859 veces

Re: The 96K 80 Column Mod And CPM

Mensajepor jltursan » 30 Nov 2020 09:29

Probably the more video data per row, the faster the RAM must serve this data.

In a 48 converted to 96 Lynx the main RAM bank must be, I guess, mounted in sockets so no problem here; but I wonder if the additional RAM bank must be also upgraded.

And that 128K CP/M patches sounds great!

Avatar de Usuario
Kyp
Mensajes: 554
Registrado: 03 Oct 2013 17:13
Agradecido : 48 veces
Agradecimiento recibido: 177 veces

Re: The 96K 80 Column Mod And CPM

Mensajepor Kyp » 30 Nov 2020 17:11

To have 80 columns it is necessary to read data twice as fast. In any case, that does not affect the FPGA implementation where the RAM chips are much faster than necessary. I just need to change some clock speeds and the patched ROM.

In the original hardware, changing the ROM we get 80 columns in BASIC or does it only work with CP/M?

jltursan
Mensajes: 3271
Registrado: 20 Sep 2011 13:59
Agradecido : 309 veces
Agradecimiento recibido: 859 veces

Re: The 96K 80 Column Mod And CPM

Mensajepor jltursan » 30 Nov 2020 18:05

In the Danish docs here, the last mod pictured shows a BASIC listing to enable the 80 columns mode, or at least I think so...:-)

Avatar de Usuario
Womble
Mensajes: 75
Registrado: 19 Nov 2020 18:59
Agradecido : 15 veces
Agradecimiento recibido: 77 veces

Re: The 96K 80 Column Mod And CPM

Mensajepor Womble » 01 Dic 2020 12:14

As I say I'm unsure whether the two mods described do different things, one of them I think does 80 col in green only by adding in the alt green as the second 'column'. The other is a full 80 col full colour screen as in the 128.

Avatar de Usuario
Kyp
Mensajes: 554
Registrado: 03 Oct 2013 17:13
Agradecido : 48 veces
Agradecimiento recibido: 177 veces

Re: The 96K 80 Column Mod And CPM

Mensajepor Kyp » 01 Dic 2020 13:04

IMHO with a standard Lynx 96K it is only possible to have 80 cols in green. 80 columns x 24 rows x 8 lines per row = 15360 bytes. To get full color we need three 16K pages but we only have two. Leaving the blue/red page blank to avoid fancy effects we only have the green/altgreen page to display data.

jltursan
Mensajes: 3271
Registrado: 20 Sep 2011 13:59
Agradecido : 309 veces
Agradecimiento recibido: 859 veces

Re: The 96K 80 Column Mod And CPM

Mensajepor jltursan » 01 Dic 2020 15:29

Agreed with Kyp; but the translated text in the mod makes me wonder about its possibilities:

Switching 6845 from 256x256 to 512x256

Video RAMs should be changed to 4164 7bit

A small program must be run that reprograms 6845
+ Video driver in BASIC

84 characters/lines

Listing.png
Listing.png (48.33 KiB) Visto 142 veces

If the BASIC is writing 6845 registers 0,1,2 & 3 (not sure about this), these are the parameters being reprogrammed:

0) Horizontal Total: Width of the screen, in characters. Should always be 63 (64 characters). 1 character == 1μs.
1) Horizontal Displayed: Number of characters displayed. Once horizontal character count (HCC) matches this value, DISPTMG is set to 1.
2) Horizontal Sync Position: When to start the HSync signal.
3) Horizontal and Vertical Sync Widths: HSync pulse width in characters (0 means 16 on some CRTC), should always be more than 8; VSync width in scan-lines. (0 means 16 on some CRTC. Not present on all CRTCs, fixed to 16 lines on these)

Following this, seems that only 64 chars per line are visible; but I'm not sure about the rest of the program, maybe the WINDOW and DPOKE commands turn the display into a 84 columns screen.

Avatar de Usuario
Mike
Mensajes: 52
Registrado: 20 Jun 2020 00:13
Agradecido : 129 veces
Agradecimiento recibido: 53 veces
Contactar:

Re: The 96K 80 Column Mod And CPM

Mensajepor Mike » 01 Dic 2020 16:33

(Without understanding anything) isn't the 6845 using 8 bits per character (width), but the Lynx has a 6 bit font. So 64 (6845) characters = 80 Lynx chars?

64x8 = 512 bits

The "window" command X value is in two bit increments. Eg. normally it might be: window 0,124,0,252 - meaning 248 columns (bits).

So, yes, the window command (in the listing) turns it into 84 columns.

Sorry if I am just stating the obvious and have misunderstood you!!

jltursan
Mensajes: 3271
Registrado: 20 Sep 2011 13:59
Agradecido : 309 veces
Agradecimiento recibido: 859 veces

Re: The 96K 80 Column Mod And CPM

Mensajepor jltursan » 01 Dic 2020 17:20

Mike escribió:(Without understanding anything) isn't the 6845 using 8 bits per character (width), but the Lynx has a 6 bit font. So 64 (6845) characters = 80 Lynx chars?


True, and probably you're right. I dont' really know what's a "character" for the 6845 so if you say that they're 8 bits each, your maths are correct :-)

Now, where's that 74LS241 and how is it wired?, seems to have a lot of connections. And last but not least, what "video RAM" must be upgraded with 4164 ICs?

Avatar de Usuario
Womble
Mensajes: 75
Registrado: 19 Nov 2020 18:59
Agradecido : 15 veces
Agradecimiento recibido: 77 veces

Re: The 96K 80 Column Mod And CPM

Mensajepor Womble » 01 Dic 2020 17:53

That's right mike, though it works in some odd 4 pixel blocks vertically I think, or at least it does on the lynx. It was originally meant to be a character
based device indexing into some sort of character rom.


I think there's a bit/signal called COLSEL somewhere which might have something to do with this.

For reference the Lynx 128 registers are setup as follows:

lynx128reg6845.jpg
lynx128reg6845.jpg (56.1 KiB) Visto 123 veces


From the Danish listing

Horiz Total of 96 x 8 bits = 768

Horiz Displayed = 64 x 8 bits = 512 pixels / 6 pixelsPerchar = 85 characters (?)



6273 is BPERL bytes per line sys var, I'm searching docs to find what 62B9 is.

Avatar de Usuario
Womble
Mensajes: 75
Registrado: 19 Nov 2020 18:59
Agradecido : 15 veces
Agradecimiento recibido: 77 veces

Re: The 96K 80 Column Mod And CPM

Mensajepor Womble » 01 Dic 2020 18:15

62B9 is the main hook for character output function

lynxCharout.jpg
lynxCharout.jpg (132.24 KiB) Visto 120 veces

Avatar de Usuario
Womble
Mensajes: 75
Registrado: 19 Nov 2020 18:59
Agradecido : 15 veces
Agradecimiento recibido: 77 veces

Re: The 96K 80 Column Mod And CPM

Mensajepor Womble » 01 Dic 2020 18:23

SO it changes the main character output routine to C2

"11110101", -- 0x00C2 F5 PUSH AF
"11100101", -- 0x00C3 E5 PUSH HL
"11010101", -- 0x00C4 D5 PUSH DE
"11000101", -- 0x00C5 C5 PUSH BC
"11001101", -- 0x00C6 CD CALL $00E7 <-- prints a character 6 x 10 to the screen
"11000001", -- 0x00C9 C1 POP BC
"11010001", -- 0x00CA D1 POP DE
"11100001", -- 0x00CB E1 POP HL
"11110001", -- 0x00CC F1 POP AF
"11001001", -- 0x00CD C9 RET

usually the 62B9 jump points to the routine at 9A:

--Print character in register A
"11100101", -- 0x009A E5 PUSH HL HL=$0762 (return address) *** Output the character in A reg ***
"00101010", -- 0x009B 2A LD HL,($6273) HL=$4000
"01110011", -- 0x009C 73
"01100010", -- 0x009D 62
"11001011", -- 0x009E CB BIT 6,L
"01110101", -- 0x009F 75
"11100001", -- 0x00A0 E1 POP HL HL=$0762
"11001010", -- 0x00A1 ...


Volver a “Camputers Lynx”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado