DirectQB
(Biblioteca
gráfica para o Qbasic4.5)
1. Introdução ao DirectQB:
1.1
Material:
Este software
segue o regulamento de concepção de freeware: você poderá distribuí-lo com seus
amigos, e encoraja-los a fazer o mesmo, entretanto, o autor não se
responsabiliza por qualquer dano causado pelo uso desta biblioteca. Não é
aconselhável mas casa haja necessidade você poderá modifica-la.
1.2
O que é DirectQB?
DirectQB é uma
biblioteca para programação de jogos escrita em assembly 386 para QuickBasic
4.5. Ele foi principalmente elaborado para suprimir a deficiência gráfica,
entrada e som do compilador QB. Em screen 13h (320x200 com 256 cores –
equivalente screen 13 para QB), suporta teclado, mouse e joysticks, e foi
construído permitindo uma “engenharia sonora” compatível com Sound Blaster.
1.3
Sistema requisitado:
Em primeiro
lugar você precisa do QuickBasic4.5. O DirectQB é uma “QuickBiblioteca”, e
então só é funcional quando executado sob o domínio de um programa mestre (no
caso, o compilador QB). O DirectQB foi construído utilizando Assembly do 386 e
como conseqüência esta ou outra CPU (compatível e melhor) deve ser usada. SEM é
algo necessário na ordem que temos buffers off-screens (você pode ter que
armazenar informações na memória e fazemos isto usando a EMS), as chamadas
“layers” (camadas); veremos isto mais tarde. Para cada layer você precisará
64kb de memória livre ou EMS memory. Se não conhece o que é EMS, provavelmente
terá problemas mais tarde, tente adicionar estas linhas em seu CONFIG.SYS:
DEVICE=C:\WINDOWS\EMM386.EXE
<quantidade> RAM
Onde <quantidade> é o número específico de memória EMS em kb que será avaliado pelo DOS. Suponha que temos o Windows 95 em C:\windows. Se nós temos 4MB de memória EMS livre, basta adicionar:
Isto é tudo. Depois de adicionarmos estas linhas, reboot seu sistema, e EMS vai estar disponível, e poderá ser utilizado pela biblioteca.
Observação:
O DirectQB é uma biblioteca antiga, bem como o compilador QB4.5. Este compilador vinha junto com o Windows95 e era utilizado para a programação de um modo geral. Fácil de aprender, mas com um estilo despojado, sem as “regras” de sintaxe organizada do C. O QB4.5 compila executáveis *.exe e possui recursos pobres para manipulação de imagem, teclado, som ,etc. É ai que entra o DirectQB (que acredito ter esse nome a uma alusão ao recém criado, na época, directX) que é uma biblioteca gráfica voltada para a criação de jogos. Os jogos feitos no QB4.5 junto com DirectQB ficam parecidos com os games estilo Snes e apesar de terem recursos para 3D, eles ainda não estão tão funcionais, mas com um pouco de habilidade é possível criar RPGs ou games isométricos bem realistas. A resolução é baixa, bem como a quantidade de cores, mas nada que não possa ser contornado com um pouco de criatividade.
O QB4.5 é pequeno, cabe num disquete. Existem vários sites na internet que disponibiliza do QB4.5 e o DirectQB, mas já configurei o QB4.5 com o DirectQB e disponibilizei-o para download no link abaixo. Basta carregar e extrair.
http://geocities.yahoo.com.br/materialdown/
Para rodar o compilador já configurado para utilizar o DirectQB, basta dar dois cliques no arquivo em lote do DOS chamado QB_DirectQB. Se tudo der certo, o QB4.5 irá abrir na janela do “prompt de comando” do windows. Existem algumas pastas com exemplos. Entre elas, é bastante conveniente você dar uma olhada no executável na pasta DEMO2. Tem alguns exemplos de demo de RPGs também.
Caso os programas não executem, provavelmente deve estar ocorrendo erro devido a memória EMS. Não é necessário seguir os passos descritos acima como mexer no config.sys ou autoexec.bat. Se o seu windows for o XP basta seguir os passos a seguir:
1] Clique com o botão direito sobre o arquivo QB e vá em propriedades:

2] Vá na tarja “Memória” e para memória convencional e ambiente inicial escolha “AUTO”. Escolha um valor diferente de zero para a memória EMS (no caso abaixo, foi selecionado 8MB de memória EMS, isto é mais do que suficiente). E para a memória XMS também selecione um valor diferente de zero.

3] Se você deseja que os aplicativos criados com o QB4.5 rode em janela fullscreen, ainda em propriedades clique na tarja “Tela” e em seguida selecione “Tela cheia”. De OK e pronto! Divirta-se...

