Karoshi MSX Community

Desarrollo MSX => Rutinas - Snipets => Mensaje iniciado por: jltursan en 05 de Marzo de 2006, 04:50:34 pm



Título: Interlaced SC1 with 64 columns
Publicado por: jltursan en 05 de Marzo de 2006, 04:50:34 pm
Con esta rutina se pueden obtener 64 columnas en modo SC1 No me parece demasiado útil ya que cuando se trata de leer texto en pantalla, el parpadeo se puede hacer muy molesto, no como cuando se trata de los modos gráficos (como los 105 colores de "MSX Unleashed"), en los que importa menos.

A ver si a alguien se le ocurre algún uso para la rutina (quizás un lector de archivos de texto?)

You can try this to set a "new" SC1 text mode with 64 columns. Pretty useless due to the flickering, that unlike in the graphic modes (see "MSX Unleashed" 105 colors), it's very disturbing when you are reading a lot of text.

Maybe anyone could find some funny use to the routine (a text files reader for example?)

Código:
;------------------------------------------------------
;
; Description: Creates a SC1 based 64 columns mode by mixing two VRAM pages
;
; The new VRAM map is:
; 0000-07FF : Pattern table 1
; 0800-0FFF : Pattern table 2
; 1400-16FF : Name table 1
; 1800-1AFF : Name table 2
;
; Color, sprites & palette (MSX2) tables addresses are untouched
;
; Use asMSX to compile (although is easily adapted to other assemblers)
;
;------------------------------------------------------

        .bios
        .page 1
        .rom
.start MAIN
       
RG2SAV equ     $F3E1
RG4SAV equ     $F3E3

MAIN: ; Initializes SC1 with 15,1,1 colors & 32 columns
ld a,32
ld [$F3AF],a
ld a,15
ld [$F3E9],a
ld a,1
ld [$F3EA],a
ld [$F3EB],a
call INIT32

; fills both name tables with spaces (prolly useless)
ld hl,$1400
ld bc,$0700
ld a,32
call FILVRM

; dump to VRAM a 4 pixels right shifted font, based on the old one
ld hl,$0800+32*8
call SETWRT
ld hl,FONT4x8
ld bc,768
@@LOOP: ld a,[hl]
                and $F0
                rrca
                rrca
                rrca
                rrca           
out ($98),a
inc hl
dec bc
ld a,b
or c
jr nz,@@LOOP

; dump the font to VRAM
ld hl,FONT4x8
ld de,$0000+32*8
ld bc,768
call LDIRVM

                ; Sets active name table to address $1400
ld bc,$0502
call WRTVDP

; installs interupt hook
        call INSTALLISR

; prints an example text
ld hl,TXT1
ld de,$0000 ; X(0-63)Y(0-23)
call PUTS
@@HANG: jp @@HANG


;------------------------------------------------------
;
; Description: Prints a string
; Input: D = coord. X (0-63), E = coord. Y (0-23)
; Output: nothing
; Modifies: AF,HL,DE,BC
;
;------------------------------------------------------
PUTS: push hl
                ld h,0         
                ld l,e          ; Y
                add hl,hl       
                add hl,hl       
                add hl,hl       
                add hl,hl       
                add hl,hl       ; Y*32
ld b,$14
ld a,d
sra a
ld c,a ; X\2
add hl,bc       ; HL=NAME table position
call SETWRT
ex de,hl ; DE=VRAM
pop hl ; HL=TXT1
ld b,2         ; prints even & odd positions
@@LOOP2: push hl
@@LOOP1:        ld a,[hl]
or a
jr z,@@FINTXT
out ($98),a     ; outputs even char
inc hl
ld a,[hl]
or a
jr z,@@FINTXT
inc hl
jr @@LOOP1
@@FINTXT:       ld hl,$400      ; switch to odd chars
add hl,de
call SETWRT
pop hl
inc hl
djnz @@LOOP2
ret

;
; Interrupt routine
;
ISR: di
exx
        in a,($99)
        ld b,5
ld a,[VALUE]
inc a
ld [VALUE],a
; sets flag to 0-1 values
and 1
jr z,@@NOPAGE2
inc b
@@NOPAGE2: out ($99),a
ld [RG4SAV],a
ld a,$84
; sets active pattern table
out ($99),a
ld a,b
out ($99),a
ld [RG2SAV],a
ld a,$82
; sets active name table
out ($99),a
        exx
        ei
        ret

