change DOS startup screen (Development MSX Fora)MSX Resource Center PassionMSX MSX2 contest           
            
English Nederlands Español Português Russian         
 Nieuws
   Voorpagina
  Nieuws archief
  Nieuws onderwerpen

 Informatie
   MSX Fora
  Artikelen
  Recensies
  Beursverslagen
  Fotoreportages
  Beurzen en meetings
  Enquêtes
  Links
  Zoek

 Software
   Downloads
  Webshop

 MRC
   Wie we zijn
  Kom bij ons team
  Doneren
  Policies
  Contact met het MRC
  Link naar Ons
  Statistieken

 Zoek
 
  

  

 Login
 

Gebruikersnaam

Wachtwoord




Ben je nog niet lid? Klik hier en word MSX vriend!


 Statistieken
 

Er zijn 47 gasten en 3 MSX vrienden online

Je bent een anonieme bezoeker.
 

MSX Fora


MSX Fora

Development - change DOS startup screen

Schrijver

change DOS startup screen

norakomi
msx professional
Berichten: 861
Geplaatst: 12 Januari 2006, 15:59   
Hey everybody !!

When I put a disk in my msx with these files:

MSXDOX.SYS
COMMAND.COM
AUTOEXEC.BAT

and then reset the computer MSX-DOS startsup, and I see this message:

MSX-DOS version 1.03
Copyright 1984 by Microsoft

COMMAND version 1.11

A>BLOAD (this is the file that is written in AUTOEXEC.BAT)

Now my question is,
can I disable the screen, or disable this text, so that the user doesnt see the DOS startup screen?

(I think it looks a bit better when a game starts without the DOS message)
manuel
msx guru
Berichten: 3450
Geplaatst: 12 Januari 2006, 16:56   
You can do that by modifying the boot sector of your disk. There's code in there, and you can add some code that does a 'disable screen' on the interrupt.
D-Fader made this for me once, for using on Arranger 4. Worked like a charm!
norakomi
msx professional
Berichten: 861
Geplaatst: 12 Januari 2006, 17:46   
Quote:

You can do that by modifying the boot sector of your disk. There's code in there, and you can add some code that does a 'disable screen' on the interrupt.

Thanx ! How can I modify this code?
And is this code in COMMAND.COM or in MSXDOS.SYS ?
DarQ
msx professional
Berichten: 836
Geplaatst: 12 Januari 2006, 18:02   
you could also modify one of the files and replace the text with empty characters
manuel
msx guru
Berichten: 3450
Geplaatst: 12 Januari 2006, 19:05   
I'm talking about the code in the bootsector, not in a file. It's somewhere in sector 0
manuel
msx guru
Berichten: 3450
Geplaatst: 12 Januari 2006, 19:08   
I found back the code:

; TeddyWareZ MSX Z80 source file.
;
; Prog: Boot Sector for Arranger
; Code: d-fader^TwZ.
; Date: june 30, 1999
;
; cmnt: none.
;
; coded in Chaos Assembler 2.0
;
; (C) 1999 TeddyWareZ!

#include "macro's.asm"

.org $c000 - 7

	.db $fe
	.dw start_program,end_program,start_code

start_program:
	.db $eb,$fe,$90  		; type disk...

	.text "Arranger"		; Name disk

	.dw 512			; Number of bytes per sector
	.db 2				; Number of sectors per cluster
	.db 1,0			; Reserved sectors
	.db 2				; Number of File Allocation Tables (FAT's)
	.dw 112			; Maximum number of files in directory
	.dw 1440			; Number of sectors on disk
	.db $f9			; Media descriptor
	.dw 3				; Number of sectors per FAT
	.dw 9				; Number of sectors per track
	.dw 2				; Number of sides on disk (1=single, 2=double)
	.dw 0				; Hidden sectors.

	ret nc			; Must be RET NC (on every disk!!)

	di				; Disable Interrupts

	ld a,$c9			; Hook interrupt to $fd9a
	ld ($fd9a),a		;

	ld hl,Interrupt		; Say where to jump to
	ld ($fd9b),hl		;

	ld a,$c3			; Jump to it
	ld ($fd9a),a		;

	ei				; Enable Interrupts
					; Now every 1/50 sec will be jumped to Interrupt..

	ret

Interrupt:
	ld a,($f3e0)		; Get current value of vdp reg #1
	and %10111111		; Turn screen off
	ld ($f3e0),a		; Put new value back
	vdp(1)			; out it.

	ret				; Return

; It must be done this way, because when the MSX initialises, the screen will be turned on.
; Now we turn the screen 50 times a sec off, so, no characters on screen anymore.
; When you're in basic, first turn the interrupt off, and then turn the screen on, like this:

; CLS
; POKE &HFD9A, &HC9
; DEFUSR = &H44 : A = USR (0)

; Now you're in BASIC without sumthin' on screen!


	.org $c100

start_code:
	xor a
	call cls

	SetVram(0,0,write)
	ld hl,text
	ld b,end_text-text
	ld c,$98
	otir

	call kilbuf
	call chget

	ld de,start_program
	bdos(26)

	ld de,0
	ld h,1
	ld l,0
	bdos(48)

	ret
text:
	.text "Put disk in drive A: and slam [any] key when ready..."
end_text:

end_program:

.end

[D-Tail]

msx guru
Berichten: 3018
Geplaatst: 12 Januari 2006, 21:15   
Manuel: you missed out on the Vdp(x) macro and the BDOS macros. Can you include those as well?
manuel
msx guru
Berichten: 3450
Geplaatst: 12 Januari 2006, 21:28   
I don't have them, I suppose they come with Chaos Assembler 2.0....
ro
msx guru
Berichten: 2329
Geplaatst: 13 Januari 2006, 08:28   
Still.. if one gets your disk and copies the project files (bload for exm) to own dos boot. the effect is undone again. better skip the whole DOS part and boot your app in the bootsector. Otherwise, don't bother to add that trick. it's useless.
BiFi
msx guru
Berichten: 3142
Geplaatst: 13 Januari 2006, 08:57   
bdos(value) =
	ld c,value
	call $f37d

vdp(reg) =
	out ($99),a
	ld a,128+ reg
	out ($99),a

I guess D-Tail thinks there's actually a SetVram(bank,address,access) is a Z80 instruction , but it isn't and it's like this:
	ld a,bank
	out ($99),a
	ld a,128+ 14
	out ($99),a
	ld hl,address
	ld a,l
	out ($99),a
	ld a,h
	and $3f
IF access = write
	or $40
ENDIF
	out ($99),a

[D-Tail]

msx guru
Berichten: 3018
Geplaatst: 13 Januari 2006, 10:54   
Hehehe, I clearly skipped that one - didn't see it at first glance... ha well
BiFi
msx guru
Berichten: 3142
Geplaatst: 13 Januari 2006, 11:35   
lack of [D-Tail] I guess
 
 







(c) 1994 - 2008 Stichting MSX Resource Center. MSX is een trademark van MSX Licensing Corporation.