|
Post by mirkosoft on Nov 15, 2014 8:20:30 GMT
Hi!
I can't understand why are in VIC2/VIC2E high nibbles unused. Why designers forgot this. For example use: - mixing colors to use 256 colors - 4 bits each for attribute like VDC (flash, underline, reverse, alternate) It could allow VIC to use 2 fonts in one screen, minimally flash 'cause underline attribute is harder to implement and reverse attribute is also in case of VDC forgotten... Reverse attribute is used in come Commodore computer and allows to use true 256 characters font - no reverse part needed and freeing it 128 new chars... My Q is not about why is it forgotten.
When user fills color RAM for example with byte $01 it overrides it and can be F1, 01, 71 etc.
Is possible to get control of these 4 bits (high nibble)?
If it can be possible it opens new door to programming VIC2 or VIC2E.
Thank you for all suggestions and ideas.
Miro
|
|
|
Post by hydrophilic on Nov 15, 2014 15:43:08 GMT
If you look at C128 schematics, you will see that only low 4 bits are connected to Color RAM. It is a shame the CPU can not write the high 4 bits, but it was a very practical design because the VIC-II(e) can only access the low 4 bits.
With a simple hardware mod, you could write all 8 bits of Color RAM in the C128. Unless you are desperate for 1K of extra RAM, this is stupid. For a C64, you would need a major hardware mod!
In summary, Color RAM is only 4 bits wide on the C128... just like the C64. Just be grateful that Bil Herd (or other engineers) decided to give us 2 banks of Color RAM!
|
|
|
Post by mirkosoft on Nov 16, 2014 15:22:33 GMT
Of course Robert, no everybody uses 128's secondary color RAM... it's not so known. But really looking what could to do attributes if they could be available, like VDC. Only one attribute featuring VDC is useless - reverse. Mean I correctly that's only 'cause 128 Editor - common with VIC and VDC?
Miro
|
|
WTE
Windows User
Posts: 4
|
Post by WTE on Nov 16, 2014 19:01:43 GMT
Only one attribute featuring VDC is useless - reverse. No, it's not useless. It' pretty fine! Instead of using 2 fonts with normal and reverse chars you may use 4 fonts with only normal chars and create the reverse version by using the reverse attribute. If you use the PRINT vector in the zero page you can change the behaviour of normal control-"R" print codes and may add additionl control codes to access the additional fonts. I use this in MYSOFT programs to have a standard font a bold, italic and script font. All in normal and reverse at the same time on the VDC screen.
|
|
|
Post by hydrophilic on Nov 17, 2014 7:35:55 GMT
Miro, if you use standard KERNAL routines, then reverse attribute of VDC is useless. But like WTE said, you can use custom screen-print routines which double the number of characters by using VDC Reverse attribute... and because VDC can have 2 fonts on-screen at the same time (with VDC Alternate attribute), you can effectively have 4 fonts (128 characters each) if you invoke custom text-screen code.
|
|
|
Post by mirkosoft on Nov 17, 2014 16:16:16 GMT
Hi boys! Perfect to know. Only one not understand: Own routine allows text mode or graphic emulating text? TUI or TGUI? True text mode by PRINT vector in the zero page? What a vector it is? TUI works with 128 Editor, writting own 80 Editor meaning where it gets reverse characters? TGUI is other, 16K VDC not available, easy usable so many fonts/characters how are available in VDC RAM... Also easy of use more than 4bit attributes This system uses text output of The Ace Old look, new look works in true GUI...
So finally Q: Allows 4 charsets true text mode? If how? Really don't understand correctly.
Miro
|
|
|
Post by VDC 8x2 on Nov 19, 2014 5:42:41 GMT
it is using the reverse attribute to have the reverse characters. ergo can have 4 char sets with reverse handled by using the reverse bit.
|
|
|
Post by mirkosoft on Nov 19, 2014 16:02:22 GMT
I know that's by attribute, but Q is how generates VDC reverse character?
Miro
|
|
|
Post by VDC 8x2 on Nov 20, 2014 7:31:58 GMT
The same way the vicII does if you don't do anything different
|
|
|
Post by hydrophilic on Nov 20, 2014 8:49:37 GMT
So codes 0~127 for font 1; codes 128~255 for font 2 (all with Alternate bit of attribute as clear[0]). And codes 0~127 for font 3; codes 128~255 for font 4 (all with Alternate bit of attribute as set[1]).
Those are all 'normal' characters (set[1] Reverse bit of attribute for 'reverse' characters).
Edit Perhaps that is too brief to understand? So here is another way to think about it...
The VIC(II) chip can only display 256 characters in hardware, and it has no 'reverse character' feature.
So Commodore used a software solution: screen codes 0~127 are 'normal' and screen codes 128~255 are 'reversed' (these are screen codes not ASCII codes). In other words, a CBM character set is really 128 characters, and software is used to implement characters with a reverse font.
Because the VDC does have 'reverse character' in hardware, and it supports 256 characters in a set, then you can easily have 2 fonts... but the VDC also allows 2 different character sets at the same time (by 'alternate' bit of attribute). So now you can have 4 fonts!
For this to work, you need to specially manipulate the attribute RAM if you want reverse video. The KERNAL/Editor does not do this... it uses the same 'software' method to generate reverse characters as the VIC. So you need to write custom code to take advantage of 'hardware-reverse' characters and get 4 character sets.
I hope now it makes sense, but ask if you still have questions! /Edit
|
|