aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristophe Bothamy <cbothamy@users.sourceforge.net>2002-09-19 17:03:21 +0000
committerChristophe Bothamy <cbothamy@users.sourceforge.net>2002-09-19 17:03:21 +0000
commit7089f938f68e89c7283bff416287e3f41da2010d (patch)
treeade6e62f7396edb1a001615d6ccf175ea723b67a
parent06816c6d4eb322075a03ac7a66583f6a53218da8 (diff)
downloadvgabios-7089f938f68e89c7283bff416287e3f41da2010d.tar.gz
- updated the Makefile
- removed display of copyrights. - changed the Copyright string to "LGPL VGABios developers"
-rw-r--r--ChangeLog11
-rw-r--r--Makefile42
-rw-r--r--vbe.c7
-rw-r--r--vgabios.c70
-rw-r--r--vgabios.h13
5 files changed, 60 insertions, 83 deletions
diff --git a/ChangeLog b/ChangeLog
index 685055d..285343d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,13 @@
-vgabios-????
+cvs-current:
+ - "Christophe Bothamy" <cbothamy@free.fr>: Mar 10 2002
+ . added lfb-mode numbers (patch from mathis)
+ . updated the Makefile
+ . removed display of copyrights.
+ . changed the Copyright string to "LGPL VGABios developers"
+ - Volker
+ . set the cursor shape depending on the current font height
+ . clear BL before calling int 0x10 function 0x1103 in vgabios_init_func
+ . added some text font functions
- "Jeroen Janssen" <japj@darius.demon.nl>
. Forced to new DISPI (0xb0c1) interface (requires latest bochs vbe code)
. Added multibuffering support
diff --git a/Makefile b/Makefile
index 866611b..436d486 100644
--- a/Makefile
+++ b/Makefile
@@ -14,7 +14,7 @@ bios: vgabios.bin vgabios.debug.bin
clean:
/bin/rm -f *.o *.s *.ld86 \
- temp.awk.* vgabios*.orig _vgabios_*.c core vgabios*.bin $(RELEASE).bin
+ temp.awk.* vgabios*.orig _vgabios_* core vgabios*.bin $(RELEASE).bin
dist-clean: clean
@@ -27,34 +27,18 @@ release: bios
rm vgabios.debug.bin
tar czvf ../$(RELEASE).tgz -C .. $(RELEASE)/
-vgabios.bin: vgabios.o
- ld86 -0 -r -o vgabios vgabios.o
- tools86 vgabios
- dd if=vgabios of=vgabios.bin ibs=32 skip=1 count=1024
- rm -f vgabios _vgabios_.c
+vgabios.bin: vgabios.c vgabios.h vgafonts.h vgatables.h vbe.h vbe.c vbetables.h
+ gcc -E vgabios.c -DVBE -DVGABIOS_DATE="\"$(RELDATE)\"" > _vgabios_.c
+ bcc -o vgabios.s -C-c -D__i86__ -S -0 _vgabios_.c
+ sed -e 's/^\.text//' -e 's/^\.data//' vgabios.s > _vgabios_.s
+ as86 _vgabios_.s -b vgabios.bin -u -w- -g -0 -j -O -l vgabios.debug.txt
+ rm -f _vgabios_.s _vgabios_.c vgabios.s
ls -l vgabios.bin
-vgabios.o: vgabios.c vgabios.h vgafonts.h vgatables.h vbe.h vbe.c vbetables.h
- gcc -E vgabios.c -DVBE -DVGABIOS_DATE="\"$(RELDATE)\"" | tools86 -E > _vgabios_.c
-# cat _vgabios.c | sed -e "s/##asm/#asm/g" -e "s/##endasm/#endasm/g" > _vgabios_.c
-
- /usr/lib/bcc/bcc-cc1 -o vgabios.s -c -D__i86__ -0 _vgabios_.c
- ./dataseghack vgabios.s
- # bug : with -j i get 1 byte displacement at the end of bin file !
- #as86 vgabios.s -o vgabios.o -u -w -g -0 -j
- as86 vgabios.s -o vgabios.o -u -w -g -0
-
-
-vgabios.debug.bin: vgabios.debug.o
- ld86 -0 -r -o vgabios.debug vgabios.debug.o
- tools86 vgabios.debug
- dd if=vgabios.debug of=vgabios.debug.bin ibs=32 skip=1 count=1024
- rm -f vgabios.debug _vgabios_.debug.c
+vgabios.debug.bin: vgabios.c vgabios.h vgafonts.h vgatables.h vbe.h vbe.c vbetables.h
+ gcc -E vgabios.c -DVBE -DDEBUG -DVGABIOS_DATE="\"$(RELDATE)\"" > _vgabios_.c
+ bcc -o vgabios.s -C-c -D__i86__ -S -0 _vgabios_.c
+ sed -e 's/^\.text//' -e 's/^\.data//' vgabios.s > _vgabios_.s
+ as86 _vgabios_.s -b vgabios.debug.bin -u -w- -g -0 -j -O -l vgabios.txt
+ rm -f _vgabios_.s _vgabios_.c vgabios.s
ls -l vgabios.debug.bin
-
-vgabios.debug.o: vgabios.c vgabios.h vgafonts.h vgatables.h vbe.h vbe.c vbetables.h
- gcc -E vgabios.c -DVBE -DDEBUG -DVGABIOS_DATE="\"$(RELDATE)\"" | tools86 -E > _vgabios.debug.c
- cat _vgabios.debug.c | sed -e "s/##asm/#asm/g" -e "s/##endasm/#endasm/g" > _vgabios_.debug.c
- /usr/lib/bcc/bcc-cc1 -o vgabios.debug.s -c -D__i86__ -0 _vgabios_.debug.c
- ./dataseghack vgabios.debug.s
- as86 vgabios.debug.s -o vgabios.debug.o -u -w -g -0
diff --git a/vbe.c b/vbe.c
index b4a7ff2..bba471a 100644
--- a/vbe.c
+++ b/vbe.c
@@ -83,11 +83,7 @@ _vbebios_product_revision:
.byte 0x00
_vbebios_info_string:
-.ascii "Bochs VBE Display Adapter"
-.byte 0x0a,0x0d
-.ascii "(C) 2002 Jeroen Janssen <japj-vbebios@darius.demon.nl>"
-.byte 0x0a,0x0d
-.ascii "This VBE Bios is released under the GNU LGPL"
+.ascii "Bochs VBE Display Adapter enabled"
.byte 0x0a,0x0d
.byte 0x0a,0x0d
.byte 0x00
@@ -95,6 +91,7 @@ _vbebios_info_string:
_no_vbebios_info_string:
.ascii "NO Bochs VBE Support available!"
.byte 0x0a,0x0d
+.byte 0x0a,0x0d
.byte 0x00
diff --git a/vgabios.c b/vgabios.c
index bb1dcbe..b6bbe49 100644
--- a/vgabios.c
+++ b/vgabios.c
@@ -4,7 +4,7 @@
*/
// ============================================================================================
//
-// Copyright (C) 2001,2002 Christophe Bothamy
+// Copyright (C) 2001,2002 the LGPL VGABios developers Team
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
@@ -144,12 +144,27 @@ static void biosfn_restore_video_state();
#define ASM_START #asm
#define ASM_END #endasm
+ASM_START
+MACRO SET_INT_VECTOR
+ push ds
+ xor ax, ax
+ mov ds, ax
+ mov ax, ?3
+ mov ?1*4, ax
+ mov ax, ?2
+ mov ?1*4+2, ax
+ pop ds
+MEND
+
+ASM_END
ASM_START
.text
.rom
.org 0
+use16 386
+
vgabios_start:
.byte 0x55, 0xaa /* BIOS signature, required for BIOS extensions */
@@ -158,10 +173,11 @@ vgabios_start:
vgabios_entry_point:
- JMPL(vgabios_init_func)
+ jmp vgabios_init_func
vgabios_name:
.ascii "Plex86/Bochs VGABios"
+.ascii " "
.byte 0x00
// Info from Bart Oldeman
@@ -170,19 +186,23 @@ vgabios_name:
.byte 0x00
vgabios_version:
-.ascii "v0.3a"
-.byte 0x00
+.ascii "current-cvs"
+.ascii " "
vgabios_date:
.ascii VGABIOS_DATE
+.byte 0x0a,0x0d
.byte 0x00
vgabios_copyright:
-.ascii "(C) 2002 Christophe Bothamy <cbothamy@free.fr>"
+.ascii "(C) 2002 the LGPL VGABios developers Team"
+.byte 0x0a,0x0d
.byte 0x00
vgabios_license:
-.ascii "This VGA Bios is released under the GNU LGPL"
+.ascii "This VGA/VBE Bios is released under the GNU LGPL"
+.byte 0x0a,0x0d
+.byte 0x0a,0x0d
.byte 0x00
vgabios_website:
@@ -192,7 +212,9 @@ vgabios_website:
.byte 0x0a,0x0d
.ascii " . http://bochs.sourceforge.net"
.byte 0x0a,0x0d
-.ascii " . http://savannah.gnu.org/projects/vgabios"
+.ascii " . http://www.nongnu.org/vgabios"
+.byte 0x0a,0x0d
+.byte 0x0a,0x0d
.byte 0x00
@@ -341,14 +363,6 @@ static void display_splash_screen()
* Tell who we are
*/
-ASM_START
-crlf:
- .byte 0x0a,0x0d,0x00
-space:
- .ascii " "
- .byte 0x00
-ASM_END
-
static void display_info()
{
ASM_START
@@ -356,33 +370,18 @@ ASM_START
mov ds,ax
mov si,#vgabios_name
call _display_string
- mov si,#space
- call _display_string
mov si,#vgabios_version
call _display_string
- mov si,#space
- call _display_string
- mov si,#vgabios_date
- call _display_string
- mov si,#crlf
- call _display_string
- mov si,#vgabios_copyright
- call _display_string
- mov si,#crlf
- call _display_string
+
+ ;;mov si,#vgabios_copyright
+ ;;call _display_string
+ ;;mov si,#crlf
+ ;;call _display_string
mov si,#vgabios_license
call _display_string
- mov si,#crlf
- call _display_string
- mov si,#crlf
- call _display_string
mov si,#vgabios_website
call _display_string
- mov si,#crlf
- call _display_string
- mov si,#crlf
- call _display_string
ASM_END
}
@@ -2526,4 +2525,3 @@ vgabios_end:
.byte 0xCB
;; BLOCK_STRINGS_BEGIN
ASM_END
-
diff --git a/vgabios.h b/vgabios.h
index fcfa83a..3ad4bae 100644
--- a/vgabios.h
+++ b/vgabios.h
@@ -8,17 +8,6 @@ typedef unsigned long Bit32u;
typedef unsigned short Boolean;
/* Defines */
-#define JMPL(label) db 0xe9!!!dw (label-(*+2)) ; jmp near label
-
-#define SET_INT_VECTOR(vec, seg, off) \
- push ds !!!\
- xor ax,ax !!!\
- mov ds,ax !!!\
- mov ax, off !!!\
- mov vec*4, ax !!!\
- mov ax, seg !!!\
- mov vec*4+2, ax !!!\
- pop ds
#define SET_AL(val8) AX = ((AX & 0xff00) | (val8))
#define SET_BL(val8) BX = ((BX & 0xff00) | (val8))
@@ -55,4 +44,4 @@ typedef unsigned short Boolean;
#define SCREEN_MEM_START(x,y,p) ((((x*y*2)|0x00ff)+1)*p)
#define SCREEN_IO_START(x,y,p) ((((x*y)|0x00ff)+1)*p)
-#endif \ No newline at end of file
+#endif