;
; Installs interrupt hook
;
INSTALLISR: di
        ld hl,$FD9F
        ld de,HOOK
        ld bc,5
        ldir
        ld a,$C3
        ld hl,ISR
        ld [$FD9F],a
        ld [$FD9F+1],hl
        ei
        ret

;
; Uninstalls interrupt hook (not used in this example! :P)
;
REMOVEISR: di
        ld hl,HOOK
        ld de,$FD9F
        ld bc,5
        ldir
        ei
        ret

;
; Example text
;
TXT1: DB "En un agujero en el suelo, vivia un hobbit."
DB " No un agujero humedo, sucio, repugnante, "
DB "con restos de gusanos y olor a fango, ni "
DB "tampoco un agujero seco, desnudo y arenoso, "
DB "sin nada en que sentarse o que comer: era un "
DB "agujero-hobbit, y eso significa comodidad. Tenia"
DB " una puerta redonda, perfecta como un ojo de "
DB "buey, pintada de verde, con una manilla de bronce"
DB " dorada y brillante, justo en el medio. La puerta"
DB " se abria a un vestibulo cilindrico, como un tunel:"
DB " un tunel muy comodo, sin humos, con paredes "
DB "revestidas de madera y suelos enlosados y "
DB "alfombrados, provisto de sillas barnizadas, y "
DB "montones y montones de perchas para sombreros "
DB "y abrigos; el hobbit era aficionado a las visitas.",0

