Color print routines
Color print routines
Hi can anyone help me with asm colour print routines?
I have one at home but i can't get it to work. It print the character in the right colours but then it starts to move the cursor and beep continousley!!!
Please can someone help?
I have one at home but i can't get it to work. It print the character in the right colours but then it starts to move the cursor and beep continousley!!!
Please can someone help?
Re:Color print routines
You just need to change the attribute byte (the second)
eg.
Video Mem Layout
The layout of the attribute byte is here
Pete
eg.
Video Mem Layout
Code: Select all
Byte 0 1 2 3
Data Char Att. Char Att.
Pete
Re:Color print routines
At the moment i'm using bios print routines and so have not yet touched on any others!!!
Re:Color print routines
In that case I don't know. But honestly writing a 80x25 text mode (default) video driver is as easy as anything else in OS Dev. Using graphics modes are another matter but you won't need them for a while.
Pete
Pete
Re:Color print routines
oh
O.K. one question!
How to tramsfer contents of al to a location in memory
in other words remaking the poke function of qbasic!!!
O.K. one question!
How to tramsfer contents of al to a location in memory
in other words remaking the poke function of qbasic!!!
Re:Color print routines
mov byte [segment:offset], al
Well, I think that is not so hard to implement in asm, I think you might want to revisit some basic assembly, since this question is not related with os programming.
Well, I think that is not so hard to implement in asm, I think you might want to revisit some basic assembly, since this question is not related with os programming.
Re:Color print routines
could i write an opcode to say 0001:0001 then jump to it using JMP 0001:0001, if nt how would I jump to a memory location.
Re:Color print routines
There are many ways to JMP to a particular memory address, and JMP FAR xxxx:yyyy is one of them. Read the NASM manual or the Intel manual for more info.
PS: you don't want to do JMP 0001:0001 as that area is occupied by the interrupt vector table.
PS: you don't want to do JMP 0001:0001 as that area is occupied by the interrupt vector table.