ENTERPRISE KLUB
2021. november 6., 1055 Budapest, Nyugati tér 9. 14-19 óráig
Belépés kizárólag klubtagok részére! (Klubkártyával vagy előfizetéssel!)
Welcome, Guest. Please login or register.


Author Topic: 80-column text and clipping the right hand side of characters (Read 3232 times)

Offline elmer

  • EP fan
  • *
  • Posts: 196
  • Country: us
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 83.0 Firefox 83.0
    • View Profile
The Enterprise's 40-column text video driver only allows two colour palette choices (0,1) or (2,3).

The Enterprise's 80-columm text video driver allows four colour palette choices (0,1), (2,3), (4,5), (6,7) ... but does so by enabling the Nick video setting that clips off the right hand side of text characters.

This works, but it looks really ugly, and from my personal point of view, it makes the Enterprise look really bad in comparison to the Amstrad CPC and the BBC Micro! :(

From what I can see, programs like EPDOS, HEASS, FENAS, etc implement their own 80-column text ouput routines so that they can avoid this and use the full 7-pixel width, even though that limits them to two colour palettes, the same as 40-column text.

Does anyone know of any Enterprise programs that use the 3rd or 4th colour palettes in 80-column text mode?

Can anyone think of a reason why I should not just patch EXOS to use the full 7-pixel width and limit 80-column text to two palettes?

From what I can see, all of the Intelligent Software languages only use two palettes anyway, because they need to work in both 40-column and 80-column text modes!

Offline geco

  • EP addict
  • *
  • Posts: 6303
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Chrome 86.0.4240.99 Chrome 86.0.4240.99
    • View Profile
Re: 80-column text and clipping the right hand side of characters
« Reply #1 on: 2020.November.29. 21:34:38 »
i do not know about program, which uses 80 column "text" mode, i think 2 color is neede mainly for the cursor.

Offline Zozosoft

  • EP addict
  • *
  • Posts: 14055
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Firefox 83.0 Firefox 83.0
    • View Profile
    • http://enterprise.iko.hu/

Online gflorez

  • EP addict
  • *
  • Posts: 3219
  • Country: es
  • OS:
  • Windows NT 6.3 Windows NT 6.3
  • Browser:
  • Firefox 83.0 Firefox 83.0
    • View Profile
Re: 80-column text and clipping the right hand side of characters
« Reply #3 on: 2020.November.29. 22:02:43 »
I have tried to use more than 2 colours on text 80 mode, but it has an annoying tendency to jump lines when there is CR or at the end of line. On the middle of the screen the alternate colours work great.

Offline elmer

  • EP fan
  • *
  • Posts: 196
  • Country: us
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 83.0 Firefox 83.0
    • View Profile
Re: 80-column text and clipping the right hand side of characters
« Reply #4 on: 2020.November.30. 21:03:55 »
For example my FDISK...

Thanks!

FDISK is a really nice program to demonstrate the use of the 4 palettes, but IMHO it wouldn't lose any important information by being limited to 2 palettes.

It will make an excellent test to verify that patching EXOS doesn't actually break anything!


i do not know about program, which uses 80 column "text" mode, i think 2 color is neede mainly for the cursor.

I can see the 2nd set of colours used for menu letters in HiSoft Pascal and in some CP/M programs, also in ASMON, but I didn't see any use of more than 2 palettes on a line until Zozo's FDISK.


I have tried to use more than 2 colours on text 80 mode, but it has an annoying tendency to jump lines when there is CR or at the end of line. On the middle of the screen the alternate colours work great.

That is good to know!

From what I can see, there won't be any programs that are made difficult to use by limiting 80-column text to 2 palettes.

As you may have guessed from my EXOS font changes ... I *really* care about making text readable and pleasant to look at, because as a programmer, I spend most of my day looking at screens full of text.

I have used my own customized font on the PC from the early days of MS-DOS, all the way up to current versions of Windows.

Online gflorez

  • EP addict
  • *
  • Posts: 3219
  • Country: es
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 83.0 Firefox 83.0
    • View Profile
Re: 80-column text and clipping the right hand side of characters
« Reply #5 on: 2020.December.01. 11:18:40 »
Then, what you want to do is modify the VIDEO: driver...?



And surgically on the EXOS Rom, like you did with the font....?




I suggest you another way that will be easier and with less handicaps: better modify the Interlace VIDEO: driver.

For some good reasons it will be the west way:

-You will learn how the relocatable code loads on the Enterprise. You always can convert the driver to fixed address for better developing.
-You will learn how an extension loads itself and installs. The same with a driver.
-Maybe you could fix some issues the Interlace mode has, to make it more usable....
-Etc...

Once you have a working driver you can proceed to modify/paste it inside the Rom.

Online gflorez

  • EP addict
  • *
  • Posts: 3219
  • Country: es
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 83.0 Firefox 83.0
    • View Profile
Re: 80-column text and clipping the right hand side of characters
« Reply #6 on: 2020.December.02. 16:07:36 »
I am taking a look to the Interlace file, and it doesn't loads as an extension, but as an user relocatable module(02 type-file)....

So probably I am totally wrong and there is not a VIDEO: driver inside...

Interlace is not new at all, so the content of the file is known since long time.

Offline Zozosoft

  • EP addict
  • *
  • Posts: 14055
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Firefox 83.0 Firefox 83.0
    • View Profile
    • http://enterprise.iko.hu/
Re: 80-column text and clipping the right hand side of characters
« Reply #7 on: 2020.December.02. 16:55:37 »
So probably I am totally wrong and there is not a VIDEO: driver inside...
No, you are right, it is add a new VIDEO: driver!
25910-0

Online gflorez

  • EP addict
  • *
  • Posts: 3219
  • Country: es
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 83.0 Firefox 83.0
    • View Profile
Re: 80-column text and clipping the right hand side of characters
« Reply #8 on: 2020.December.02. 17:51:21 »
Ah, great!

So now I am going to decode the relocatable file... with a Basic program.

I did the same long time ago, to study the Mordon Quest game.


Offline elmer

  • EP fan
  • *
  • Posts: 196
  • Country: us
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 83.0 Firefox 83.0
    • View Profile
Re: 80-column text and clipping the right hand side of characters
« Reply #9 on: 2020.December.02. 20:57:09 »
Then, what you want to do is modify the VIDEO: driver...?

Yes, that is the idea.

I have already found out where to patch both EXOS and IS-DOS, but I'm not happy with my EXOS patch yet, because there are a couple of unwanted side-effects that are showing up.


I suggest you another way that will be easier and with less handicaps: better modify the Interlace VIDEO: driver.

Creating a modified VIDEO driver would definitely be the cleanest way to make any changes, and it could also be used to inject my new font into the system without patching EXOS.

But doing that would really not make much sense unless there was already well commented source code available for the EXOS VIDEO driver.

Even then, it would make the most sense (IMHO) to include the driver inside modified version of the language ROMs, and I'm not sure if the source code for those ROMs is available, or if there is enough spare space within each ROM.

Seriously, since I am really only trying to fix my own personal dissatisfaction with the font rendering code, it is probably just easier for me to patch the programs that I need to.

As it is, with the changes in the new font, I suspect that I will be happy with just patching IS-DOS, and leaving the EXOS VIDEO driver alone so that it doesn't change the look of Zozo's FDISK, or ASMON's help screen (since I have now found that ASMON also uses more than 2-palettes in 80 column text mode).

Offline dangerman

  • User
  • *
  • Posts: 99
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 81.0 Firefox 81.0
    • View Profile
Re: 80-column text and clipping the right hand side of characters
« Reply #10 on: 2020.December.02. 21:54:56 »
I am taking a look to the Interlace file, and it doesn't loads as an extension, but as an user relocatable module(02 type-file)....

So probably I am totally wrong and there is not a VIDEO: driver inside...

As Zozosoft says, it does contain a new video driver. Because it's a user module and not an extension, the new driver doesn't remain when you leave Basic. It probably wouldn't be too hard to make an extension out of the existing code. I guess they didn't do this originally because it would take away one 16k segment and that would be a problem for the EP64. The interlaced screen already takes up most of the memory.

Offline dangerman

  • User
  • *
  • Posts: 99
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 81.0 Firefox 81.0
    • View Profile
Re: 80-column text and clipping the right hand side of characters
« Reply #11 on: 2020.December.02. 21:57:16 »
I have already found out where to patch both EXOS and IS-DOS, but I'm not happy with my EXOS patch yet, because there are a couple of unwanted side-effects that are showing up.

Wow - I'd be very interested in seeing these patches once you've got them working.

Online gflorez

  • EP addict
  • *
  • Posts: 3219
  • Country: es
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 83.0 Firefox 83.0
    • View Profile
Re: 80-column text and clipping the right hand side of characters
« Reply #12 on: 2020.December.02. 22:20:48 »
Okay no problem. As long as your "dissatisfaction" with the Enterprise doesn't grow excessively...

-----------------

I have been always curious with the bad behaviour of the Interlace driver, so I will continue reporting what I found.

I have made a basic listing to decode such relocatable files. It only shows a list of commands and its parameters as a row of bits, later it could be modified easily to save the data on other format, Hex or Raw.

If some of you want to see, for example, the entire 5KB of the Interlace.COM file, better put the emulator to max speed.

The interlaced screen already takes up most of the memory.

Great! I like to take the EP up to its limits.....

Online gflorez

  • EP addict
  • *
  • Posts: 3219
  • Country: es
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 83.0 Firefox 83.0
    • View Profile
Re: 80-column text and clipping the right hand side of characters
« Reply #13 on: 2020.December.03. 11:57:40 »
As Zozosoft says, it does contain a new video driver. Because it's a user module and not an extension, the new driver doesn't remain when you leave Basic. It probably wouldn't be too hard to make an extension out of the existing code. I guess they didn't do this originally because it would take away one 16k segment and that would be a problem for the EP64. The interlaced screen already takes up most of the memory.

You are right, the new VIDEO: driver is forced to install on the Basic area so, once the user exits from Basic the system is corrupted and forced to reset. That is annoying, but maybe they done that way because probably the Interlace driver works badly outside the Basic interpreter.

I have always read that an EP64 cant load the Interlace driver. At least on the emulator it crash.

Offline dangerman

  • User
  • *
  • Posts: 99
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 81.0 Firefox 81.0
    • View Profile
Re: 80-column text and clipping the right hand side of characters
« Reply #14 on: 2020.December.03. 23:34:57 »
I have always read that an EP64 cant load the Interlace driver. At least on the emulator it crash.

I had an original EP64 and the interlace driver was supplied with it on the demo cassette. It worked!

but maybe they done that way because probably the Interlace driver works badly outside the Basic interpreter.

Yes, I imagine most software would need to be modified to work in interlace mode. It may also be a problem that it only supports Text 80 and HIRES graphics modes.