;
; Guess what?. It's a 4x8 font...
;
FONT4x8:
DB $00,$00,$00,$00,$00,$00,$00,$00
DB $40,$40,$40,$40,$40,$00,$40,$00
DB $A0,$A0,$00,$00,$00,$00,$00,$00
DB $A0,$A0,$F0,$A0,$F0,$A0,$A0,$00
DB $40,$E0,$80,$40,$20,$E0,$40,$00
DB $A0,$20,$40,$40,$40,$80,$A0,$00
DB $40,$A0,$40,$80,$C0,$A0,$50,$00
DB $40,$40,$00,$00,$00,$00,$00,$00
DB $40,$80,$80,$80,$80,$80,$40,$00
DB $40,$20,$20,$20,$20,$20,$40,$00
DB $00,$00,$A0,$40,$A0,$00,$00,$00
DB $00,$00,$40,$E0,$40,$00,$00,$00
DB $00,$00,$00,$00,$00,$20,$40,$00
DB $00,$00,$00,$E0,$00,$00,$00,$00
DB $00,$00,$00,$00,$00,$00,$40,$00
DB $20,$20,$40,$40,$40,$80,$80,$00
DB $40,$A0,$A0,$A0,$A0,$A0,$40,$00
DB $40,$C0,$40,$40,$40,$40,$E0,$00
DB $40,$A0,$20,$40,$80,$80,$E0,$00
DB $40,$A0,$20,$40,$20,$A0,$40,$00
DB $A0,$A0,$A0,$E0,$20,$20,$20,$00
DB $E0,$80,$80,$C0,$20,$A0,$40,$00
DB $40,$A0,$80,$C0,$A0,$A0,$40,$00
DB $E0,$20,$20,$40,$40,$40,$40,$00
DB $40,$A0,$A0,$40,$A0,$A0,$40,$00
DB $40,$A0,$A0,$60,$20,$A0,$40,$00
DB $00,$00,$00,$40,$00,$00,$40,$00
DB $00,$00,$00,$20,$00,$20,$40,$00
DB $00,$20,$40,$80,$40,$20,$00,$00
DB $00,$00,$E0,$00,$E0,$00,$00,$00
DB $00,$80,$40,$20,$40,$80,$00,$00
DB $40,$A0,$A0,$20,$40,$00,$40,$00
DB $40,$A0,$A0,$C0,$80,$A0,$40,$00
DB $40,$A0,$A0,$E0,$A0,$A0,$A0,$00
DB $C0,$A0,$A0,$C0,$A0,$A0,$C0,$00
DB $40,$A0,$80,$80,$80,$A0,$40,$00
DB $C0,$A0,$A0,$A0,$A0,$A0,$C0,$00
DB $E0,$80,$80,$C0,$80,$80,$E0,$00
DB $E0,$80,$80,$C0,$80,$80,$80,$00
DB $40,$A0,$80,$A0,$A0,$A0,$40,$00
DB $A0,$A0,$A0,$E0,$A0,$A0,$A0,$00
DB $40,$40,$40,$40,$40,$40,$40,$00
DB $20,$20,$20,$20,$20,$A0,$40,$00
DB $A0,$A0,$A0,$C0,$A0,$A0,$A0,$00
DB $80,$80,$80,$80,$80,$80,$E0,$00
DB $A0,$E0,$E0,$A0,$A0,$A0,$A0,$00
DB $E0,$A0,$A0,$A0,$A0,$A0,$A0,$00
DB $40,$A0,$A0,$A0,$A0,$A0,$40,$00
DB $C0,$A0,$A0,$C0,$80,$80,$80,$00
DB $40,$A0,$A0,$A0,$A0,$C0,$20,$00
DB $C0,$A0,$A0,$C0,$A0,$A0,$A0,$00
DB $40,$A0,$80,$40,$20,$A0,$40,$00
DB $E0,$40,$40,$40,$40,$40,$40,$00
DB $A0,$A0,$A0,$A0,$A0,$A0,$60,$00
DB $A0,$A0,$A0,$A0,$A0,$A0,$40,$00
DB $A0,$A0,$A0,$A0,$E0,$E0,$A0,$00
DB $A0,$A0,$A0,$40,$A0,$A0,$A0,$00
DB $A0,$A0,$A0,$40,$40,$40,$40,$00
DB $E0,$20,$20,$40,$80,$80,$E0,$00
DB $60,$40,$40,$40,$40,$40,$60,$00
DB $80,$80,$40,$40,$40,$20,$20,$00
DB $60,$20,$20,$20,$20,$20,$60,$00
DB $40,$A0,$00,$00,$00,$00,$00,$00
DB $00,$00,$00,$00,$00,$00,$E0,$00
DB $40,$20,$00,$00,$00,$00,$00,$00
DB $00,$00,$00,$40,$A0,$A0,$60,$00
DB $00,$80,$80,$C0,$A0,$A0,$40,$00
DB $00,$00,$00,$60,$80,$80,$60,$00
DB $00,$20,$20,$60,$A0,$A0,$40,$00
DB $00,$00,$00,$60,$A0,$C0,$60,$00
DB $00,$20,$40,$E0,$40,$40,$40,$00
DB $00,$00,$00,$40,$A0,$60,$C0,$00
DB $00,$80,$80,$C0,$A0,$A0,$A0,$00
DB $00,$00,$40,$00,$40,$40,$40,$00
DB $00,$00,$40,$00,$40,$40,$80,$00
DB $00,$80,$A0,$C0,$A0,$A0,$A0,$00
DB $00,$40,$40,$40,$40,$40,$40,$00
DB $00,$00,$00,$A0,$E0,$A0,$A0,$00
DB $00,$00,$00,$E0,$A0,$A0,$A0,$00
DB $00,$00,$00,$40,$A0,$A0,$40,$00
DB $00,$00,$00,$C0,$A0,$C0,$80,$00
DB $00,$00,$00,$40,$A0,$60,$20,$00
DB $00,$00,$00,$A0,$C0,$80,$80,$00
DB $00,$00,$00,$20,$40,$20,$C0,$00
DB $00,$40,$40,$E0,$40,$40,$40,$00
DB $00,$00,$00,$A0,$A0,$A0,$60,$00
DB $00,$00,$00,$A0,$A0,$A0,$40,$00
DB $00,$00,$00,$A0,$A0,$E0,$A0,$00
DB $00,$00,$00,$A0,$40,$40,$A0,$00
DB $00,$00,$00,$A0,$A0,$40,$C0,$00
DB $00,$00,$00,$E0,$60,$80,$E0,$00
DB $20,$40,$40,$80,$40,$40,$20,$00
DB $40,$40,$40,$40,$40,$40,$40,$00
DB $80,$40,$40,$20,$40,$40,$80,$00
DB $40,$F0,$20,$00,$00,$00,$00,$00

;
; RAM variables
;
.page 3

VALUE: DS 1
HOOK: DS 5


Título: Re: Interlaced SC1 with 64 columns
Publicado por: WYZ en 05 de Marzo de 2006, 10:26:56 pm
Genial  ;)


Título: Re: Interlaced SC1 with 64 columns
Publicado por: Darth_Fistro en 05 de Marzo de 2006, 10:36:34 pm
¡Genial, JL!  ;)

