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\HIMEM.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:

 

DEVICE=C:\WINDOWS\EMM386.EXE 4000 RAM

 

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:

 

SET BLASTER = Asss Ii Dd

 

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:

 

SET BLASTER = A220 I7 D1

 

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:

 

QB/LDQB

 

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