Autor: GorristeR
Data: 11 de agosto de 2002
Doscmd te permite criar uma "m�quina virtual" de msdos. Seguramente hoje em dia n�o tenha muita utilidade, mas penso que pode ser util se desejas implementar em alguma empresa FreeBSD e ainda t�m algum PC com um programa "tipo clipper" de msdos, o qual s� funciona em msdos puro e duro, j� que numa janela de Windows n�o vai nem patr�s (esquece-te de Wine e se n�o � um m�quina potente o VMWare, ser� demasiada carga.
Igual pode interessar este artigo a algu�m que apontou a dire��o de seu primeiro ligue de ver�o (l� pelos tempos de Ver�o Azul) e o guardo num fichero do FRAMEWORK e n�o h� forma de poder l�-lo. Eu me decidi a us�-lo pensando que poderia provar desde meu Free esses velhos jogos como o Monkey Island(tm) ou os Goblins. Lamentavelmente doscmd n�o suporta ainda o uso de rato, som ou os modos gr�ficos VESA :(.
De todas formas, ainda que n�o v�-o usar, dei-me conta de que a informa��o sobre o mesmo (pa n�o variar) � zero, mas n�o um zero qualquer: �Um zero patatero!. Assim que espero que estas lineas lhe sirvam a algu�m ao menos para poupar-se o instalar o wine ou o vmware s� para executar um simples EXE ou COM.
Bueno, n�o me enrolo mais vamos ao lio...
Ainda que pare�a mentira, doscmd n�o est� nos ports, forma parte do Sistema Operativo, os sources se encontram em usr //src/usr.bin/doscmd. Por alguma estra�a raz�o o suporte para X n�o vem definido por defeito pelo que tereis que editar o fichero Makefile e adicionar a seguinte linea ao princ�pio:
X11BASE= /usr/X11R6.
Logo um Make install e nuns pouco segundos j� o tendes pronto :D.
Antes de executar doscmd, � necess�rio ter um fichero de configura��o onde h� que indicar alguns par�metros b�sicos. Este fichero � $HOME/.doscmdrc. Inicialmente, deveremos indicar-lhe as seguintes lineas:
assign A: /dev/fd0 1440 assign A: /dev/fd0.720 720 assign hard /home/gorr/msdos/boot_drive 306 4 17.
As 2 primeiras lineas se referem ao ponto de montagem que vai fazer de unidade A:, poniendolo assim nos assegur�mos que funcionem tanto os disquetes de 720 Kb como os de 1440Kb. A �ltima linea, refere-se � unidade "virtual" lhe pomos uma geometria como a de um disco duro de 10 Megas. Pode-se p�r a geometria ou s� o par�metro "tipo" (ver tabelas de geometrias dispon�veis com man doscmd).
IMPORTANTE: Na terceira linea, n�o me funcionou p�r para indicar minha $HOME, tive que p�r a rota completa. Se n�o o fazeis assim, n�o funcionar� fdisk.
Devereis ter um disquete arrancable de MSDOS, recomendo-vos uma vers�o entre o 5.0 e o que traz o W95, vers�es superiores poderiam dar-vos problemas. Este disquete deve ter os seguintes comandos: FDISK, SYS e FORMAT. Logo devereis copiar nele o fichero redir.com, que se encontra no diret�rio de doscmd .
Em www .bootdisk.com, tendes muitos discos de arranque de diferentes vers�es de MSDOS, DRDOS, etc.
Quando o tenhais, iniciar doscmd, come�ar� o arranque do disquete e vos aparecer� ao final o t�pico prompt A:\>. J� podeis teclear FDISK para criar um "disco duro" e n�o ter que depender do disquete. Selecionais %[1] Criar partici�n ou unidade l�gica DOS, %[1] Criar partici�n prim�ria DOS. Sair de FDISK e terminar dosemu. Voltar a lan��-lo e desde o prompt fazeis um FORMAT C: e depois um SYS C: para fazer a unidade C: arrancable. Devereis p�r REDIR.COM no AUTOEXEC.BAT. E se ides usar v�rias unidades LASTDRIVE=Z em CONFIG .SYS. Logo s� � copiar os ficheros que preciseis desde A: a C:.
Uma vez que podais arrancar desde C:, adicionar a linea boot C: ao .doscmdrc. Tamb�m podeis usar os diret�rios que queirais e trat�-los como unidades DUAS. Os nomes de ficheros ser�o automaticamente convertidos a 8.3. Por exemplo, para usar /usr/ports como s� leitura e /tmp leitura/escritura, faremos o seguinte:
assign D: -ro /usr/ports assign E: /tmp
O fichero de configura��o tem v�rias op��es mais, para manejar o porto paralelo, o s�rie e at� para utilizar SETVER num determinado comando. Podeis var mais info nas p�ginas man.
Crio que doscmd � um das aplica��es com as que mais problemas me encontrei, explico-vos aqui os problemas que encontrei durante a instala��o e a configura��o e como os resolvi:
N�o pude criar nenhuma partici�n com FDISK. Provei v�rias vers�es do DUAS e diferente geometria de disco, mas nunca mo detectou. Ao final tive que copiar os ficheros DOS que queria emular num diret�rio de meu $HOME e arrancar desde o disquete. Espero que voc�s tenhais mais sorte.
Se vos desaparecesse o fichero redir.com durante o processo de make como a mim (Estou seguro de que estava a primeira vez que hize um ls), com s� fazer um uudecode redir.com.uu o criareis.
A mim me dava erro o make install, dizia-me algo do fichero ems....sys que si que estava pelo que fiz um make all e logo o make install.
Se vos sa�sse o erro doscmd: Could not open font ``vga"
provai a teclear xset fp+ /usr/libdata/doscmd/fonts.
Esta linea, deberiais anadirla a vosso fichero /.xinitrc
se quereis que esteja ativa a pr�xima vez que inicieis
as X.
Li (o sento mas perdi a URL) que s�o necess�rias adicionar estas duas lineas em vosso GENERIC e recompilar o kernel para que funcione doscmd. Eu n�o as tenho e me funciona. Se estais usando SMP *n�o* o hag�is. Aqui vos incluo tamb�m os coment�rios originais em ingl�s.
# # Allow processes to switch to vm86 mode, as well as enabling direct # user-mode access to the I/Ou port space. This option is necessary for # the doscmd emulator to run. # options "VM86" # To include support for VESA video modes # Dont use together with SMP!! options VESA # needs VM86 defined too!!
Sauda��es a todo #FreeBSD do hi$pano, e aos diablejos da lista de correio de eldemonio .org.