Se trata ahora de pulirlo, pero creo que es algo nunca visto  :o

Ultimamente la gente se anima a llevar al MSX a las últimas consecuencias (voces digitalizadas, 105 colores, ahora esto...) ¿Qué nos espera después?  :o


Título: Re: Interlaced SC1 with 64 columns
Publicado por: WYZ en 05 de Marzo de 2006, 10:39:49 pm
Prueba a hacer 96 caracteres por linea con 3 bancos  ;D


Título: Re: Interlaced SC1 with 64 columns
Publicado por: pitpan en 06 de Marzo de 2006, 11:45:10 am
Está muy bien la rutina, sí señor. Pregunta preguntosa: la fuente de letra es la del eBook reader de Gameboy? Lo digo porque tienen un look muy parecido. O del intérprete de Infocom para Gameboy de NO$CASH? Bueno, en realidad supongo que en ese tamaño no hay mucho que hacer y todas las fuentes se parecen necesariamente.

En cuanto a aplicaciones, desde luego iría muy bien para aventuras conversacionales, salvo por el inconveniente del parpadeo, claro. Si no recuerdo mal, el procesador de textos TASSWORD utilizaba un modo de 60 columnas, pero sin parpadeos. Supongo que lo que hacía era redefinir a saco en SCREEN 2, lo cual lo aleja bastante de la técnica que utilizas.

Como utilidad directa, sí podrías crear la siguiente: EpilepticAttackLauncher v.1.0. Es el problema de todo lo que sea entrelazado: el parpadeo puede desatar crisis epilépticas en personas susceptibles. Es decir, no te provoca epilepsia si no la tienes, pero si la tienes y no se te ha diagnosticado, te puede provocar una crisis: ver el incidente de Pokemon en Japón. Aparte de esto, hay una diferencia muy grande entre entrelazado a 60 Hz y a 50 Hz. A 50 Hz el parpadeo es demasiado evidente. También tiene mucho que ver con el tipo de monitor/televisor que estéis empleando.

Más snippets!


Título: Re: Interlaced SC1 with 64 columns
Publicado por: jltursan en 06 de Marzo de 2006, 12:28:16 pm
Citar
la fuente de letra es la del eBook reader de Gameboy?

Nop, es una conversión a bitmap de una TTF que rula para PC, creo recordar que llamada "Micro clean".
Como tú dices a ese tamaño poco se puede hacer; de esa fuente existe una variante, "Micro Tech" que le da a las letras un cierto giro futurista; pero resulta poco práctico cuando el objetivo es que sea lo más legible y serio posible :)

Citar
Supongo que lo que hacía era redefinir a saco en SCREEN 2, lo cual lo aleja bastante de la técnica que utilizas.

Claro, si es que en la práctica creo que tiene poco uso. Si haces un conversacional y metes gráficos; pues compensa usar SC2 y si solo hay texto tampoco vas a ir tan pillado de velocidad como para necesitar este modo. Como ya digo la principal ventaja es el ahorro de memoria y la velocidad; poco más.

Citar
EpilepticAttackLauncher v.1.0

¡La idea es cojonuda!. Ahora, además de medirte la tensión, sangre y electros, te tendrían que tener mirando un rato un modo de pantalla entrelazado, ¡a ver quien aguanta eso! :guitar:
Fuera bromas, se me ha pasado por la cabeza el rizar el rizo y hacer un screensplit entre las 64 columnas y SC2; pero me temo que el follón con la VRAM sería cósmico :P.

Citar
Aparte de esto, hay una diferencia muy grande entre entrelazado a 60 Hz y a 50 Hz. A 50 Hz el parpadeo es demasiado evidente. También tiene mucho que ver con el tipo de monitor/televisor que estéis empleando.

Donde he conseguido un resultado muy bueno es a 60hz y con un TFT de 25ms de respuesta. Por supuesto con tinta blanca y fondo negro, claro.


Título: Re: Interlaced SC1 with 64 columns
Publicado por: SapphiRe en 06 de Marzo de 2006, 01:16:29 pm
Fuera bromas, se me ha pasado por la cabeza el rizar el rizo y hacer un screensplit entre las 64 columnas y SC2; pero me temo que el follón con la VRAM sería cósmico :P.

Aquí te lanzo el reto:

Screen split en MSX1 (usando detección de Sprites) poniendo un gráfico SC2 a 105 colores y luego entrelazando SC1 a 64 colores. También si los separas con una línea a pantalla completa (cambiando el color del borde, se entiende) quedaría bastante chulo.