Para trabalhar com o hardware de som, é necessário uma Sound Blaster 2.0 compatível com a placa de som. DirectQB utiliza auto unidade para transferência DMA, e uma DSP versão 2.0 (contendo SB2.0) ou versões mais modernas. Se você usar DQBinstallSB como modo de autodetecção, é necessário ajustar a BLASTER. Adicione a seguinte linha em seu AUTOEXEC.BAT:
Onde “aaa” é o endereço hexadecimal de seu cartão de som (Ex: 220), “i” é o número IRQ e “d” é o canal DMA usado. Vejamos:
Com ajustes de endereço de base em 220, DRQ 7 e DMA canal 1.
DirectQB suporta
uma fileira de endereços bases, IRQ 2, 3, 5 e 7, e canais DMA 0 a 3. Há outros
ajustes para a variável BLASTER, são elas H e T, mas não iremos explicar o
funcionamento destas funções aqui já que fogem a nosso propósito.
A engenharia de
som requer 16kb de memória convencional, e ela constrói uma tabela interna de
volumes de tempo real; sempre é possível eliminar esta exigência, caso não
necessite usar volumes para cada canal ativado (voices).
A combinação de
mapa de sistema é outro caminho para a manutenção da base de memória ocupada. A
quantidade necessária para usar um bmap simples depende do próprio bmap, e pode
variar de 256 bytes até 64 kb por bmap. Você pode ter no máximo 10 bmaps ativos
ao mesmo tempo.
É possível que
você rode sem que apresente erro de memória se você chamar funções DQB que
requer base extra de memória chamando funções SETMEN primeiro. Veja a ajuda
online QB e os exemplos deste manual para mais detalhes.
Bom, não há mas
nada necessário para rodar DirectQB.
Observações:
Faça o download do compilador e execute-o. Dê uma vasculhada no help. Rode alguns exemplos e veja se vale a pena trabalhar com ele. É lógico que não dá pra fazer um jogo profissional com o QB, mas como uma ferramenta de aprendizagem para quem está iniciando é uma ótima opção pois é robusto, leve, cria executáveis e não ocupa muito espaço, sem falar que não é necessário passar por uma séries de etapas de instalação. E o que é melhor, é totalmente gratuito. Tanto o QB4.5 como a biblioteca DirectQB. Além disso serve também para matar a saudade de quem trabalhou com o velho QB na década de 80 e início dos anos 90. Um pouco de saudosismo não mata ninguém!
Este tutorial
continua...
Bye
Aclive
------------------------------------------------------------------
I M P O R T A N T E:
Alguns
usuários tiveram dificuldades em instalar a biblioteca e por isto este arquivo
HTML foi acrescentado ao pacote de instalação do DirectQB. O arquivo .zip foi
atualizado e para instalar a biblioteca (caso não tenha conseguido) basta
seguir os passos abaixo:
1] Leia o tutorial acima (o que foi
publicado na Unidev) e execute o QB diretamente do Windows.
2] Vá em FILE -> OPEN PROGRAM e
escolha o programa DQBMAN.BAS e pressione F5 para executa-lo. Se o programa rodar
normalmente pule para o passo [5] caso contrário, continue no passo seguinte.
3] Provavelmente deu erro ao executar
DQBMAN.BAS. Este é o programa que instala o DirectQB. Para que ele funcione
devemos acrescentar um comando de linha do prompt. Veja abaixo:
qb/lqb
O erro ocorria anteriormente porque ao clicar sobre o arquivo executável QB o comando de linha /lqb não era executado o que causa o erro de execução do DQBMAN.BAS.
4] Vá em INICIAR -> ACESSÓRIOS ->
PROMPT DE COMANDO e ache o diretório que você colocou descompactou o Qbasic. Se
você instalou na unidade c: provavelmente terá algo como c:qbasic>

No
prompt de comando digite o comando QB/LQB.
5] Com o compilador Qbasic aberto vá em
FILE -> OPEN PROGRAM e escolha o programa DQBMAN.BAS e pressione F5 para
executa-lo. Agora o programa deverá executar normalmente. Observe os
screenshots abaixo:

Ao
Ao
executar...

Vá pressionando BARRA DE ESPAÇO para adicionar os módulos que deseja instalar. É conveniente instalar todos os módulos.

Se
tudo der certo, irá aparecer a janela abaixo:

Então dê ENTER e pronto! A biblioteca está pronta para ser utilizada. A linha de comando para abrir o QB com a biblioteca totalmente funcional é a seguinte:
6] Para que você não fique toda hora
tendo que abrir o prompt de comando é possível criar um arquivo em lote do DOS.
Isto permitirá executar o QB diretamente a partir dele, bastando clicar com o
mouse duas vezes. Um arquivo em lote aparece como no screenshot abaixo:

7] Para criar este arquivo em lote você deve estar no diretório do QB a partir do prompt de comando e então digite as seguintes linhas:
COPY CONM directqb.bat << dê enter >>
Qb/ldqb << dê enter >>
<< tecle F6
>> << dê enter >>
Pronto! O arquivo em lote foi criado...
Se
você seguiu as instruções direitinho não tem como dar errado! Novamente, deixo
claro que os procedimentos foram feitos sobre o Windows XP. Um arquivo “directqb.bat”
está disponível no download, isso elimina o passo [7].
Qualquer
dúvida poste no fórum da Unidev.
Bye
Aclive