Por supuesto con 16K de VRAM... tiene que funcionar en mi HX-10 ;D


Título: Re: Interlaced SC1 with 64 columns
Publicado por: pitpan en 06 de Marzo de 2006, 01:59:49 pm
Pero si el Toshiba HX-10 tiene 64 KB! Lo que sucede es que tiene la RAM en el slot 2 en lugar del 3 y eso lo hace un poco especial. Peor es el HX-20, que tiene 32 KB en un slot y 32 KB en otro. Encuentra la RAM!


Título: Re: Interlaced SC1 with 64 columns
Publicado por: SapphiRe en 06 de Marzo de 2006, 02:27:35 pm
Pero si el Toshiba HX-10 tiene 64 KB! Lo que sucede es que tiene la RAM en el slot 2 en lugar del 3 y eso lo hace un poco especial. Peor es el HX-20, que tiene 32 KB en un slot y 32 KB en otro. Encuentra la RAM!

Me faltaba una V...  ::)


Título: Re: Interlaced SC1 with 64 columns
Publicado por: jltursan en 06 de Marzo de 2006, 02:36:14 pm
Citar
Screen split en MSX1 (usando detección de Sprites) poniendo un gráfico SC2 a 105 colores y luego entrelazando SC1 a 64 colores. También si los separas con una línea a pantalla completa (cambiando el color del borde, se entiende) quedaría bastante chulo.

Ese era el formato que tenía en mente; pero ni reto, ni leches; sospecho que no se puede hacer :-\. A falta de mirar con lupa los mapas de la VRAM (¡quiero ese documento de SC2-105! ;D) yo diría que no bastaría con cambiar unos cuantos registros; así sin más... :P


Título: Re: Interlaced SC1 with 64 columns
Publicado por: SapphiRe en 06 de Marzo de 2006, 04:26:15 pm
¡quiero ese documento de SC2-105!

Le he preguntado a Daniel si puedo mandar la presentación PPT y me ha dicho que sin problemas, revisa tu correo :P


Título: Re: Interlaced SC1 with 64 columns
Publicado por: jltursan en 06 de Marzo de 2006, 05:14:59 pm
¡Yippeee!, ¡en cuanto vuelva le echo una miradita!


Título: Re: Interlaced SC1 with 64 columns
Publicado por: dvik en 26 de Junio de 2006, 08:42:50 pm
Very cool  :D

Would it be possible to patch the width command in basic so you can get a width 64 mode? I know some external 80 column video cards patches something so that you get something like an 80 column screen 0. I think it would be possible to do a "SCREEN 0: WIDTH 64" feature that will use the interlaced screen 1 to achieve this. Not sure how hard it would be but I guess its not too hard.

I was also thinking about a good font. I think the C64 font is better suited for interlaced screen 1 because its a bold font with 2 pixel wide lines.


Título: Re: Interlaced SC1 with 64 columns
Publicado por: BiFiMSX en 28 de Junio de 2006, 06:59:21 am
a similar trick was used to get 64 characters on a line in the word processing program Tasword, though that was in SCREEN2... it's a neat trick to do...

and it should be possible to do something like this for a WIDTH 64 in BASIC. It's wouldn't be fast, but it would be possible.


Título: Re: Interlaced SC1 with 64 columns
Publicado por: jltursan en 28 de Junio de 2006, 11:38:08 am
Citar
Would it be possible to patch the width command in basic so you can get a width 64 mode?

I guess that it could be possible as BiFi says; but with a lot of work for sure. You must to patch all the BIOS routines that work with the name table, as CHPUT or scroll routines, some could have hooks to use anyway; but some others could be very tricky to patch. I'm not really a BIOS "connoisseur". :(
The fake screen 1 map is very easy to implement, one page for even chars and other for odd ones, every charset with his own pattern table, the first one shifted 4 pixels to the left. It's hard to fit a good font in only 3 pixels wide! :P

Citar
I know some external 80 column video cards patches something so that you get something like an 80 column screen 0.

But prolly all  this external video cards have a 9938 built-in. I'm not sure about none of them using software tricks to achieve the 80 columns mode :(

Citar
I was also thinking about a good font. I think the C64 font is better suited for interlaced screen 1 because its a bold font with 2 pixel wide lines.

But are you thinking in a 64 colums mode?. I'm afraid that C64 font is way too big to fit in...


Título: Re: Interlaced SC1 with 64 columns
Publicado por: Jon_Cortazar en 28 de Junio de 2006, 03:46:29 pm
It's hard to fit a good font in only 3 pixels wide! :P

I've built a little font with 3px wide, I hope you can make use of it. If you like it I can build the rest of ascii chars. It would be nice to see a new 80columns mode on MSX1!:

Karoshi's 3px Font

Plain:
(http://www.msxgamesbox.com/karoshi/font3px.gif)
Italic:
(http://www.msxgamesbox.com/karoshi/font3px_it.gif)
Caps:
(http://www.msxgamesbox.com/karoshi/font3px_caps.gif)


Título: Re: Interlaced SC1 with 64 columns
Publicado por: jltursan en 28 de Junio de 2006, 05:31:42 pm
 :o Wow!, that was fast, Jon!. It's cleaner than the font I used for the demo. :)

Citar
It would be nice to see a new 80columns mode on MSX1!

I'm afraid that it's far away from the MSX1 posibilities. To fit 80 coumns you'll need a 2px wide font (I'm not counting the blank pixel to space the chars) and such font must be a little unreadable.

Anyway, to patch the BIOS for 64 columns, how many routines must be modified to cover all the uses of a text mode? ???


Título: Re: Interlaced SC1 with 64 columns
Publicado por: BiFiMSX en 28 de Junio de 2006, 05:45:16 pm
I think there are about 7 hooks you need to use to add support for that.


Título: Re: Interlaced SC1 with 64 columns
Publicado por: dvik en 28 de Junio de 2006, 07:03:52 pm
I think it would be very cool and perhaps even somewhat useful. Do you know what hooks needs implementing or where I can find info about it?

Using interlaced screen 1, I think its actually possible to do a width80 for MSX1. The characters will be 6 pixels wide as in MSX2 width 80, but of course interlaced. The question is I guess if its possible to do an interlaced font that will be readable. with 8 interlaced pixels I think its more likely to be readable but then it will only be width 64.

width64/80 would fit in an 8kb rom. There are many things I don't know how to do though, like how to hook these calls and make them start executing code in a rom.



Título: Re: Interlaced SC1 with 64 columns
Publicado por: dvik en 28 de Junio de 2006, 11:51:38 pm
I made two test fonts for interlaced screens. The top one is for width 64 and the bottom one for width 80. I haven't tested them on an MSX yet but hope to do it soon.

(http://www.bluemsx.com/sc1int_font.PNG)


Título: Re: Interlaced SC1 with 64 columns
Publicado por: dvik en 29 de Junio de 2006, 12:58:01 am
Hmm.. My idea won't work. I was thinking of being clever and get some pixels being lit in both frames. This would increase readability quite a lot.
But to do that I need a new screen mode.To use the font I need two BG tiles blocks, each 1800h big like in screen 2, but no color table (since I wanted to use most of the VRAM for tiles. Thats unfortunate, so unless I find the screenmode I need I think I need to drop the idea of nice interlaced characters in width 80.

The original idea works fine though, but I think its hard to do width 80 with that technique. width64 works fine though.


Título: Re: Interlaced SC1 with 64 columns
Publicado por: jltursan en 29 de Junio de 2006, 10:06:26 am
sub-pixel techniques? (or at least some kind of) ;)
I found enough the 64 column mode; with clear fonts (like the one viejo_archivero shows some posts ago), it could be very readable. About the patching, the hooks must be :

Código:
        FDA4+/scHCHPU   08C0  CHPUT(A-character;SAVE ALL)
        FDA9+/scHDSPC   09E6  Display cursor    (no param.)
        FDAE+/scHERAC   0A33  Errase cursor     (no param.)
        FDB3+/scHDSPF   0B2B  DSPFNK std routine(no param.)
        FDB8+/scHERAF   0B15  ERAFNK std routine(no param.)
        FDBD    HTOTE   0842  TOTEXT std routine
        FDC2+   HCHGE   10CE  CHGET  std routine

Only guessing...maybe there're some others to patch of course...


Título: Re: Interlaced SC1 with 64 columns
Publicado por: BiFiMSX en 30 de Junio de 2006, 08:21:49 am
and to handle different widths in a screen: H.WIDT (FF84)
if you want to add screen modes (like the Korean MSX'es have): H.SCRE (FFC0)