Usando o Disk Drive No MSX
Usando o Disk Drive No MSX
Usando o Disk Drive No MSX
COLECAo MSX ~
=------------::- ~ -~ ~
USANDO 0 DISK DR V NOMSX
USANDO o DISK DRIV,E 1\10 MSX
NEditora
A./eph
RUBENS PEREIRA SILVA JR.
USANDO 0 DISK DRIVE NOMSX
COLEGAO M5X
3~ EDICiiO
NEdifora
A./eph
@ ~.lI..IE PH PUB u CiAt:6 E:S E tl S,S,IE,S,SOR ~ A If! E [hl!i.'G (i G I eA IlfDA.
C,CO'RDf:NACiO ED I TOFlI, AL: IP i e r lui II~ P ,I OliIj!:Z i
EOmTOR~GiO~ Ae~ato ~~ Silva Dljv~lri
PRODUCiO EDITORlAL~ Bttty F. Pialll
REVISIO T~CNICAI E~~~rdo Resend8
ILUS,TFlACiO E AATE: Ana L6c~~ Antico
CAP~: . ~Iviro ~ui t~e~mG
ALEPH Pub~~ca~5es e A5sassorla fedi96~lta Ltda. h. IOIF. L,ulz MjgIIUl~, 1110 C]. J~1/3~j - M~rumbl
05711 - Sio Pa~IQ - Sp
fo~~, (011) 848-3202
D a doli 'ij,orj oC.'1tall e ga!ji ii Q noll P'"b 1 h:;a,~il 0 (C IP'II Ill'IhlWfllI cl on 1iI~ (C~ma,r'll Ehil'5j~'lIiri! do LhlriOl" S'P, IBr8!iil,~
!'!i I"" J;';n.iQi"., Rub 113 f'1'l'r",j '["Q,I'}(il-
LI·; Dl~"" ,Ii..k-ddv 110 !-15K ~ llt'it-ili\lH C, lLil-DOS., IU~-~I'" I R\lh., .. ~ 1,<, .. 1' ~ I II St 1,\'11 JU11ior. - gj;;" ~"HI'1 (1
A lliph" l'H!!!).
1. f'l' f 1 (K i ., tc.nll o~ r ~C 'l til Ltl ~ d.· rnlnl,"t, 1.1,) ~
2, ~5X (COIII[llIlml ... ) - l'r(r~flIt>1~;;O J. "'~"g["rnII,,:\o (CO!!Tlllult.1i1"r~9 I' h· r riOni ",u;;) Ii. !:h UH!lIl~ Il'""r,, .. i U[l;:ti.!i ~CI'"lllnL"I"'r!'~) r. 1"';1 J"I". ~ I. S(: ri e ,
CfIIHJlll. ('1,2 -eo 1 ,.M~~
Ifid~C(!$ p:!r31 calli~olll:l l!!ij5,I'IlII.[llh::ti;
l , l.""'f,ut.~IJ(1rl:'~ = l'r"~T"ar'j:l\;:J'" I'roC:~(II~ ~ . 'Ill" .... d,.1.!O~
UrJ I _IJ/.2
1, f:I'/1II l :it ~ rem.' ClPI:'I."~l"io;r"l!Il : 1:I1bqJlItar.ll'OteN = 'i' r"""I""h~,,,' .. tn olu .. ,,(Jogs 1101.l,(,'1
). '1$:( : Cl"'II''''lJ]lhu'''~: 'rrnilrnm,~~ no : l'r.f~(!r.5,jl '1~(I I!IQ dad!), IJ01.b.:o?
I,. I'r(l~rl1rn~,~io dco C'(1lf1ilLlt(l,~uu'", : Fro~c~ ~a""'.,I,, ttL< nl.IJo~ aOl.I'iI.Z
51 !I1:i ~.h'n~·H~ '~ln"r'.lti,on~l1~ ('In ~li!;1rrn : rroce.sll': n~nlo 111' dllrl(!~ OIH, ~t,25
,
SUMARIO
NOT.A DO EO I TOA. . .. . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... 007
CaPItulo I
- NOCoES GEAA IS. . . . . . . . . . . . . . . ... . . .. 009
I NTAOOUCiiO .....•.......................... 010 AROUIVOS ........•.........•.•••••.•....... 010
AEG I STROS ..•..•...•••.... • . . . . . . . . • . . .. 011
CAMPOS 011
PROGRAMAS •................•.............. 012 NOMES DOS AROU I VOS .•.•.................. .013
NOMES DOS PER I FeR I COS 014
lABELA sse II 015
FORMATACiiO DE DISQUETES ....•............. 017 eAPACIDADE DE ARMAZENAMENTO .....•........ 019 DIRET6RIO .....•..............•••.....•... 019 CU1DADOS COM DISCOS E C6PIAS RESEAVAS .... 020
SISTEMAS OPERACIONAIS ...........•........ 021
Cap It u 10 I I -DSK-BASIC............ 023
o QUE e 0 DSK-BAS I C 024
FORMATACiiO DE OISQUETES NO OSK-BASIC 026
ESPACO L I VHE - DSKF{ 0) 027
SAVE ..•................................... 028 LOAD ...........•.......................... 031
MER'GE 032
SLOAD & BSAVE.............................. 033
FILES&LFILES 035
COpy ................................••.... 037
K ILL .•........................•.• O' ..... O'.. 038
NAME .........•. O'........................... 038
AUTOEXEC. BAS 039
TIPOS DE AROUIVOS NO DSK-BASIC ••••....•.• 039
AHOU I vas RANDoM I COS ...•...•..•.........•. 044
Cap it u 10 I I I - HS-MCP •.•.....•................... 049
o HB-MCP ..........•...................... ~"50
INICIALIZACiiO 00 HB-MCP ._ ........•.•..... 050
ORGANIZACiO INTERNA DA MEMORIA 051
CCP - PROCESSADOR DE COMANDOS DO CONSOLE. 053
01 R 054
ERA ............••...••................... 054
REN 0'55
TYPE .............•..............•........ 050
SAVE ..............•........••............ 056
USER 056
FORMATACiO DE DISQUETES NO HB-MCP &
C6PIA DO SISTEMA OPERACIONAL 059
S TAT. COM ...........•..................... 064
PIP.COM ...........•••••.....••.......••.. 073
COPY. COM 079
DSKCNV . COM ••.......•••...•...•...•.••.•.. 081 AUL TaL D. GOM ....•......................... 082 DUMP. COM ....................••.......••.. 084
DROUT.COM B DRINP.GOM ...........•.......• 085
FUNGOES ........••..........•............. 086
SUBMI T. COM. . . . . ....• . . . . . ..• . . . . . . . . . •••. 088
XSUB . COM ...........................••.... 089
CARACTERES DE CONTROlE ............•...... 090 TECl AS ESPEC I A IS. . . . . . . • . . . . . . . . . • . . . . . .. 092
Ca.p It u 10 I V - HB-DOS 093
o QUE ~ 0 HB-DoS ...........••............ 094
DATE ................•.................... 095
DIR .....•........•................••••... 096
TYPE 096
REN DU RENAME .••....................•.... 097
MODE 097
ERASE au DEL ..•.......................... 097
BASIC. . .....•..... . •••..... . . . •....... . .. 098
VERIFY 099
COpy ...••.........•...................... 099
FORMATACiO DE DISQUETES E
C6PIA DO SISTEMA OPERACIONAL 101
EXECUCiO AUToMdTICA DE UM PRoGRAMA ....••. 102
PROCESSAMENTO EM lOTE 102
PECULI AR I DADES DO HB-DOS •...............• 106
Capitulo V
-OICIONdAIO DE COMANDOS 107
DSK-BAS I G 109
HB-MCP ........••...............•.......... 140
HB-OOS .................•.................. 160
.!ltPENDICES
APeNOICE I - C6DIGOS ASCII 175
APeNDICE I I - COMO INSTAlAA 0 DRIVE ....•......•......... 176
APeNDICE 111- MENSAGENS DE ERRO 177
APeNDICE IV - TEClADD NUM~AICo REDUZIOO DO HB-MCP 177
NOTA DO EDITOR
Algumas semanas antes do lan~amento deste I ivro, passel par Amsterdam para i~r. entre outras coisas. a que as holandeses estavam fazendo. de Interessante. com seus MSX.
Jodos sabam 0 quio penoso 6, para 0 viajante. se 10- comover numa cidade desconhecida onde se fala uma lingua estranha. Em Amsterdam. porem. t i ve uma asradan i I (ss ima sur p r asal Toda cidade e servida por uma rede de BONDES (com horario I!I tudo I) tao tac i I e r ac I ona I dB ser usada que em pouco tempo estava me deslocando com a desenvoltura de um natlvo.
Em Sao Paulo. em comoe ns ac ao . hav l a uma linha de bondB que I igava 0 Instituto Blol6glco no Parafso com Santo Amaro praticamente em I inha reta. Este bonde tinha horarlos e era praticamente 0 embriao de uma rede de MetrS a~ ar livre.
Pois bern. em nome de urn Bstranho conceito de progresso esta I inha. e toda rede de transports por bonde de Sao Pau 10. fo i desat i vada. Ou i 18metros e qu i I Bmetros de tr i I hos foram enterrados pelo asfalto sob a alegac;ao de que os bondes atratialhavam os carrosl
Isto me fez meditar urn pouco sobre a mania que 0 ser humano tem de procurar a novidade pela novidade. Na realidade tecnologias mais antigas. se uti I izadas de maneira moderna, produzem resultados modernos e muitas vezes a custos espantosamente mals baixos que os das -tecnologias de ponta"1
o estabelecimento do padrio MSX no mundo inteiro me I emb r a urn p o u co aut i I I z a cia r a c ion a I do bon de. Peg 0 u - 5 e 0 mais consagrado microprocessador de 8 bits (0 famoso ZBe). 0 mals eficiente gerador de sam. a melhor processador de vIdeo. urn poderoslssimo sistema operacional e se criou uma maravilha a preco espantosamente baixo.
Sua receita e extremamente simples, componentss js ex i s ten t e s e mu ita I n tel i 9 e n cia.
Nos Estados Unidos. Japiio e Europa. urn microcomputador pessoa I pode custar tranqu i I aments rna is de 2900 dbl ar es. No Brasi l.qualQuer sistema que exija mais de 1gee d61ares para sua instalacso ]a e vedado a quase totalidade do mercado domestico e a uma parcela consideravel do mercado empresariai, constituida por pequanas firmas. consultbrios. escrit6rios de advocacia, etc.
Urn MSX como 0 HOTBIJ. uti I izando cartuchos e urn sistema de sr avac;io de d ado s em f ita, repr esenta urn sistema a 1- taments ut iii z ave I par a aduc ac ao , I a z sr 8 uma ser i 8 de ap Ijcoes domesticas importantes.
Para apt l c acfie s mais profissionais. e nde a rapidez e a confiabi I idade do armazenamento dos dados sa tornam fatores cruciais. temos 0 disk drive. urn importante periferico que permite a incorporacao de outros poderosos sistemas oparacionals alem do residente.
7
Com 0 disk drive 0 usuario passa a dlspor do DSK BASIC. uma extensao do BASIC residente que permite gerenclar as arquivos e programas gravados em disquete.
Alem disso. a partir do proprio disco podemos carregar 0 HB-DOS. urn sistema up ar ac t e na l extremamente versatil que permite a uti I Iza~~o de uma s~rie de interpretadores e compi ladores para outras I inguagens. Traduzindo l s tu para uma linguagem simples. poderramos dizer que este sistema permite transformar 0 HOTBIT e seus c omp a t f've l s MSX em pol Iglotas que al~m de falar sua propria I(ngua (0 BASIC) passam a utilizar as mals modernas linguagens de programa~ao.
o uso do disk drive no HOTBIT enos seus compatfvels perml te a ut I I I zat;ao do HB-Mep. um s I sterna op sr ac i ona I que compatibi I iza 0 MSX com uma vastrssima biblioteca de software ja desenvolvida para outros computadores profissionais.
Resumindo. podemos dizer que a uti I iza~ao do disk drive nos computadores do padrao MSX os transforma em equipamentos modernrssimos. extremamente eficientes. assistidos por uma enorme quantidade de software ja desenvolvido e, fator importantissimo para a realidade acunfimt c a brasileira, de custo multo baixo.
o aparecimento do disk drive para 0 HOTBIT fOI, com certeza. 0 mals Importante passo dado nos 61timos tempos para a verdadeira informatila~ao de nossa sociedade.
Prof Pierlulgi Piazzl Editor
B
,
CAPITULO I
INTRODUf;AO
De uma maneira geral. 0 trabalho com 0 computador resume-se em reeeber informa~oes, tratar essas Informa~oes atraves de urn algorltmo ja eonhecido {que 6 0 programa que est6 carragado no computador) e devolver outras informa~oes como resultado, sendo estas multo mals utels do que as do infcio do processo.
Para que 0 computador possa reeeber informa~5es. 6 necessario que haja urn meio delas chegarem ate ele. Por isso existem perifericos como 0 teclado. 0 gravador cassete 8 0 disk-drive, entre outros.
o disk-drive (que daqui para frente vamos chamar apenas de drive) e urn periferico que permita ao computador ter e gravar Informa~ijes em disquetes (chamados tambam de discos, ap e nas L numa grande velocldade e com multa cunt l ab l> I i dade.
Quando util ilamos um drive. existem cartas regras para que 0 computador possa receber e enviar Informa~oes a ele. Sem Bssas regras. ficaria muito dif(ci I. senao impossIvel. ao drive se tornar Gtll.
Essas regras nada mais 580 do que extensoes naquelas que voce usa quando utillza 0 computador com um gravador casset. Nao sera diffcil. portanto. aprender como usar 0 drive se voci souber como utilizar 0 gravador casseta.
Os dados gravados em discos podem ser acessados de uma maneira multo mals raplda e mals dinamica que os dados armslenados com urn gravador.
Para podermos eRlendsr a dominar todas as faeilldades oferecidas pelo usa do drive. vamos prlmeiro nos familiarizar com alguns termos comuns na area de computa~ao. para depois entrarmos com a pi direito naqul 10 que 0 HOTBIT Of8- reca quando conectado ao drive: 0 DSK-BASIC. 0 HB-OOS e 0 HB-MCP.
As jnforma~oes a serem armazenadas nio podem simplesmente ser -jogadas· no disco. t preciso uma certa organila~io.
Toda passos de born jufzo saba que em uma agenda de telafones encontraremos os telefones dos amigos e nao reeaitas de bolos. Se quisermos saber como preparar uma torta de mal;a. devemos procurar a rece i ta em um I j vr o de cu Ii nar I a e nio numa lista telef6nical! Dessa mesma maneira os dados a serem gravados no disco devem ser agrupados, as reeeitas, no livro de cu l l nar l a , 8 as t e t e+nne s • nas agendas.
ARQUIVOS
la de outro po de
Vamos chamar de arquivo a urn conjunto de Informa~5es que estao agrupadas de uma dada forma.
Por exemplos a lista dos nomes dos alunos de urna saaula pode ser urn arquivo. A lista telef6nica pode S8r arquivo. Vamos. partanto.chamar de arqulvo a todo grudados que estiverem relacionados entre si. formando urn
conjunto.
Todas as informa~5es gravadas em disco sio obrigatoriamente agrupadas em arquivos.
Voce pode imaginar 0 disco como sendo uma pequena bibtioteca onde estao varios Itvros (que sao os arquivos) e que cada livro contem informa~5es sobre um dado assunto, culinaria. telefones. esportes, etc.
REGISTROS
Oentro de urn ar qu I VO, por tanto, nbs temos mu i tas i nforma~oes que podern 8 devem S8r separadas em grupos menores que vamos chamar de registros.
Imagine uma lista de chamada, daquelas usadas palos professores, como sendo urn arquivo. Nela temos jnforrna~oes sabre 0 aproveitamento de cada aluno.
Imagine tarnbem uma ! ista telefBnica como sendo outro
arquivo.
No exemp!o da Iista dos nomes dos atunos em urns sala de aula,podemos chamar de registro ao seguinte conjunto: nome do aluno, numero de faltas no mes, nota do aluno.
No eKemplo da lista telef8nica, nbs podernos ter como registro a conjunto.nome do assinante e numero do telefons.
A Idela de registro dentro de um arquivo de disco j a mesma ideia de urna ficha dentro de urna gaveta em urn arqui~o de escritbrio, ou seja, 0 arqulvo e a unlio de todos os registros que contem urn grupo de informa~oes sobre cada Item em separado.
CAMPOS
Oentro de um registro temos ainda varias informa~aes sobre urn dado item e convem separarmos esses dados mais uma vez. Vamos chamar a cada informa~io assim separada de campo.
Campo e s menor informa~io completa que existe dentro de um registro e, consequentemente, dentro de urn arquivo.
Nos eKemplos citados anteriormente, urn campo serla 0 nome do sluno; outro campo serla a numero de falta5 daquele aluno no mis; outro seria 0 nome do assinante (no arquivo da I ista telefBnica) e assim par diante.
Para entender malhor as idiias de arqulvo, registro e campo, vamos imaginar uma pequena agenda de tllefones, desSiS que geratmente carregamos con05CO no bolsa ..
Nessa agenda (que e um arqulvo) nbs temos os names d05 nOS505 amigos e clientes. Assoclados a esses names nos temos, endere~o completo e telefone (que formam, juntos. urn registro).
05 names, endere~os e telefones sao,cada urn, urn campo, pols representam infurma~5es completes elementares.
Veja na figura 1.1 essa Rossa agenda desenhada de uma maneira bern simples para tirer qualquer duvlda que ainda exista.
1 1
FIGURA 1.1 - Agenda telef5nica.
lQ r
E
S
I
S t
r
o
NOME: caIPo "NONE"
END: .__caIllPo "END"
TEL: _
--------- campo "TEL"
2Q
r NOM[: _
E
9 END: _
I
5 TEL: _
t r o
• • •
nQ
r NOHE: ~ _
E
~ END: _
I
r TEL: _
r o
PROGRAMAS
Exlste urn tipa especial de arquiva que nbs chamamas de PROGRAM~. Urn programa ~ urn conjunto de jnforma~ijes que foram agrupadas de forma a fazer com que a computarlor execute tarefas cons8cutivas e que tanham alguma utiljdade pr~tica. 05 programas siD gravados em disquetes como arquivos. A difeferen~a entre urn arquivo qualQuer a urn programa. ~ que este 61timo cant~m jnforma~5es para uso do computador enquanto as demais arquivos eontirn informa~ijes para nosso prbprio uso.corna names, telefones. etc. Se tentarmos olhar as tnforma~ijes contidas num programa. veremos apenas uma sequ~neja aparentemente aleat6ria de caracteres (tetras. n6meros, sfmbotos grafteos, e t c . ). sem oenhum Significado imediato para n6s. porim perfeltamente compreensfveis para a computador. Na verdade. nos podemos usar 05 dados que constituem um programa. mas apanas atrav's do computador.
Tanto as programas como as dama!s arqulvos sio tratados pelo computador com indjferen~a quanta a forma de serem I idose gravados em disco. Para 0 cumput auar . tudo nao passa de urn monte de dados. sando que alguns ele ~8ntenden (programas) e outros nbs -entendemos· (demais arquivos).
12
NOMES DOS ARQUIVOS CASSETE
Voci deve ter notado que um arqulvo necesslta de um noma. Esse nome nos permtta localizar a difarenciar esse arquivo dos varios Dutros que possam existir.
Em um computador. os arquivos podem estar gravados em flta casseta au em disco e cada um desses arquivos precise ter um nome. 0 nome de urn arquivo tern certas restri~oes que precisam sar Dbservadas.
Nomes de arquivos gravados em fita casseta nao pDdem conter mals do que sets caracteres, ou seja. devem ter pelo menDs uma Istra e no m'ximo sals. Voci pods dar 0 nome que bam entander aos seus arquivos. desde que ale nio tenha mais do que sais caracteres a que cada caractere seja uma letra ou numero.
Veja alguns nomes que podem ser usados como names de arqulvos para flta casseta:
AGENDA REOATO ALUNOS
X1 ABK3 ARQTST
K lIXO JOGO
TENIS QUAORO DADOS1
01 SQUETE
Os arquivos que foram gravados em disco t~m uma flaxlbllidade muito maior a come~ar pelo nome. Voc~ pode uti I izar ati olto caracteres para 0 noma do arquivo.
Quanto as restri~oes.continuam existlndo, 0 nome deve ter pelo menos urn caractare 8 no maximo oito. composto de letras e/ou numeros. Alem dasses olto caracteres.o nome de um arquivo em disco possui ainda mals tres caracteres que servem como indicador de tipo. a que chamaremos de extensio do noma.
Portanto. onze e 0 numero m'ximo de caracteres que compoem 0 nome do arquivo: oito para 0 nome propriamente dito e mals tres para a extens~o do nome (geralmente usado para identificar que tipo de dados estio gravados no arquivo).
Para separar os olto caracteres do nome do arquivo dos tr~s caracteres da extensio do nome ~ uti lizado urn ponto ( . l.
o ponto que separa 0 nome da extensao nao faz parte nem do nome e nem da extensao. ele serve apenas para separar urn do Dutro.
Veja alguns exemplos validos de nomes de arquivos em
disco:
TESTE. BAS AlUNOS.B5
JOGO.NEW JANELA. GOB
COMANDOS.BAT ARQALEPH.ASM
A1 :ABC X.2
A extensio do nome do arquivo , opcional. voce pode ou nao coloca-Ia. Ela existe apenas para facllitar a nossa compreensio sabre os dados do arquivo. 5e voci nao for digitar a extensio do nome do arquivo nao e necessario usar 0 ponto que sapara 0 nome da extensio.
13
Veja, a seguir, outros ax sme l as ,
ARQVA10R SHARP fUNDAMEN
ARQBANCO PRINCIPA Y2
CARTA DlfUSE TEXTO
A I sumas consideradas como dessas extensfies, algumas ds l as ,
extensfies, pelo seu uso constante, j~ sijo ·padrfies·, e quando urn arquivo possui urn a e facilmente r dsn t t t r cadn . Veja, a seguir
EXTENSiO BAS FOR COB ASM MAC
C
REl COM PRN BAT HEX OAT SYS ASC TXT
SIGNIFICADO
prograrnas escr tos em BASIC
programas eser tos am FORTRAN prograrnas escr tos em COBOL
programas escr tos em ASSEMBLER programas escr tos em MACRO ASSEMBLER programas escr tos em C
programa relocavel
programa eKecut~vel em linguagem de m'quina listagem gerada na eompila~io de um programa conjuntos de comandos para eKecu~io em ~BATCH· dados em heKadecimal
dados diversos
dados do sistema
dados em ASCII
teKtos diversos
Se voci tiver urn programa chamado PROG1 e ele estiver em BASIC, " convenients cham~-Io de PROG1.BAS. Assim flcar' mals fAcil saber ° que" 0 PROG1.
Algumas das eKtensfies descritas anteriormente tem significado especial eniD devem ser usadas para quaisquer arqulvos. Nos capftulos seguintes voci saber6 a porqui disso.
NOMES DOS PERIF~RICOS
Da masma maneira que os arquivos, os perifericos tambem tim seus nomes especials.
Periferico" tudo aquila que estA oa "periferia- da Unidade Gentral de Processamento (UCP):o teelado, 0 v(deo, a impressora, 0 gravador c assst e . a drive, etc.
Gada perifirico tern aS50ciado a 51 um nome especffico para que 0 computador saiba onda procurar para ler au gravar arqufvos, independentemente de a comunica~io ser para 8nviar dados ou receb@-Io, da CPU.
A seguir voci tem uma lista com alguns names de perifericcs que 0 MSX pode aceltar ao ser ligado a urn ou mals drives a/ou cartuchos.
Note que apenas quatro nomes sio sempre Interpretados pela GPU ( CAS: , LPT: , GRT: e GRP.) ,pais estio Identificados na ROM. Os demais names dependem de cartucho5.
14
NOME GAT, CAS, lPT, GRT. GRP, A.
B, C. D, E,
F, NUL:
COM, AUX. CON, (outros)
PERIF~RICO
cartucho gravadar cassllte impressora
v f dao ( na SCREEN I ou SCREEN 1 ) video (na SCREEN 2 au SCREEN 3)
~~:.~:: }
drive HiXIHA
drive CONFIGURACiO
drive
perifericos especiais RS-232C
perifericos especiais console da CPU
Tome cuidado ao dar nome aos seus arquivos para nio mistura-Ios com os names dos perif.rlcos. Par exemplo. cha~ar urn arquivo de CAS.BAS pode dar multos problemas e muita dar de cab8~a no futurol
Para Indlcar ao computador am qual perif~rlco voci quer que ele procure 0 arquiyo fornecido. deve-s8 escrevaf 0 nome do parifirlco antes do nome do arquivo. Veja. a seguir. alguns exemplos.
CAS,AlU2 A,ARQUIVO.OAT B,PROG1.BAS
Note que os dais pontos (,) suvem para s sp ar ar 0 nome do perif~rico do nome do arquivo.
Em resumo. sampr. que quisermos que a computador armazene uma certa quantidade de Informa~fies. esta ser6 armaZ8- nada em forma de arquivos.
Temos portanto que dar urn nome a esse arquivo para que ele possa ser utilizado mais tarde.
Tamas que informar. ainda. 0 meio flsico. onde devera ser gravada OU lido eSS8 arquivo. dando 0 nome do parifeco correspondente.
Somenta depois de dlzermos ·onde" e ·0 que- queremos i que 0 computador poder' acassar 05 dados la contidos.
TABELA ASCII
Para que possa haver comunlca~io homem-maquina. e necessario ums padroniza~io das Informa~6e5 enviadas e recebidas pelo computador e pela passoa que 0 uti I iza.
A Tabela ASCII (American Standard Gode for Information Interchange) exlste para assoclar a cada sfmbolo. n6mero GU letra que dlgitamos. um c6digo numirico que 0 computa-
15
dar possa operar.
Quando digitamos PABC· no taclado. na raalidade 0 micro est~ recebendo as c6digos 65, 66 e 67. que representam as tetras A. B e C respectivamente (veja no apindlce I tados as c6digos da labela ASCI t ).
Oa mesma forma.quando 0 micro nos envla uma mensagem. ele a faz atraves de c6digos que sao mostrados em forma de letras para que possam05 entender seu significado.
As transforma~oes que ocorrem. desde a digita~ao dos dados ate a sua vlsualjza~io na tela do micro. passam desaper c e bid asp 0 r par ted e quem 0 uti liz a. A fin a I. n a a I n t ere 55 a saber 0 que realmente acantace dentro do micro. mas apenas a resultado final.
Porem. e born saber como as dados dos arquivos sao transferidos e interpretados pelo micro. pais algumas fun~oes do aSK-BASIC e do HB-ODS sao baseadas na tabela ASCII. nos obrigando a tomar certas cuidados quando formos uti Ilzar a I gumas funt;iies.
Nessa tabela. todos os simbolos. numeros e letras (tanto majusculas como minuscules) tim. cada uma um c6digo diferente. comecando a partir do c6dlgo ASCII 32 (que representa 0 espa~o em branca) e indo ate a c6djgo ASCII 127 (que representa a fuoelo DELETE).
Os numeros de 0 a 31 sao c6digos especials que nao representam sfmbolos. mas sim a~o8s que devem ser tomadas quando algum periferico as recebe. Esses codlgos merecem uma atancia especial de nos sa parte.
Vamos tamar. como exemplo.o c6digo ASCII de numero 7. correspondente ao BELL.
Quando enviamos este c6digo para algum perif6rlco (0 Video. par exemplo) n6s ouviremos urn "beep". Isto porque 0 e6digo ASCII 7 signlfiea "soar 0 alarme- (BELL)!'
Experimente djgitar a seguinte camando,
PRINT CHR$(7)
o mesmo vale para a impressora,
L.PRINT CHR':Ii(7)
Se a sua Impressora tiver uma campainha. voci acabar~ ouvindo um "beep".vlndo da sua Impressora. Nem todos os perifericos interpretam 05 c6digos da tabela ASCI I. 0 drive 6 um delas. 5e de alguma forma (que sera vista mais adiante) for enviado 0 c6dlgo 7 (BELL) para a drive. e s t e ac ab ar a sendo gravado no arquivo em vez de produljr urn ~beep·. Quando voci for I I star est ear qui von 0 V f d eo. a ( 5 i m • 0 u vir a um .. bee p .. vindo do melo da listagem e pensar~ que 0 micro esta louco ...
Vamos nos deter em alguns codigos apenas . A sequincia de c6digos &H00 e &HeA (retorno de carro e avanco de linha) slgnificam flm de uma Iinha. Sempre que uma linha de programa ou urn registro de urn arqulvo for gravado em disco na forma ASCII. a sequincla &HIO &H0A sera inserida em seu final para que a micro saiba que ali termina a linha.
16
Outro c6dl90 ASCII multo importante para nbs ~ 0 c6- dlgo &H1A (fim de arquivo). Sempre que terminamos de gravar um arquivo. 0 micro grava um b~te a mals (&H1A) indicando que ali termlnou 0 arquivo. e que nada mais vira adianta.
Nio fique multo preocupado em entender bem 0 que SiD estes c6dlgos. Basta voce ter em mente que cada letra. sfmbo- 10. numero. etc. sao codltlcados e qua cartos cbdigos nao representam um sfmbolo. mas sim urns a~io a sar tomada. Sampre que necessario. rscorra ao apendice I.
Se voce tiver ssta Id'ia m sua mente. flcara mals faci I ds entendsr 0 porque de certos comandos que estudaremos mais adlante.
FORHATAC~O OE OISQUETES
Quando compramos um disquete virgem. ele vern com nada gravado. Nessa situa~ao. ele nio serve para multa colsa (nem para voce se abanar nos dias muitr quentes).
Ao joserir um disquete virgem no drive e tentar gravar alguma colsa. voce rscebera algumas mensagens de arro. dizendo que 0 disco esta com detelto ou coisa do tlpo. mas nio S8 assuste. pois isso • normal.
Para que 0 drive possa acessar corretamente 0 disco • necessario antes -formata-Io·.
Durante a formata~io, todo 0 disco' verificado. Cada ·peda~o- do disco' testado para ver se existe ou nio deteltos al'm de ser totalmente Hlimpo· s ainda para rseeber certos dados eSP8cfficos que servirio de indicadores para 0 drive saber como 0 disco est~.
Apos 0 dlsquete ter sido formatado voce poders usa- 10 a vontade, porque a formata~ao so e necessaria uma unlca vez.
Apenas um culdado e necessario: Tenha cartaza que aD formatar um disquete nao exlste nada de util gravado nele, pois apos a formata~ao 0 disquete fica totalmente "I impoN. ssm nenhurn dado gravado.
Uma boa pratica e a de formatar os disqustes virgens assim que sio comprados. para nao ter a preocupa~io de saber 58 tal disquete foi ou nao formatado quando for usa-Io.
Formatar um disquete portanto • deixa-Io apto a receber dados. Sem formata-Io 0 drive nao consegue utlllza-lolI Gada micro formata urn disquets da maneira qus Ihe e mais convenlente. nao havendo uma padroniza~ao para isso.
o disco e dividido em tr!lhas e. cada trilha ~ dividida em setores. A dlvlsio do disco em trilhas e setores e 0 que constltui a formata~ao. Na figura 1.2 pode-s8 observar 0 esquema de urn disquete formatado. com trllhas e setores.
A divisao do disco em trilhas depende fundarnentalmente do drive utilizado. Normalmente. os drives usados por diversos micros sao de um mesmo fabricante.
Sendo assim. mesmo as discos formatados em micros de marcas diferentes possuem geralmente 49 trllhas, pois asta dlvisao depende da preclsao mecanica usada na constru~ao do
17
drive.
fIGUflA 1.2 - 0 j S'lIJ~t f COl: t r i Iha f setOl'es.
... ....
s.a.tur 1
sator
setor 2
setor 4
Cada t r l tn a do disco pode armazenar de 4 a 5 Kbrtes (1 Kbrte=U24 b,tes). Acessar um disco de tr t t na em t r l l ha , Simples. mas trabalhar com seus 4 ou 5 KbJtes n~o " ~ devldo a isso que 58 divide cade trilha em dlversos setores.
A dlvis50 das trlthas em setores ji nio depende mals tanto do drive. mas sim do programs responsive I palo acesso ao disco. Se um certo fabrlcante resolve subdividlr uma trltha em 18 setores. ent50 cada setor teri de 488 a 581 brtes. a que torna 0 trabalho com os dados muito mals ficil.
Para se dividir uma tritha em um certo n~mero de setotes 'necessirio gravar algumas jnforma~aes entre cada um dos setoras para podsr distingui-los. Sio essas informa~aes Inseridas na formataGio que fazem. de falo.a divlsio das triIhas em setores. indicando 0 tim de um e 0 in(cio de Dutro. Obvlamente.dos 4 au 5 Kbytes originals de cada Irllha. alguns brtes serio usados para a divisio em setotes.
. Na figura 1.3 pode-se observar uma representa~io 8S-
q U emU i c a da uma t r i I had i v i did a em 2 a 4 58 tor e s .
FIGURA 1.3 - Trilha dividida fI set ores.
Trjlha com 2 setores:
11:* I setor 1
lui
setor 2
Tr i I hac om 4 set 0 res:
setor
setor 2
setor 3
setor 4
Oados de controle: 11:11:
18
Nos micros da linha MSX (como a sau HOTBIT). tanto 0 DSK-BASIC quanta a HB-DOS (que serio descrltos nos pr6ximos capitulos) dividem uma tri Iha em nove satores de 512 bytes cad a. 0 n ume rod e b y t e s dis P 0 n r vel em cad a t r i I h a ~. par tan to. 9 x 512 = q688 . ou seja. 4,5 Kbytasl
Micros de outras I inhas (APPLE, TRS-Be, etc) dividem uma tri Iha em urn numero difarente de setores. 1550 faz com que urn micro nao consiga ler os dados gravados num disco de urn outro micro que use uma formata~ao diferante.
Os dados de controle gravados entre cada setor servern, entre outras coisas, como urn verificador do que foi gravada.
Assim. se par algum motiva for modificada a conteudo de urn dis c 0 e a con t r 0 len a 0 for a tu a liz ado, 0 m i c r 0 r e c usa r a as dados lidos.
Sendo assim, uti lizar discos com formata~oes diferentes ocasionara arras de leitura.
Com 0 passar do tempo, pode acontecer que a valocidade de rota~ao do drive se altere. Quando 1550 acontecer, os dados de controle podem nao ser I idos no momenta certo e a micro acabara acusando arro de leitura.
Para evitar esse tipo de erro, basta fazer uma revlsao peri6dica no seu drlvB, recorrendo para 1550, a casas especial izadas.
Como voce pode notar, 0 acesso ao disco e urn tanto rfgldo. axigindo cuidado aD manipul~-Io para que dure muito sem precisar de novas formata~oes.
CAPACIDADE DE ARMAZENAMENTO
Urn disquete tern uma capacidade I imitada de receber dados. Essa capacidade geralmente 'expressa am Kbytes (qua equivale a le2~ bytes).
Se urn disquete pode conter 3q6 Kbytes quer dizer Que nele podem ser gravados 35q38~ caracteres.
Davida ao atual avan~o tecno16gico, existem v~rios modelos de drives, tendo os rnais recentes maior capacidade, conssguindo gravar muito mais dados do que os mals antlgos.
Par isso Quando voce tentar gravar urn programa lou urn arquivo) a ele nao couber no disco. voce ter~ que trocar 0 disco e tentar fazer a grava~ao em Dutro.
Com 0 tempo voce entendera porque e conveniente possuir varios disquetBs ...
Voci pode ate fazer uma analogia do disquete com urn caderno, onde a capacidade do disco e alga analogo ao n6mero de paginas em branco do caderno.
DIREToRIO.
Alguns cadernos sio subdivldidos com paginas nurneradas ou cores diferentes.
em varias partes. e em seu In(ciD
19
axlste uma esp~cia de rndice (para as materlas. por examplo). Ele exista para faci I itar a busca da um certo bloco da paginas dentro do cadarno.
Sa nao existisse asse fndice. voce teria qua folhear o caderno paglna por pagina ate encontrar 0 que daseja. perdendo multo tempo e usando 0 caderno mais do que 0 necessaria. desgastando-o muito.
Em um disquete existe esse mesmo conceito. tendo um fndice chamado -dirat6rio-.
No diret6rio existem todas as Informa~oes necessarias para que seja possfvel encontrarmos 0 que queremos, semeIhante ao fndice de urn caderno ou de urn livro. 56 que com mujtomais informa~oes al6m dos numeros das pagina5.
Sempre que urn arquivo e apagado. crlado ou alterado. o diret6rio e atual izado de maneira a ficar sampre correto e coerente com as dados gravados no disco.
Se par qualquer azar 0 diret6rio for apagado ou avarlado. nao conseguiremos mals coordenar os dados do disco e. com certeza. todas as informa~oe5 18 presentes nio poderao mais ser acessadas na ordem correta, embaralhando tudal Quando isso acontece (0 que , multo raro) 0 jeito , reformatar 0 disquete. limpando tudo 0 que estava gravadol I
Para evitar tais dissabores, NUNGA Insira ou retire o disquete do drive Quando este estiver sendo acassado. senio voce correra 0 risco de Interromper 0 acesso ao disco justamente na hora do "acerto" do dlretbrio e af voce aeabar' pardendo todos as dados do discoll
Este diret6rio tern 0 tamanho suficiente para "tomar conta" de multos arquivos, mas pods ocorrsr de voce querer gravar mals arquivos (supondo que 0 disquete ainda tenha area disponrvel) e que n~o haja espa~o no diret6rio para saber onde foi gravado 0 arquivo. Nesse caso. mesmo alnda tendo area livre, voce tera que fazer a sua grava~ao em Dutro dlsquete.
1550 pode acontecer se voce graver rnultos programas bem pequenos (que Qcupam poucos bytes) e que acabam lotando 0 dlretbrio sem ocupar toda a area de dados do disco. Esse ~ urna caracterlstica que nio pode ser mudada: 0 espa~o disponfvel para 0 diret6rlo ~ fixo e imutavel, sendo aconselhavel fazer uma djstribui~ao organlzada dos seus programas em disquete.
CUIDADOS COM DISCOS E CaPIAS RESERVAS
Apesar do armazenamanto em disco ser bastants confiavel. ale ainda esta longe de ser perfeito.
Voce js deve ter tido desagradaveis surpresas com programas em fita cassete que sio "diffce's de carregar· e outros que sio praticamente • incarregjvejs""
Com 0 usa do disquete essas surpresas serao bern menos frequentes, mas mas nao de todD ausentes.
Por isso ~ muito aconselhavel ter pelo menos urna c6- pia de cada programa gravado em disco em outro disco OU ate mesmo em fita de boa qualidade.
28
Lembra-se que em um dlsquete podem ser gravados multos programas 8 arqulvos. Se urn unlco dlsquete for danlflcado v'rlos programss e arquivos serio perdldosl I
Para que urn disquete flque sam condi~oes de uso.basta dobra-Io. amassa-Io. molhi-Io. pass'-Io perto de urn Ima delxar cair migalhas de pia au bolacha sabre ele. gotas de clfi. etc.
Par mais cuidldos que 58 tenha ao manlpula-Ios.nunca estamos livres das faltas de IUl. do -curloso~ que gosta de par a mao em tudo. etc.
Lembre-se da LEI DE HURPHY I ·Sa uma coisa tern algurna chance de dar errado, certamenta dar' erradol"
De uma colsa voci pode ter cartez8,justamente aquela dlsqueta do qual vocl nio tern uma cbpla a que' 0 mals importante. sera 0 primeiro a Ihe deilar na mio II Confirmar a lei de MURPHY. na pr'tica. i 56 uma quastio de tempol
Nos caprtulos seguintes veremos como tirar cbpias de arquivos de urn disco para outro.
SISTEHAS OPERACIONAIS
Sistema Operaclonal i urn conjunto de rottnas essenclals para que 0 microcomputador possa funcionar. Sem urn sistema operacional. urn micro nio passa de urn amontoado da componentes eletr6nicos.
Os micros MSX ia v~m de fabrica com urn paquano sistama operacional e urn poder050 Interpretador BASIC embutidos ~a ROM (a mem6rla permanente do mlcrol. Ambos sio ativados assim que 0 micro ~ ligado.
Esse pequeno sistema operacional fol desenvolvido aspecialmente para os micros HSX a funciona em conjunto com 0 BASIC MSX. Ele '0 responsive I pelo vai-a-vem de informa~6es entre 05 di~ersos perifiricos: tBclado.vldeo. gravador cassetel etc. 0 interpretador BASIC apenas decide 0 que fazer com os dados recebidos. sem 58 preocupar em saber como os dados ch~ram ou como vio ser envlados.
o intarpretador BASIC' algo samelhante ao gerenta de uma firmas toma as dacisoes basaado nas informa~oes que os boys (represBntados pelo sistema operaclonal) levam e trazem dlariamente.
Todas as fun~oes de urn sistema operacional sao elaboradas da acordo com 0 circuito eletr6nico (hardware) do micro em que ale ira operar. Sendo assim. cada tipo de micro tern que ter um sistema pr6prlo. pols seus clrcultos SaO dlferentes. Se voci tentar copiar 0 sistema operacional de urn micro que nio seja padrio HSX para um HOTBIT. nada funcionara.
Os programas desenvolvidos num certo equipamento sabem de anfamao qual 0 sistema operacional com 0 qual vao trabalhar. sendo en tiD preparados para receber e encailar 05 dados de acordo com os padroes pr'-estabalecidos para aquale sistema operacional. Davido a isso. urn programa desenvolvido em urn equipamento nem sempre pode ser 8xecutado em outro.
Se quisermos fazer urn programa desenvolvldo para urn
21
.icro rodar em Dutro. tamos que raastruturA-lo completamant8. 1550 garalmenta , multo trabalhoso 8 nem sampra cnmpensa.
Para dlmlnulr 8 dependincla entra programa e IIlcra foram dlsanvolvldos sistemas operacionais com versatilid.de suflciente para que. quando vistos palo programa. parac •• ssmpre 0 masmo, mas qUI possam 58r Instalados 8m micros dif.rantss 8 sem afetar a funclonamento do programa. Esses sistllias conshm dl duas par t as , uma espec(flca para a lIaqulna .. que ala val funelonar e outra padronlzada e Independente da IIAquina. De urn lido desse sistema operational exlstl Isse padrio I do Dutro. as rotinas que dependem do clrcuito Iletr6- nleo do micro no qual IstA rodando 8SSS sistema operacional. Oess8 manelra.para 0 programa. 0 sistema operaclonal , Slmpr. o m85mo. Ha realldade. para cada sistema operaclonal existe. vArils versSls. desenvolvldas uma para cada equipamento. D.ssa forma. um mesmo programa pode rodar em dlversos micros sa. nlnhuma modifica~io.
Urn desses sistemas operaclonals foi batizado de CP," (Gontrol Program for Microcomputers) au programa de control. para microtomputadores. 0 CPtH , idela que deu certo I Itual~ente , a sistema operational para a qual fol desenvolvido 0 maior numero de programas em todo 0 mundol II. ~ natural. portanto. quando urns empresa lan~a um micro no mercado. que haja uma preocupa~io em produzir um sistema operational com caracter(stlcas do CP/M,pois assim todos os pro!ramas ii desenvolvldos nesse sistema poderio ser utllizados no novo mlcrol
J6 que 0 CP/M nada mais , do que um sistema operational, seu 6nlco objetivo , gerenciar 0 vai-I-vem diS informacSes entre as perlf'rlcos, cuidando da forma pela qual as arqulvos serio lidos e gravados em disco, etc.
Ouando S8 tem 0 CP/M Rum micro, a maior parte de sua membria est' de50cupada para poder receber a program. que ir' rodar. Apenas urna pequena parcela , utilizada pelo sistema 0- peracional para a seu prbprjo funcionamento.
o CP/M passui alguns comandos que permltem a voci var a que exlste gravado no disco, apagar um arquivo. verificar 0 conteudo de urn arquivo. e assim par diants.
I:MI Dutro sistema DPeraciDnal '0 HB-DOS. espec(fico para micros HSX. Ele possui muitas carcterfstlcas semelhantes ao CP/M mas nio roda diretamente programas e sc r r tos em CP/M.
Existem multos Dutros sistemas operacionals. como a MS-DOS. SOM.UNIX. etc. Cada um desenvolvido CDm um objetlvo.
Para o· HOTBIT. existem tris sistemas operacionals desenvolvldos e disponfvels no mercado. 0 DSK-BASIC. 0 HD-DOS e a HB-HCP. este 6ttlmo. totalmente tompatfvel co~ 0 CP/M.
Nos pr6ximos capftulos Iremos estudar detalhadamente cada urn deles. suas vantagens a convenl@ncias.
22
I
CAPITULO II
o QUE E 0 DSK-8ASIC
Urn dos pont as fortes dos micros MSX e a capacldade que eles tem de se expandlr facllmente com a auxfllo de cartuchos (a 0 drive' um axamplo disso). Ao sa instalar urn drive num micro dessa I!nha, urn novo conjunto da Instru~aes i Ilberado para uso, sem que sa percam as antlgas. permitlndo assim malar flexlbilidade no tratamento dos dados pelo pro- 9 r ama . A I em den a v 0 5 coma n d 0 S, a I gun 5 que j a ex i s t I am e e r am destlnados ao gravador cassate toram expandldos e complementados de modo a acessar ao drive. tornando 0 HOT-BASIC multo mals vers~tll e poderoso.
Para poder entao d i s t l nsu i t esses "BASIC's", com e sem drive, batlzaremos de DSK-BASIC aquale BASIC com novas comandos , tun~aes, que vamos detalhar neste capItulo.
L importante ressaltar que todos os comandos e fun~oes do BASIC comum continuam operando com a mesma sintaxe. Par axemplo, a fun~ao VARPTR,tanto no BASIC como no DSK-BASIC j usada com a mesma sintaxe, para abler a endere~o da memoria em que esta armazenada uma varieval au a In(cio de um buffer de arquivo. a mesmo nao oeorre com a comando RUN, que no DSKBASIC, pode operar com duas sintaxes diferentes, a do BASIC comum e outra especffica para 0 drive.
Para que os novas comandos funcionem parfeltamente, uma certa por~io de memoria e reservada exclusivamente para usa do drive, reduzindo um pouco a disponibilidade para 0 usujrio. Ao I tgar 0 micro. voci e informado de quantos bytes pode ut iii z ar nos seus programas. Sem a dr I ve , voci devera tar uma tela como a da flgura 2.1 .
FIGURA 2.1 - Tela inicial do HOTBIT sel drive •
r ....."
HOT-BASIC vETsao 1..:1.
EPCOM I: Z" F • MANr·')U!3] :I. <lB::.i
r1 E' m • l.. i vn:~ 28F.lt~)
Ok r ....."
HOT BIT
HI]··-B000
[peOM [Z.F "MANALJ~;] t 98~)
"'-
"- ..... Note que ha praticamente para programas. Essa mem6rla vai programas forem sando inseridos.
28 Kbytes de mem6ria livre sendo ocupada conforme 05
24
Veja no apendlca II como Instalar 0 drive em sau HOTSIT. Ao Instalar 0 drive e ligar 0 micro. sam nenhum dlsquate. voce vera duas talas como as da figura 2.2 .
FIGURA 2.2 - Telas inir ia is do HOlBIT co. drive e sn disco.
r .,
Entre: com data (D/M/A):.
,.. .....,
HOT BIT
HB-8000
"'-
EPCOM rZ.F.MANAUSJ 1985
.... .... Nesta ponto. voce dave Informar a data do dla como Indicado: dois dfgitos para 0 dla, dois drgitos para 0 mls I dols ou quatro dlas para 0 ano. Para saparar 0 dla do mes e 0 mis do anD. \oci pode utllizar 0 sinai de menDs (-) ou a barra da divisio (I). Se for informada urna data invalida, oOSKBASIC nio a aceitara, mas 5a vocl dar nanhuma data. slmplesmante taclando RETURN. 0 OSK-BASIC nio sa importara II I
Ap6s ter sldo Informada uma data correta ou nenhums data. voce veri a 5egulnte tet ••
FIGURA 2.3 - Tela inlcial do DSK-8ASIC inic i alizado,
25
,- ..,
HOT-BASIC versio 1.1 EPCOM [Z.F.MANAUSJ 1985 Mel'll. L i VI'- e ~~445~5 DSI(-ElASIC vi , 0
Ok
ID~~s 'D~tQS mu~t~ ~mport3ntRs p~~elsam sir abse'Vi~D~ ~iS flgur~s ant.r~Q,~sJ
1 ) INo hi 'liI'U B ii, most r ,iHI,a Ullliill 1C}!I!IIrlSai!ll'IIm i n,dl ~I'C 31 1'1 iii iii QIHI iii DSK-BASIG est' ~nstiladi. P&~mltlnd~ a~9~m ~ usa dl ma~s C~IID'II n, dlOI S •
2. Obsl,~e tam~lm qU~ dim~nu~ 0 ~~mlra dl bytes dlspo~rviis. ISSQ ,odo ca~sar um sirlo prQb~em~ Sl VGci pg55U~r ,rlilgramas m~~to grl~dl5 e ~u~ IiIcupam ,ral~camemtl to~a i m~m~w~i ~o ml~ro. tals pwoglamas ft3~ PG~lm sir carragado5 t~m D drly, In5tll~~' e. ~D tlntaf cIFreg'-lo5. I m~trlil podlr~ f~I;;ij r "1n'!!1 ~ lI'e 01'''. Pili I 5 a IJII U'!!JUrnl8 i ni S"llIlb'r IlIP!H~'JIl!ilI umain:a diJ memh Ii II qlle 115 t iii ~!il91!i'ldCl ot~iliidLal PIIIlI pi,r O!) f ama !lIllie COWlt flO i'li (II dri~l. flzen~~-G perdlr ~ cD~'roI8. Qu~~di issootorrur. Cirr&!u~ 0 p~~gr~m~ d~ ,~t~ eassele ssm '~r inst!il~a~o ~ dri¥~. T~~te ~~~eurt'-io~ ~ m'ilm~ possrvel ~ r~gr~v'-~~ em fita ~.- 1amlntl. IR~ta~e eotio ~ d'J~e e t8nte ~er G programa ~B c~ssIte ~~ra poder sil~i-~a em disc~ ~I~ilmlntl. SI m~smo asslm o programa n~1 cou~ar. i saiu~iD seri rlpart~r 0 prQgram~ ~m ~ua5 ,artls ~~stl~tiS (sa far pl§srve~l au dlsa~a~lap ~ drivi ~e micro e ~antinua~ ~sandQ aptBIS 0 gravadfiP eassete Qua~dD ~rl~lsar ut~~~ZI~ tal ~~r~~r~mio-li
Urn.!! n Z 1"5 \i!!11 "do - (I d r j, YI!! • I I gUlI!.to ill nu HOI til' v I ~1J,ii! I I ~ lads as ,,185 ~B5 figuras ~nt,rjOt8~.1 D5K-OA5IC estat' 't~nfilii III iii r I ser YI~~do. Unnt dl5msn, i r lIS die SI! ale I ua f 9 ID:SK-H,A5, I Ci '.p~rta~ta.ljgtr I ml~ro (0m Q drive In'la~I~~ m~' sem Re~hum
~jse~ 8m ~I!~ ~nt8r,or. •
Sempre ~~, 0 m~c,o' IIQido DO O'ls~tida~ ~ nio n' ~~SC~ ~D drl~e. ri DSK-BISIC , IR~ililJzadot
Se h~U'6r disto wi ~~Iya ~ n~' 8x~stir algum ~'stQma ~peric~~nal gravado n~~I.e~tia ~ IDSK-BASIC tamb~m ~ ~~i~iali- 2ido. Mas. so nl '~sco Illst~r ilgum sist~mi ~p'racion~~ grl~I~I (HI-MC' QU ~B-DDS)~ ~~tio sur' dlda pr~f,rinc~a i este oo~o slst~ma, pio 80 DSK-8ASIC. 1550 sIr' ~~s,@ ~o~ ta,r'~- 11~l'!i 'n:!HI ~I nlh!il, •
Da~tr' ~s ~'rlos ~~m~~dms e f~~~ie5 1~~cJo~ai~. aWgUns sl, d~~~Ca~G5 ao dtsCG em 91 8 ~iB 3a tratamenlo ~GS ar'U~VDS O~ dos dados ~~Bse~t8s nesses a~qulvas.
~ORHATAC~O DE DISQUETES NO DSK-OASIC
'oei ii 18u ~~ prlmelr~ ~~~rtulo qUI ~m d~5gUlt,
~ ~11i",gll!ml IPue i sa ~Nlf IPl"elpaf'ado nn qU11 P~!!5iJ ser gil iii ud"g.
hti P,nuJ,!!I r II e.iio ch amI8-" .. fUITIII,fa;ao" 18 'C'UlnJS li5te bas iCam!!!'rlt,
n~ma ~ir~umi~i da easaft• -
Urn dis q nh • ill P 6!!i til rs, Ii dI 0f (I IrI'Hlitii! dilL Pili iii e S I8f US' (!<Iillill m~itas ~ m~~t~s V~2es ~ S~ nada dB ~atast~6fieQ 1~8 an~nt~t~r nURCi m~~s sir' ~le~s9'rlo reform~t'-Io.
ATENCiO. Hlim fa rmiil til as d I seas qill e 'olod It 1811:'8 b I! III j untQ c~m ~ drlw~. Eles Ji fmr~m farma'a~GS e tQntim ~~'~'mac~es Importa~ti$simas qUI ~io ~a~8m ser plrdJdas.
Plfl se formalaf um ~i5~a ~~r!em 00 DSK-BASmt. Insira-~ Aa drivl I dlgtl~ 0 5Ig~int' com~~dot
CAUL fO>!RMAT (13; tee l e RUllIRN )
Ap6s a dlgita~io desse comando 0 micro "perguntar'qual 0 drive que cont~m 0 disco a s8r formatadol A ou B. pOis podem S8r instalados ate dois drives.
Nesse momento. aperte a letra A. informando que a formata~io sera felta no drive A.
Como a interface do seu HOTBIT po de aceltar tanto as dlsquetes de 5.25 quanto as de 3.5 polegadas. , reallzada uma pergunta sobre qual dos dois drives esta instalado no micro. Tecle 2 para Indlcar drive de 5.25 polegadas.
Apos ter seleclonado 0 drive A e 0 tipo do drive, e perguntado 0 n6mero de faces que 0 drive possul , uma ou duas faces. js que existem estes dois modelos de drive. Tecle 2. Indicando drive de duas faces.
Felto tudo isso. 0 aSK-BASIC pede para ser pressionada qualquer tecla a fim de iniciar a formata~io.Tenha plena certeza de que 0 disco no drive A, e a que realmente devers SBr formatado. tBclando entao RETURN.
Apos a formata~io ter sido completada. 0 aSK-BASIC e~via uma mansagam.
Agora sim. voce js tem urn disquete pronto para receber seus programas ou arqulvos em DSK-BASIC.
Urn d i s que t a. ap6s ter sido formatado. esU cnmp l e t amente limpo. sem nada gravado. portanto. nunca formate ~m dlsquete que contenha alguma Informa~ao util. a menDs que queira perdi-Ia III
ESPACO LIVRE - DSKF(0)
Apos um dlsquete ter sldo formatado. ale 8st~ completamente limoo. A medida Que 0 uti Ilzamos 0 espa~o disponrvel para usa vai diminuindo.
Hs um comando que nos mostra 0 quanta alnda temos de espa~o livre para gravarrnos nOSS05 programas e arquivos.
Apos a formata~ao. 0 DSK-BASIC imagina 0 disquete como se ala fossa urn "1Ivro· e para ele 0 espa~o que ainda resta para isso , expresso em -p~ginas em branco".
Numa ·p'gina" cabe uma certa quanti dade de informa~~o e enquanto esta "psginan nao e completada ele nao uti I iza Dutra psglna para 0 mesmo programa. Para que 0 OSK-BASIG possa manter urn (ndice (diret6rio) indicando corretamente como estio sendo usadas as Hpaginas" no disquets. ele nio mistura prograrnas e arquivos diferentes em uma mesma "pagina".
Vamos supor que em urna ·pagina" do disquete pud~ssemos gravar 1e24 bytes (1 Kbyte).
Se gravarmos um programa de apenas lee bytes. este ocupara uma pagina. Mesmo que tanham sobrado 924 bytes nessa pagina. a DSK-BASIC nio as uti I Izara para outro programa. pois ela ia esta em usol
Se gravarmos um segundo programa de "88 bytes. por exemplo. este ocupara uma pagina compteta (1824 bytes) e mais 76 bytes de uma Dutra pagina. que tera S8US 948 bytes restantes inuti 1 i zados.
Essa , uma caracterrstica do OSK-BASIC, e existe pa-
27
ra que ele possa ter um dlretbrio (o -Indlce- des5e -I ivro") simples e de facil consulta, dlnamizando multo 0 acesso aDs dados gravados no disco. Em compensac~o. se gravarmos 18 programas de apenas 1 byte cada, na verdade ocuparemos 1824 bytes para cada um oalesl
Podemos -verN 0 funclonamento disso atrav's da funcia DSKF. Ela nos mostra quantas -p~ginas- ainda nio faram usadas e consequentemente quanto temos de espaeo no disco para sar usado.
Para sabermos quantas ·paginas· alnda restam no disco, digitamos.
PRINT DSKF(0)
o e (zero) entre parentes8S indica que quaremos saber 0 espaeo livre no ultimo drive que for aC8ssado. DSKF(l) indica drive A,. DSKF(2) indica drive B:. e assim por diante.
Ao util izar 8ste comando logo apos a formatacio. obtem-se a capacidade total do disco. j8 que nao ha nada gravado nele alnda (flgura 2.4).
FIGURA 2.~ - Espa~o livre nUl disco recel forlatado.
Ok
PRINT DSKF(0) 351
Ok
E born usar essa fun~ijo de vel ~m quando para ter idela de como 0 dlsquete est~ sendo utilizado. aproveitando m~lhor 0 seu eSfaeo. Nos dlsquetes de 5,25" tace simples cad a p~gina ocup~ 5 2 bytes. Dlsquetes de 5.25' face dupla tem paginas de 1B24 bytes.
SAVE
Agora que is temos um disquete em condie6es de uso e sabemos quanta espaeo temos a disPosleao. vamos ver como ler e gravar programas nele.
Os comandos SAVe. LOAD. BSAVE 8 BLOAD sofreram pequenas modlficae6es para servirem tanto para fitas cassetes como para 05 dlsquetes.
o comando SAVE. como voce ja sabe, faz com que 0 programa que esta na memoria do micro seja gravado. 56 que agora 0 seu programa sera gravado no disco e nao mals no cassete, como era anteriormentB.
Vamos uti I tzar 0 programa a segulr como ~cobaja- para vermos a -novo· comando SAVE em a~~o.
FIGURA 2.~ - Prograla exelP10.
10 PRINT uMSX HOTBITH 20 GOTO 10
Apos ti-Io dlgltado. vamos gravs-Io em disco atraves
28
do comando SAVE.
Primeiramente precisamos escolher urn nome apropriado. COBAIA parece ser urn born nome. "
5e voce quiser, podera dar a extensio .BAS a ela, ia que sa trata de urn programa BASIC. 0 noma flcaria assim:
COBAIA.BAS
Em seguida precisamos saber 0 nome do periferico no qual nosso programa devsrs ser gravado. Como qusremos grava- 10 em disco, usaremos A. como nome do psrlferico. mas ss voce possuir dais drives instalados em seu micro. podera eSCQIher A, para 0 primelro drive au B, para 0 segundo drive.
Depois de escolhido a periferico (A.), a nome completo fica assim:
A:COBAIA.BAS
Agora, e s6 digitar a comando completo,
(e teclar RETURN)
Ouando voltar 0 ·Ok-, ests pequeno programa que acabamos de criar ja tera sido gravado em disco.
N~o se espante se faram gastos segundos para este programa 5ar gravado, vantagens de se ter urn drive e justamente grava~io e laitural
£ssa forma de usa do comando SAVE faz com que 0 programa saia gravado do mesmo jelta em que ale esta na mam6ria, compactada.
Urn programa compactado cantem alguns c6digos especlais no lugar das palavras reservadas (PRINT, GOTO, etc), flcando assim bern manor.
Em contrapartida. um programa compactado nio pode S8r usado palo comando MERGE e nem pode ser lido como S8 fosse um arquivo sequencial (que sera visto urn pouco mais adlantel. Para que possamos ftmlsturar- (com 0 MERGE) um programa na mem6rla com outro gravado em disco. ~ n8cess~rlo que ° programa gravado em disco 8steja descompactado, ou melhor djzendo. esteja na forma ASCII.
o comando SAVE contem uma op~ao que,s8 for util izada. faz com que a programa seja gravado em disco na forma ASCII (au seja. sem c6digos especiais e ·compactadoH).
Vamos entia gravar 0 nosso programa que ssta na membria (COBAIA.BAS) na forma ASCI I utillzando 0 camanda SAVE.
Para nao "perdermos" a grava~io felta anteriormente, vamos modlflcar urn pouco 0 nome do nosso programa para:
apenas alguns afinal uma das a rapidez na
A:COBAIA.ASC
Assim, ficaremos com duas vers5es do mesmo programa,
A=COBAIA.BAS
(na forma campactada e --) )
29
A=COBAIA.ASC
(na forma ASCII)
01glt8. agora, a segulnte camando.
SAVE HA=COBAIA.ASCuFA
Note a prasan~a do ".A- logo ap6s a nome do programao ~ asta -.A~ a op~io que diz que queremos gravar 0 prograrna na forma ASCII (nio fpj par acaso a escoLha da letra -A" como op~io l.
Repare tambem que nao modlficamos 0 nome do programa propriamente dito.mas slm a extensio do noma de BAS para ASC. D nome permaneceu 0 mesmo (COBAIA). aflnal.acabamos de salvar o masmo programa. modificando apenas a maneira na qual ela havla sldo gravado (compactado au nio compactado).
Com Isso. da para 58 ter urna Ide'a da fl8xlbilidade em S8 usar as extensoes dos names dos programas para indicar como 0 prograrna ast' arrnazenado no disco.
Agora. sa quisessemos misturar (fazer urn marge) de urn programa qualquer que esteja na mem6ria do micro com 0 programa cobala terramos obrlgatorlamanta que usar 0 programa "COBAIA.ASC- e nio 0 "COBAIA.BAS". Fica a sua escolha gravar os programas em ASCII ou nio.
De maneira geral. nio usamos 0 -,A" no comando SAVE para que 0 programa ocupe manos espa~o. cabendo assim mals programas em um masmo disco. 0 -.A" , usado apanas para aqualas progra.as qua serio utilizados mais tarde par um comando MERGE.
A astas alturas voce dava astar se perguntando como utll izar a comando SAVE com 0 gravador casseta ja qua 56 0 utllizamos ate agora com 0 disco. ~ multo Simples. bastando apanas mudar 0 noma do per i Ur j co de A: (ou B.) que represantava 0 disco para GAS. que reprasenta 0 cassatall Mas nao sa esque,a qua quando usamos a fita casseta. 0 nome do arquivo nio tam axtensio a sio apanas sels caracteres. no maximo. qua podemos utllizar.
Para gravar 0 programa COBAIA em fita cassata atraves do comando SAVE no OSK-BASIG basta digltar a seguints comanda,
SAVE HCAS:COBAIA"
Observ8 que S8 0 perlferica no qua' sera gravado 0 arqulva for 0 cassata (CAS.). 0 comando SAVE nio aceltara mats a op~ao ".A" pols aste camanda ia grava 0 programa na forma ASCII. Para gravar 0 programs na forma compactada. exista 0 camando CSAVE.
Para vace nao sa confundir com os camandos SAVE a CSAVE em como gravar seus programas. basta dar uma boa olhada na tabala a sagulr. e com 0 tempo vace praticamanta Naposentaran sau gravador cassete usanda-a exporadicamente devldo ~ granda 5uperioridade do drive sabre ele.
Alem disso.muitos programas estio dlspon(vels em flta cassata. mas nao am disco.
30
COMANDO
FUNCiO
SAVE "A:PROG",A SAVE "A=PROG'"
grayar em disco na forma ASCII a programa "PROG",
grayar em disco na forma compactada o programa "PROG-;
gravar em cassete na forma ASCII a programa "PROG",
graYar em cassete na forma compactada 0 programa ·PROG-.
SAVE "'CAS:PROGN CSAVE J'/pROG"
5e fosse poss(vel vermos as bytas gravados num disco verfamos a primalra I Inha do programa COBAIA assim:
FIGURA 2.0 - Forlas de arlazenalento.
PROGRAMA EM BINARIO
lrrl14i80i0Aleel9112el22140ls31sBl2014BI4FIs41421491s41221001
" H S X HOT BIT "
PROGRAMA EM ASCI I
i311301201sels214914EIs412012214DIs31s812el4BI4FIs41421491s41221eoleAI
i e P R I NT" M S X HOT BIT "
Sa voci quiser S8 aprofundar mals no ·porqui- e no ·como" dos programas serem gravadas assim. sugiro a leltura do IIYro -Aprofundando-se no H5X~ desta masma editora. onde esse assunta fol examinada a fundo.
LOAD
Agora que ;8 sabemos como gravar urn programa em BASIC no disco, pracisamos saber como recupera-Ia atraves do camanda LOAD que tambem flcau urn pouco mals completa.
Se voci estava acostumado a utilizar 0 camanda LOAD sem dar a nome do pragrama. h born ir perdendo esse costume. Quando tamos urn au mais drives Instalados no HOTBIT a comando LOAD fica um pauco mals -exlgente- a nio da mals aquala "calhar de chaP para a nossa pregui~a. pelo menos quando estamos usanda 0 drive.
Num disquete, como voce ja sabe. podemos tar verlas pragramas e arquivos gravados e preclsamos informar ao comando LOAD qual deles , 0 que quaremos carregar. sendo portanto obrlgat6rio dlgitar a nome da programs.
Nem 58 preocupe em saber 5e a programa fol gravada em ASCII OU nio. pols 0 pr6pria camando lOAD se ancarrega de fazer 15S0 para voci e acaba lando a programa, estando ale de uma ou outra forma.
Se voci quiser agora carregar 0 programa CDBAIA.BAS
31
do dlsquete digite 0 comando:
LOAD "A~COBAIA"BAS"
Atente para a fato de que, Independentemente do programa ter side gravado ou nao a tr av as da OPl;aO ",A" do comando SAVE, a programa na memoria ficara sempre na forma compactada ap6s ter sido carr8gado par qualquer camando, LOAD ou CLOAO 'I
Se voce quiser carregar 0 programa da fita cassete devers usar CAS, no I ugar do A, , da mesma mane ira que no comando SAVE.
Mas nao 58 esqueca, use 0 comando LOAD para carregar programas gravados pelo comando SAVE e CLOAD para' aqueles gravados pelo CSAVE (no caso do cassate),
Agora js temos co~hecjmento suficiente para passarmas os programas BASIC da flta cassata para a disco,
1 ) Carregue 0 programa da f I ta cassete com 0 comanda CLOAO ou lOAO"CAS:-,dependenda de como ele tenha sido gravado nr l s t aa tment e .
2) Apos ter sido carregado, de uma verlficada para ver se Bsta tudo OK, fazendo as alteral;oBs que forem necessar i as,
3) Grave 0 programa NOMEPROG, EXT" substltuindo achar mals conveniente.
em disco com 0 comando SAVE"A, NOMEPROG.EXT pelo nome que voce
4) Sa este programa for usado mais tarde em urn comanda MERGE, utilize a opcao ·,A- no camanda SAVE
MERGE
o comando MERGE serve para misturar 0 programa que Ie esta na memoria do HOTBIT com urn outro programa que pode astar tanto no disco como tambem em fita casseta.
Este camando nao teve uma alteracaa multo profunda em sua sintaxe, e como autros camandos, 0 MERGE apenas passou a aceitar 0 disco.
D programa que for lido, da flta au do disco, deve ter sida obrigatoriamente gravado no formato ASCII.
As linhas de programas que sao inseridas pelo comando MERGE tern prioridade em rela~ao as linhas que is estao na memoria do micro.~ como se voce estivesse digitando as I inhas lidas pelo MERGE.
~ muito comum, CDm a aiuda deste comando, termas var las sub-rot i nas mu ito ut i I I zadas num disco e tadas e I as gravadas em ASCII, assim quandD fizarmos algum pragrama que precise daquela sub-rotina, basta dar urn MERGE e pronto I I I
32
BLOAD & aSAVE
De manelra semelhanta.os comandos BlOAD a BSAVE tambim passaram a ~aceltar- 0 novo perlf6rlco.
Porim. nio houve urna mudan~a signlficatlva nem n8 forma 8 nem na fun~io exarclda palos comandas. mas apanas 0 acr6sclmo de urna op~io. proporcionando asslrn urn racurso a mals ao usu6rlo.
Sa vocl qulser passar os saus prograrnas am ASSEMBLY da flta cassata para 0 dlsco.basta carreg'-Ios com 0 comando.
BLOAD "CAS:"
E gravs-Ios com a camandol
ElSAVE "A:PROGRAMA.OB..J" ,Infclo, tim, ex8cu~io
Os endare~os de Infclo. 11m 8 da exacu~io do programa nio devem sar esquecldosl Grave 0 programa com a noma que vocl achar malhur.
Presta at8n~io se 0 programa que vocl val carragar da flta nio vai sa sobrapor a araa da mam6ria ocupada palo drive. Sa Isto ocorrer. nio ha como carragar 0 programa da flta com 0 drlvI Instalado I. consequentemant9. vac@ tera que continuar a usar esse programa em fita cassete.
Gom programas escrltos em BASIG , relatlvamante ficll alterarmos 0 seu tamanho. ;untado Ilnhas. economlzando alguns comandos. etc mas com programas am ASSEMBLY asta tarefa e axtremamante dl1rcl I senio Impossfvel. Portanto. se algum programa em ASSEMBLY fizer 0 seu HOTBIT flcar nmaluco" provavelmante ele Invadlu uma reglio da mem6rla que nio devia e 56 Iha resta uti I Izar este programa sam 0 drive.
o que de melhor existe nestes dois comandos' que agora. alim de lar a gravar as dados contidos numa reglio da memoria. eles podem acessar a memoria de vfdeo (VRAM) tamb6m. Gomo resultado. podemos ler a gravar uma Imagem do vfdeo.
Para diferenclar sa queremos ler ou gravar dados da memoria principal ou da mem6ria de video usamos a op~io ~.S· (de SGREEN).
Vamos supor que voci tenha um programa em BASIC que desenhe uma paisagem no vfdeo. Ap6s a palsagem ter sido desenhada. pode-sa colocar urn comando no programs de forma a gravar tal imagem. Quando voc@ Quiser rafazer a palsagam. basta rscarrega-Ia do disco em vez da radar 0 pro~rama Que a gerou.
Para gravar uma Imagam. use 0 seguinte comanda.
SSAVE "A=TELA", infclo, 1im,S
Onds.
TELA i 0 nome do arquivo.
inrclo - , 0 endera~o inlclal da mem6ria de vfdeo que devar' ser gravada. Esta endere~o varia da acordo com a ta-
33
101 (SCREEN) ~m uso
fim -, 0 6ndere~o final dOl membria de vfdeo Que dever~
ser gravada. dependendo tamb6m do 61timo comando SCREEN que fol executado
5 - i a op~~o que permite ser usada"a membria de v(deo
8 nio a J1Iembria principal,
Para ler uma ImaQem. use a formal
Veja a segulr como est6 organjzada a membria de v(de~. de acordo com 0 modo SCREEN seleelonado. A estrutura dOl VRAM e 0 funcionamento do VDP s~o cornentados detalhadamente no Ilvro ~APROFUNDANDO-SE NO M5X· desta masma edltora.
SCREEN 0
SCREEN 1
SCREEN 2
ENDERE~O BASE
....... --.- 0
SCREEN 3
ilASE
BASE
BASE
o
7
9
14
19
'-- ---11 16383
34
FILES & LFILES
Ate agora ia sabemos como passar 05 programas escritos em BASIC e tamb~m aqueles aue foram escritos em Itnguagem de maquina. da fita cassete para 0 disco. e vice-versa.
Depois de urn certo tempo de uso do drive voce acabara tendo varlos disquetes e em cada disquete varios programas e arquivos. ~ natural acabar esquecendo 0 que foi gravado em em um au outro dlsquete.
o comando FILES existe justamente para nos ajudar nessas horBs. Ele nos mostra 0 nome de todos os programas e arquivos que estao gravados no disco. bastando para 1550 dlgitar 0 segulnte comando,
FILES
(e teclar RETURN)
Se voci desejar uma c6pia Impressa. utilize 0 comando lFllES. Ele e an810go ao FILES. s6 que a I istagem salra nB Impressora e nao no v(deo.
Veia na figura a saguir um exemplo do camando FILES em um disco com varios arquivos gravados.
FIGURA 2.7 - Exe.plo de FILES.
Ok FILES
JOGOl .BAS JOG02 .BAS TEXTO
SKYJAGUA.GAM PINGUIM .GAM LIXO COSAIA .BAS COBAIA .ASC
Ok
.TXT
Se voci uti lizar a comando FILES a nao houver nenhum arquivo em disco. sera enviada a saguinta mensagem 1
FIGURA 2.8 - Kensage. de arqUiVD inexistente.
Ok FILES
Arqufvo nio Existe Ok
Dutra caracter(stica do comando FILES e que.de acordo com 0 ultimo comando SCREEN 8 WIDTH uti I izado. ele mostra uma. duas. tris e ate mals colunas com as nomes dos arquivos. dependendo de quantos cabem numa mesma linha do vrdeo. Experlmente dar varios comandos WIDTH com argumantos diferentes e utillzar 0 comando FILES.
o cornando FILES pode ser usado para saber se urn programa em especrfico existe au nio no disco. Para iSso. dlglte o nome do programa logo ap6s a camando FILES. Se 0 arquivo existlr. seu nome sera mostrado no vrdeo. Caso contrario. a mensagem de arquivo inexistente sera apresentada.
Observe a figura 2.9 .
35
FIGURA 2.9 - Uso do FILES para ichar UI prograla.
Ok
FILES "JOG01.BAS"
JOGOi . BAS
OK
FILES "JOG05.BAS" ArquivD nio Existe Ok
Essa maneira de 5e usar 0 comando fiLES e muito uti I quando sabemos 0 nome do programa. mas nao sabemos onde ele esU.
EKlslem casos em que queremos saber quais as programas em BASIC que eslio gravados no disco. Se for u5ado 0 comanda fiLES, simplesmente aparecera no vIdeo tudo 0 que 18 esla. ficando urn pouco fnc8moda a procurs destes programas entre 05 varios que estao sendo mostrados. Exislem dois caracteres especisls para facilltar esse trabalho de proeura, 0 ponto de interroga~io (7) e 0 asterisco (w),
a ponto de inlerroga~io, no meio do nome do prograrna, signifiea que naquala posl~io nao 58 saba qual letra dave r I a e star, 5 e r V i n do, par tan to. qua I qua r uma.
Podem05 entio dlgltar fiLES "708AIA.BAS· que serio mostrados todos as arqulv05 que tanham OBAIA.BAS em 58U nome . seia qual for a primalra letra do nome ( XOBAIA.BAS , TOBAIA.BAS . etc ).
Se digitarmos FILES "GOBAIA.??7", serio mostradas todas as "vsrs5es· do programs CaBAlA.
FIGURA 2.16 - Uso do FILES [01 ? •
Ok
FILES uC08AIA.??~u
C08AIA .BAS COBAIA .ASC Ok
o asterlsco (wI e Dutro caractsr especial e signifiea que vale qualquer sequencia de latras no noma (nio apanas uma letra. como no easo do ponto de int8rraga~io).
FIGURA 2.11 - Uso do FILES rOI * .
01< FILES ~JOGOj. OK
H*.BAS"
.BAS ~JOG02
.BAS COBAIA
.BAS
Quando digitamos apenas 0 comando filES, aquivale a dlgltar FILES ~*.*~ au FilES ~??7??777.?7?". sendo entia mostr.dos todos os arqulvos presentes no disco.
36
COpy
Voce ja leu no capItulo 1 e na pratlca ira confirmar a necessidads de tar uma cbpia da saus programas a arqulvas. 0 OSK-BASIC tern urn comando proprio para Isso, a COpy.
Com ale voce pode copiar um arquivo para 0 mesmo disco com outro nome. ou coplar urn arqulvo de urn dlsquats para outro ..
Mesmo que vocl tanha apanas urn drive Instalado no sau micro. 0 DSK-BASIC podera "pensar" qua tern dols drives. sando um deles 0 A, a 0 outro 0 BI.
Para copiar 0 velho COBAIA.BAS de um disco para 0 ha duas maneirasl a prlmelrs sarla a da carr8gar 0 prona membria do micro atav6s da comando LOAD. trocar 0 a gravar 0 programs com a comando SAVE; a segunda manaira saria digltar a seguinte camando,
Dutro grama disco
COpy HA:COBAIA.BASH TO uB:COBAIA.8ASu
Ossse jaito. ambora s6 exlsta um drive instalado. 0 DSK BASIC fara a copla de urn disco para 0 outro. simulando asslm 0 mesmo drlva como A: a BI .
Ao receber esta comando. 0 DSK-BASIC carraga uma parte do programa am uma area de memoria propria para 8ste fim. sam prajudlcar 0 programa que esta na memoria. Pede para Voce trocar a disco (retlrar 0 disco original e par 0 disco que ira recebar a copia) a digitar qualquer tecla. Em segulda 6 gravada no novo disco (como 5e fosse 0 drive B:) aquela parte que fol I Ida no programa. Apos a gravaltao. sa 0 prograrna for muito grande B nio der para sar todD copiado. entia 0 OSK-BASIC pede para ser colocado a disco original (A,) novamente a espara voce digitar qual~uer tecla. Um novo trecho e entio I ida. Ap6s a laitura. novamente sera pedido 0 disco que ira receber a COP i a (B,) e voce tera que dig i tar qua I quar tec I a.
Assim val indo. copiando 0 ar qu l vn pedalto por pad a~o. sem alterar 0 programa que porventura e5teja na memoria do micro. mas 0 troca-troca de dlsquates (simulando 0 drive A, a 0 drive B,) , multo grande. consumindo asslm muito tempo e trabalho.
Portanto. S8 voce quiser tirar copia dos programas em BASIC. ~ prafarfvel ~arr8g'-lo na memoria do micro atrav's do comando LOAD. trocar 0 disquete a gravar 0 programa no novo disquets atrav's do comando SAVE. Sera multo mals rapldo e menos trabalhosD.
Neste comando. tamb'm 6 possrvel 0 uso do ? e do • Por exemplo.
37
KILL
o comando KILL exlste para podarmos ~matarN aquala programa qua nao nos serve mals. Este comando simplesmante apaga a programa do disquete. Ilberando 0 8spa~o ocupado por ale para os outros programas qua vanham a sar gravados.
Asslm. quando voci for gravar um programa a recabar uma mensagam de erro diz8ndo que nio hi mals espa~o livra no disco. verlflqua com 0 comando FILES 58 par aeaso nio axista algum programa antigo qua nio Ihe servs mals para nada. Sa axlstlr. apague-o com 0 comando KILL a. quam saba. haja aspaeo suflclanta para rscaber 0 programa qua voci quarla gravar.
Para apagar 0 programa A,C08AIA.ASe basta dar 0 saguinta comando,
Voci poda usar 0 ponto da intBrrDga~io (?) ou 0 IStBrlsco (*) da mesma manalra que no comando fiLES. Por exempia. para apagar todos 05 programas .8AS, digltB 0 segulnte comandol
KIl.L "A:*.BAS"
Para "Iimpsr" todo dlsqueta. digital
KILL· "A=* .. *"
Culdado com 0 usa do comando KilL. paiS um arquivo qua tenha sldo apagado do disco nuncl mals poder' ser racuperado.
NAME
Podemos mudar 0 noma de urn arqulvo do disco atrav's do comanda NAME.
Geralmante esta comanda , usado em programas que alteram dados de um arquivo. mudando-o de noma IP6s sua exeeu~io para Identlfiear se aquela arqulvo j6 fol -mexldo· por aQuala programa; ou entia quando voci qulsar mudar 0 noma de um carta programa para um outro noma mals sugestlvo. Exempllflcando. tamos.
NAME "A=LIX02" AS "A:COBAIA.BAS"
Nesta comando. tambim' permltldo 0 uso do ? a *.
NAME "A:*.BAS" AS HA:*.ASCH
Em qualquar caso, no comando NAME.' usado a novo nome antas do -AS· e a vatho depols do ~AS-.
38
AUTOEXEC_BAS
o DSK-BASIC possui urn nome de programa que e espec I a I :f~LJTOr::XEC • BAS
Sempre que 0 DSK-BASIC , inicial izado. da maneira descrita no come~o desse capitulo ale procura no disco a existencia deste programa. Se ele nao existir. entao e passado para voce a controle do micro. sendo visuallzado 0 tradiclonal ·Ok-. mas 58 for encontrado algum programa com a nome AUTOEXEC.BAS . entao ele sera carregado na memoria do micro a executado. nio sendo mostrado "Ok".
Com esta facilidade, voce pode modificar 0 nome daquele programa que voce sempre utlliza (atraves do comando NAME) para AUTOEXEC.BAS. assim sempra que voce ligar 0 micro com aquele disquete no drive, tal programa is sera carregado sem 0 trabalho de S8 dlgitar algum comando.
Uma outra utllidade. serla a de se fazer um e r osr ama do tipo -MENU· que mostra no vrdso os programas que estio naquele disquete. Esta programa es~ra que seja teclada a op~ao desejada. executando entao a programa pedido.
1550' muito pratico num disquete de logos. Por exemplo. voce terla no disquete os dez jOgos que voce mais 90sta e terla 0 programa AUTOEXEC.BAS .que e 0 programa menu.
Ao ser ligado 0 micro com este disquete,aparecers urn menu com 05 dez j090S gravados. esperando voce teclar a op~ao desejada. sem que voci tenha que util izar FILES para var os nomes dos jogos. e SLOAD para carregar e executar um certo j090, deixando esta tarefa para 0 programa menu.
a DSK-BASIG so reconhece a presen~a deste arqutvo quando ~ inicializado com urn disco dentro do drive. Quando voci ve 0 -Okff do DSK-BASIG.n~o adlanta mais colocar um disco com 0 arquivo AUTOEXEC.BAS. porque 0 DSK-BASIC nao 0 interpretars. Apenas quando e dado RESET ou quando 0 micro e I igado 'que 0 aSK-BASIC verifica no disco a presen~a de tal arquivo.
TIPOS DE ARGUIVOS NO DSK-BASIC
Alem dos varios comandos is vistos para tratamento dos programas e arquivos como um todD. existem outros comandos e varias fun~oes para 0 tratamento dos dados que estso contldos nos arquivos (campos).
No DSK-BASIC existem dois tipos de arquivos, Arqulvos Sequencials e Arquivos Rand6micos (au de acesso direto).
Nos arquivos sequenciais, tanto a faitura Quanta a grava~ao 50 podem ser feltas sequencialmente. uma apo5 a DUtra, que J6 nio acontece com os arquivos de acesso direto.onde um regi5tro pode ser lido ou gravado em qualquer ordem.
No arquivo sequencial. os registros SiD gravadas sequencialmente e podem ser de tamanhos dlferantes. Na leitura desses arquivos. cada registro so pode sar acessado apos a seu anterior is ter sido lido. e urna vez lido nao e posslvel voltar atras para acessa-Io novamente.
39
Nestes arqutv05. 05 r8glstros estio saparados por um dellmltador. Indlcando que all termlnou 0 reglstro a que em sagulda dever' vir 0 pr6ximo. Este delimitador' a sequincla &H80 &H8A que sio os c6digos ASCII do retorno do carro e 0 avanl;O de II nha.
Quando um ragistro e gravado. 0 OSK-BASIC gravs automaticamente estes dols brtes para separar 0 reglstro que acabou de ser gravado do pr6xlmo. Ourante a leltura de um registro. 0 DSK-BASIC ler6 tantos caracteres quantos naC8Ssarlos ate ancontrar a sequincla &H8D &H8A a todos as caracteres lidos (exceto 0 &H80 &H8A) constituirio entia 0 registro.
Quando gravamos um programa com a op.;io ".A" do comanda SAVE. este • gravado como 58 fosse um arquivo sequenclal. sendo cada Iinha deste programa urn registro. Os reglstros estio s8parados pela sequincla &H80 &HIA.
Para crlarmos um arqulvo sequenclal. preclsarnos prlmelro abr;-Io atravls do comando OPEN.
Figuri 2.12 - COlan do OPEN.
Ok
OPEN uA:TESTE.SEQ" FOR OUTPUT AS "1 Ok
Atraves do comando da flgura 2.12 fol criado urn arqulvo de nome TESTE.SEQ no drive A. A sequincia FOR OUTPUT Indica que 0 arqulvo serA aberto como salda e seri urn arqulvo sequenclal. portanto serio gravados dados neste arqulvo para usa postar lor.
A sequincla AS .1 quer dlzer que de agora em dlante esse arqulvo sar' referenclado pela sequlnela.1 e nia palo nome TESTE.SEQ no decorrer do prograrna. 0 OSK-BASIC ao reeebar aste comando. variflea se ii axlsta este arqulvo no drive A. Sa ii axlstlr.ele sera entio apagado. A partir dar. nio exlste mals 0 arqulvo TESTE.SEQ podendo ser crlado um novo arqulvO com nenhum dado gravada. Devido a essa caracterrstica, , praeiso um pouco de atancio no uso do comando OPEN com FOR OUTPUT.
lima V81 abarto 0 arqulvo. utllizamos a comando PRINT .1 para granr dados. da mesma mane I r a que ut ill zar I amos a PRINT para mandar dados para 0 vIdeo.
FIGURA 2.13 - 0 cOlando PRINT ••
Ok
PRINT"!. "MSX" Ok
PRINT"!. "FIM" Ok
Uma vez gravados todos os dados n8eass6rl05. , praelso feehar 0 arquivo para que 0 DSK-BASIC possa dar uma acartlda "0 dlrat6rlo a libarar a arqulvo TESTE.SEQ para uso.
Na verdade, quando mandamas gravar um dado num arquivo, esse dado nio vai diretamente para a disco. Ele vai para ums reglio da mem6ria chamada buffer e fica '6 ate que haja ums quantldade suflclsnte de dados para serem gravados.
o DSK-BAStC faz isso par que leva mUito tempo para se gravar um byte no disco ese, para cada informa~io enviada atrav's do comando PRINT I ,0 DSK-BASIC fosse acassar 0 disco, a programa flcarla lento e 0 drive serla excesslvamenta utlIlzado. Sendo assim, os dados vio sando guardados no buffer ate que haia uma quanti dade suflciante para que valha a pena acassar 0 disco.
o comanda CLOSE dlz ao DSK-BASIG qua a arqulvo naD sera mals acessado, e nesse caso as dados que alnda astlo no buffer daverio S8r gravadas.
5a vocl retlrar a dlsquate do drive ou desllgar a micro com algum arqulvo aberta sem tar dado a comando CLOSE, carrera a risco de perder algumas Informa~oes que alnda 8stavam no buffer,flcando asslm incompleto seu arquivo. Sam falar no fato de que 0 dlret6rlo do disco tambAm s6 , atual izado quando utillzamos 0 comando CLOSE.
o comando CLOSE faz com que a DSK-BASIC fa~a 05 acertos necessarlos tanto no arquivo quanto no dlret6rio. Veja um exemplo campletol
FIGURA 2.14 - 0 cOlando CLOSE •
10 OPEN uA=TEXTE.SEGu FOR OUTPUT AS~l 20 PRINT ~l,UHSX"
30 PRINT Hl,5/2;uOBAH 40 CLOSE tH
Ok
Ha figura 2.15 vaci tem uma representa~io dos dados gravadas no arqulvo sequenclal palo programa anterior.
FIGURA 2.15 - Dados gravados nUl arquivo.
Se ap6s gravar um arquivo voci desejar acrescentar a ele alguns reglstros. nao podera usar FOR OUTPUT. senio a arquivo sara apagado para dar lugar a um novo. Em lugar do FOR OUTPUT deve-s8 usar FOR APPEND.
.:fl
FIGURA 2.16 - Uso do FOR APPEND.
Ok
10 OPEN "A:TESTE.SEQ" FOR APPEND AS "1 20 PRINT "lp"OK"
~10 CLOSE It 1
Ok
No exemplo anterior. foi adicionado mals urn registro no final do arquivo.
FIGURA 2.17 - Registro acrescido ao arquivo co. FOR APPEND.
14DIs315818DluJ2813212EI3S12814fl42141 180lul4FI4Sleolul1AI
M 5 X =;== 2. SOB A..,.... =r= ]
.J.--)f 1m de reg I stro < ~ .
flm de srqulvo <----------------------+--
58 for utillzado FOR APPEND e 0 arqulvo nao estlver no disco. entia 6 mostrada ums m8nsagem de erro.
OPEN "ARGi.BAC" FOR APPEND AS "i Arquivo n~o existe
Ok
Para a leltura de um arquivo sequencial. usa-sa FOR INPUT no comando OPEN.
OPEN "A:TESTE.SEQ" FOR INPUT AS "1
Neste cssa. se 0 arquiva TESTE.SEQ naa se encantrar no drive A. a OSK-BASIC intarrompera a 8xecu~ao do programa e emit!ra uma mensagam de erro, como quando 6 usado FOR APPEND.
Urna vez aberto a arquivo. usa-S8 a comando INPUT.1 para se efatuar a laltura dos dados presentes no arquivo da mesma maneira que no INPUT pelo teclado.
FIGURA 2.18 - lendo dados (0. fOR INPUT •
Ok
10 OPEN "A:TESTE.SEG" FOR INPUT AS H1 20 INPUT 1t1,X~
=~0 PR INT X$
40 CLOSE 1t1-
Ok
RUN
MSX
Ok
No exemplo anterior. a varlavel XS recebeu 0 textD "MSX· Que estava gravado no prlmelro r~glstro do arqulvo de nome TESTE. SEQ .
o comanda INPUT. deve receber os dados na mesma Drdam e do mesmo tlpo que foram gravados palo camando PRINT t .
Se num registro faram gravadas campos numiricos junto com campos alfanum~rlcos. ent~o a camanda INPUT. deve saber a seQuincia exata n8 qual sa encontram para nio acabar recebendo names depassoas quando esperava receber um certa numera. por examplo.
Quando for gravar campos alfanumericos em urn arQulva sequenclal, deva-s8 dar aten~ao em como separa-Ios. sanio ao sa ler as dados atraves do comanda INPUT t .. podera ocorrer de 5e ler mals au menos campos do que foram originalmente gravados I t I
Vamos imaglnar duas varlavais.
A$= "Rua Bario Verrnelho, casa 1" e
B';= "Sao Paulo"
o camando Print .1.A$;B$ gravara a seguinte Imagem no disco.
Rua Bario Vermelho. casa 1 Sio Paulo
Sa for usado a comando INPUT 'l.GS.DS farsl
C$="Rua Barao Vermelho" e
B$= "casa 1 Gao Paulo"
IS50 naa e 0 que sa deseja e ac' .t e c e pelo fato de que a vfrgula (.) , intarpretada palo DSK dASIG como urn 5eparadar de campos. Para cantornar iSso, podamos gravar as asp as (") dlratamente. fazendo com que cada campo do reglstro fiqu8 entre duas aspas. Por examplol
PRINT #i.CHR$(34);A$;CHR$(34);CHR$(34);B$;CHR$(34)
Com este artiffclo. a varisval A$ fjcou entre duas aspas (GHRS(34» a a variavel BS tambem.
Quando for usado. 0 comando INPUT .1.GS.DS fara com que G$ recaba -Rua Bario Varmelho. casa'- e OS raceba ·Sio Paulo", que' a correto.
Quando as dados a sarem gravados forem dados num~ricos dave-se utllisar 0 ponto a vfrgula para separs-Ios. pols o D5K-BASIG saber a como acha-Ios posteriormente quando for utillzado 0 comando INPUT •.
5e utillzarmas este comando e nao exlstir mals nanhum dado a sar I ido no arqulvo. 0 05K-BASIC anvia uma menS8- gem de arro. Por exemplar
INPUT 'Ii. A
F i m cI o a r q u i v CJ Ok
43
Como ninguem , migico ou advinho. nao sa poda pravar sa axista ou nao mals dados a SBram lidos no arquivo. Por 15- so axlste' uma fun,ao que nos informa se ainda resta alguma informa~ao gravada no arquivo. [ssa fun~io chama-58 [OF.
Quando abrlmos urn arquivo a usamos 0 comando INPUT f o OSK-BASIC verlfica se ainda resta a l so a ser lido e poslciona 0 EOf. Se exist. rem dados no arqulvo. [Of devolvera 0 valor e (falso).caso contrario devolvera -1 (verdadeiro).
Para utilizar este comando e necessaria informar 0 n~merD com 0 qual 0 arquivo foi abarto logo ap6s a fun~io [OF e entre parfinteses.
Sempre que for usado 0 comando INPUT t. deve-sa utilizar a fun~io [OF antes. para garantir que realmente existe algum dado a sar lido. Note tambem qua asta fun~io deve sar usada apenas com arquivDs sequenciais.
FIGURA 2.19 - Uso do EOF.
Ok
IF EOF(!) THEN PRINT HACABOU"
Ok
INPUT "irA
IF EOF'!) THEN PRINT "ACADOU" ACABOLl
Ok
CLOSE
Ok
ARQUIVOS RANDOMICOS
Com arquivos rand6micos. a 'dela de reglstro muda urn pouco. Nio axlstam dellmitadorss entre os ragistras. abrlgando-os a ter urn tamanho flxa. dafinido na abertura do arquivo. Os campos sio tambim de tamanhos filOS e pri-deflnidas asslm que 0 arqulvo , abarto. Desse jelto. com os registros sempre do masmo tamanho. torna-S8 facl I para 0 DSK-BASIC locallzar qualquer registra dentro de urn arquivo. Par conseguints. pode-se ler os ragistros am qualquer ordam. nio sendo obrigat6- rio 0 acesso sequencial.
Para se abrlr urn arquivo rand6mico, omite-se 0 tipo no comamdo OPEN. Par axemplol
Ok
OPEN "TESTE" AS H1 LEN=24 Ok
No exemplo anterior. nao foi espacificado nem FOR OUTPUT. nem FOR INPUT e nem FOR APPEND. assumindo asslm arquillo rand6mico.
Se ° arquivo j6 existlr no disco. entio ala sera abarto sem perder os dados la gravldos. Se nao eXistir, entio sera criado urn nOllo arqulvo.
A sequencia lEN=24 Indica que cada ragistro contem 24 bytes. Sa ele for omltido sera issumido 256 htes.
44
Ap6s a abertura do arquivo. ele poder' sar util Izado tanto para leitura quanto para gravaeio. Antes porlm, I praelso especiflear como estario 05 campos dentro do re9lstro. e Isto , feito atraves do comando FIELD.
o eomando FIELD diz ao OSK-BASIC quantos bytes terao cada um dos campos. Por exemplo,
Ok
FIELD »1,1 AS A$. 3 AS B$, 20 AS C$ Ok
Com esse comando. fol reservado 1 byte para a varlavel AS. 3 para a varlevel 8$ e 28 para CS. Nesta caso, 0 reglstro contem 24 bytes (1+3+28) a esta foi aspecifieado no comando OPEN anterior.
Quando for afetuada uma laitura deste arquivo. 0 DSK-BASIC lera sempra de 24 em 24 bytes, indapendentemente do que la esta gravado. deixando 0 primeiro byta em AS, os pr6- xlmos 3 bytes am BS e os 28 b,tes rastantas em GS.
Quando e utilizado 0 comando FIELD, as varlavels que ar aparacam. SiD colocadas em um lugar pr6prio para as arqulvas. na memoria do computador. Sando assim.astas masmas varlavels nao podem apareear em comandos como LET. INPUT, etc,sanio elas delxario de astar na area reservada para os arquivas a passario para a area demem6ria reservada para as variavats. Entio nio 58 conseguira mais acassar os dados do disco pois nau havers mais varisveis para rBeeber tais dados.
Gomo nio se pode mais usar 0 LET e 0 INPUT nas varlaveis que estio no comando fiELD. novos comandos foram acrescentados para permltlr a essas variaveis receber dados.
Os comandos RSET e LSET alinham 8 dlraita e a esquerda respectivamente um dado alfa-numerico em uma variaval. Por examplo.
Ok
LSET C$="Avenida Paulista" Ok
Gom isso, a variavel G$ ficaria com 0 seguinte con-
teudo.
FIGURA 2.20 - Vari~vel C~ na lel6ria.
r41 17SlsslsEls9ls4ls1)20lS8ls1 17sIscls91731741s1 1281281201201
A v e n 1 d a P a u lis t a
Urn Dutro examplo e,
RSET C5="Avenida Paul ista"
Gom ele, a variAvel CS flcarla assim.
45
12el2012812el4117sIssisEIs91s41s11281s01s117sIscIs91731741s11
A van ida P a u lis t a
Note que nos dais casos. a varlavel C$ cont'm sampre 28 bytes de tamanho. pols ala asslm fol deftnida no comando fl flO.
Os comandos RSET e lSET alinham os dados na variavel completando com brancos as bytes nao ocupados e truncando os bytes excedentes.
Voci deve ter reparado que no comando fiELD apenas variavels alfa-numericas podem ser especificadas. Para gravarmos numeros em um arquivo randomico, existem 3 fun~oes que -transformam- os numeros em dados alfa-~umirlcos de tamanho fixo: MKI$. MKS$ e MKD$.
MKI$: e usado para variaveis inteiras.
MKS$, e usado para variaveis de precjsao simples. MKD$, e usado para varlaveis de precisio dupla.
Estas 3 fun~oes convertem um numero em uma variavel alfa-numerica de 2. 4 ou 8 bytes, Independentemante do valor do numero. Ap6s asta transforma~ao,eles podem ser movidos para a buffer do disco atraves de LSET ou RSET.
A seguir temos urn exemplo de como mover dados numericos e alfa-numericos para variaveis de arqujvo rand6mico.
FIGURA 2.21 - Utiliza~ao do HKII, HKSI e HKOS. 01<
10 OPEN "A:NOMES" AS H1 LEN=22 20 FIELD H1, 20 AS NM$, 2 AS 10$ 30 INPUT "Qual Q seu nomE ";A$ 40 INPUT "Qual a sua idade";I% ~::;0 LSET NM~,::::A9,
60 lSET ID$~MKI$(I%) Ok
.. Na Ii nha 10 0 ar qu I vo fo j aber to, sendo i od I cado que cada registro cont~m 22 bytes .
.. Na linha 28 fol definido 0 registro como tendo 28 bytes para a variavel NM$ e 2 bytes para ID$ .
.. Nas Ii nhas 30e 48 foram receb i dos os dados que dsvsr au ser gravados. Note que NiO sao as mesmas variaveis que as tao no comando FIELD.
* Na tinha 58 foj transferido a conteudo da variavel a variavel do disco NM$, alinhado a esquerda e oa foj transferldo 0 valor da variavel I~ para 10$ no
A$ para I In h a se disco.
Ap6s estas transferincias, os dados alnda nio foram gravados no disco. eles foram apenas poslcionados. Para realmante gravs-Ios e necessaria usar 0 comando PUT. Por exemplo:
PUT tU,l Ok
46
o numero da registra poder' ir de 1 at'mais de 4888tee e na exemplo anterior fai utll izado ,. Porem. e desaconsethavel dar numeros aleat6rio5 au mesmo espa~ados entre 51. Quando voci for elaborar um programa que grava um arqulvo rand6mico, e born imaginar um meia da fazer com qua as grava~ae5 sejam feltas em ordem crescenta do numero do reglstro e sem que haja fa/has na sequincia. Por examplo. gravando os registros 1. 2. 3, 4, 8 asslm par dlanta em vez de grav'-Ios dasor denadamen te , 1. U. 8. 2, 4. e t c ,
Pode-sa tanto lar quanto gravar ragistros am um arquivo rand6mico sem tar qua fechar a abrir novamenta 0 arquiva. A leitura de um determinado reglstra e falta atrlves do camanda GET. Por exemplol
GET ttt,;:.~
o registro lido no exemplo anterior' 0 de numera 2 e supoe-se que tenha sido prevlamente gravado atraves do comando PUT.
Apos a execu~io do comando GET. os dados estaa disponrveis para U50 naquelas variavels que foram deflnidas no coma n d 0 F I EL D .
Pode-se usar PRINT ou passa-Ias para outras variaveis. Apenas aqueles numeras que faram transformados em variavels alfa-numericas , que precisam ser convertldos em numeras novamente. Para 1550 exlstem 3 fun~Des,eVI. evs e evo.
Elas canvertem os numeros que faram transformados pelo MKI$. MKS$ e MKO$ respectivamente. Por exemplo.
FIGURA 2.21 - Uso do CUI • Ok
1. 0 GEn4 1.,1
20 PRINT NM$,CVICID$) Ok
Na linha l' foi efetuada a leitura do primeiro raglstro do arquivo a na linha 2' fol mostrado 0 nome da passoa e a sua respectiva Idade. mostrando a varlavel NM$ diretamente e convertendo 0 nOmaro que estava em 10$ atravis da fun~io cvr .
Para 58 ter uma idila deste conjunto tedo de comandes a Instrueoes. anal Isa 0 programa a seguir. Ele nio e um programa multo pr6tica mas 58 far bern entendido Ihe dar6 mult a 5 d j cas dec erne usa r . a r qui v 0 5 ran d 8m i cos .
1.0 OPEN "A:PRODUTOS.TXTH AS Hi LEN=31
20 FIELD "1,3 AS CD$,20 AS NM$, 8 AS PR~ 30 FIELD tti,2 AS UT$,29 AS LX$
40 IF LOF(1)=0 THEN UL%=i: GOTO 70 ~~0 GET Hl, j_
60 UI...%'""CV I (UTi,)
70 CLS : PRINT HCadastro dE produtosH
80 PRINT " H ~ PRINT
90 PRINT "i ..•. lncll.lir produtos" 100 PRINT "2 •... Consl.lltaF prodl.ltos" 110 PRINT "3 .•••• FIM" : PRINT
120 INPUT"Opc~o"~OP
130 ON OP GOSUB 1000.2000,3000 140 GOTO 70
1000 REM INCLUSAO
1010 CLS : PRINT"Inclusio" : PRINT 1020 INPUT "Ccidigo do produtoH;CP~ 1030 IF LENCCP$)(}3 THEN 1020
1040 INPUT "Nome do PFoduto";NP$ 1050 INPUT "Pre~o do PFoduto";PP# 1060 LSET CD~=CP$
1070 LSET NM$~NP$
1080 LSET PR$~MKD$(PP») 1090 PUT Ui,UL%+1
111,0 ULZ=ULZ+j.
1120 RETURN
2000 REM CONSULTA 2010 CLS
2020 INPUT "Consultar qual ecidigo de produto",CP$ 2030 FOR 1%=2 TO ULX
2040 GET »l.IZ : IF CDS=CP$ THEN 2080 2050 NEXT IX
2060 P R I N T " P Y' 0 d u t: o "; C P $ ; II n a D E~ nc:o n t r a d o " 2070 (JOTO 2t20
2080 PRINT "Produto ";CD~ ~ PRINT "NDme ";NM$
2090 PRINT "PFe~o "~USING""U".""U,""".""";CVD(PR$) 2100 PRINT "Teele qualquEr tecla."
2110 X$=INPUT$(l)
21.20 RETURN
3000 REM FIM
3010 lSET LX$=STRING$(29,32) 3020 lSET UT$~MKI$(UL%)
3040 PUT lit r i
3050 CLOSE
3060 END
as pontes mais impertantes sio:
* t possrvel usar mais de urn cornando FIELD para a mesmo arqUi'lO.8 e I e s funcienam durante oprograma (Iinhas 20 a 30).
r Pode-se ler e gravar registros sem ter que fechar e abrtr 0 ar qu tvu novamente ( t r nnas 1098 e 2040).
* Nio 58 pode usar as lIari6veis do comando FIELD em comandos LET ou INPUT. Usam-se outras vari~lIeis para receber dados e estes sao mall i dos usando RSET ou LSET (I i nhas 1020 e 1880).
48
,
CAPITULO III
INTRODUCZO AO HB-HCP
o HB-MCP , ulla versio do CP/M desenvolvlda aspecialMenta para a sau HOTBIT. Portanto. tudo que voca ii conhece sobra 0 CP/M valer' para 0 HB-HCP.
COIIO os cOllandos do CP/M SiD poucos a 0 HOTBIT te. urn hardware arrojado, 0 HB-HCP, al'm de mantar UMa total COIIpatlbilidade com 0 CP/M. possul alnda virlas vantagens, COIIO vere_os _als adlante.
Se voce deseiar _als Informaeoes sabre 0 CP/M em particular IIKistem v'rlas publica~~es tienlcas a respaito do 5 II U fun c ion ame n t a I n t ern 0 , car a c te r r 5 t l cas, etc.
Heste capftulo vamos nos deter apenas no HB-MCP. seus comandos. utllitarios e vantageRs sobre 0 seu aAcestral, 0 CP/M.
INICIALIZAcaO DO H8-HCP
Voce recebeu junto call 0 seo drive dois dlsquatas que sio muitos aspeciais. pols cada UII deles conte_ UII siste_a operaclonal dlferente, capaz de tornar seu HOTBIT multo .als versatil do que ele ia i.
~ dasses disquetes (veja a etiqueta) cont~m 0 sistema operacional HB-HCP 8 , 8ste disquete que voce dever' utilizar neste momenta.
Veia no apindice II como instalar 0 drive. Urna vez Instalado e com 0 micro Ilgado {tendo. portanto. oOSK-BASIC e. operaeioL insira a disco com 0 HB-HCP no drive A II pr oduza urn RESET no micro.
Ao ser dado RESET. a HOTB~T verlflca S8 0 drive cont,_ algum disco com um novo sistema operaclonal gravado. Ss tal sistema sKlst!r, sera carregado para a memoria e 0 contr61e do micro serA transferldo para ele.
AD ser rnt c t at t z aao. 0 HB-HCP procura a BKistencia ds 64 Kbrtes cont(nuos de mem6rla RAM,que i a quantidade exata necessaria para seu funcionamento. 0 seu HOTBIT ja contem IIssa quantldade de memoria e portanto voce nao preclsa 5e preocupar com 1550.
Ap6s ter achado tal quantldade de mem6rla. ele continua a P8squisa para ver 5e existsm outros 64 Kbrtes adlclonals de RAM que funcionario como pseudo-disco.
Estes 64 Kbytes a mais podem ser facilmlnte acoplados ao HOTBIT atraves do cartucho "expans80 de mem6rla", gerando asslll urn pseudo-drive com capacldade de 82 Kbrtes de dados e ama grande velocldade de acesso. 1550 pade 5er multo utll quando usarmos programas que buscam constantemente dados em disco. Hum disco real, 0 tempo de busea 8 leltura de um dado e multo .aior que Duma 8xpansio de RAM.
Sa exlstlr urn cartucho de 88 colunas instalado no micro. 0 HB~P 0 aciona automaticamente, perllitindo asst. o uso de 88 colunas no vfdeo sem necessidade de ss dar qualquer camando para par ests cartucho em funclonaMsnto.
Ap6s toda e5sa "caea" aos cartuch05 e sKpansoes que
50
podem estar instalados no HOTBIT. 0 restante do HB-MGP e carregado e tranferido para a fim da membria. de acordo com a figura 3.2 .
A indica~io de uma carreta carga do sistema' percebida com 0 aparecimento da seguinte tela:
FIGURA 3.1 - Carga [orreta do He-HOP.
HB ---MCP A}
[EPCOHJ
Vt.0
o tracejado pi5cante e chamado de CURSOR e indica em que I oca I da t e I a ap ar e c era aqu 110 que voc@comandar.
ORGANIZACao INTERNA DA MEMoRIA
Quando 0 HB-MGP e carregado para a mem6ria do HOTBIT Bsta fica da 5e9ulnte maneira:
FIGURA 3.2 - 0 HB-HCP na Me.or ia do HOTBIT.
&HFFFF
B lOS
&HE700
&HE6FF
BOO S
&HD900
&HD8FF
C C P
&H0100
&H00FF
T P A
&H0100
&H00FF
p~gina base
&H0000 I 6,25 Kbytes
) 3.5 Kbytes
J 2 Kbytes
} 52 Kbytes
) O,25 Kbytes No in{clo da mem6ria existsm alguns pontos de entrada para as diversas fun~fies do HB-MGP.
A raglao chamada TPA (Transient Program Area,ou ~r8a de Programas Translentes) e onde sao carreQados 05 programas que voce pede para ssrem 8xecutados.
51
a CCP e um programa interno do HB-MCP que servft de mediador entre 0 usu'rio (voc~) a 0 restante do HB-MCP. E ele quem recebe os comandos que voc~ digita. como DIR. ERA. etc. ~ ele tambem quem carrega no TPA 0 programa que voce pedir para ser eXHcutado. passando-Ihe 0 contrBle.
a BOOS e 0 BIOS sao os responsaveis por todD a fuocionamento do HB-MCP. Sao eles quem controlam 0 acesso ao teclado. drives. video. etc. ~ como 58 eles fossem 0 boy daquela nossa empresa imagin'ria que criamos no capitulo I . Quando voce comanda DIR. por examplo. 0 CCP peda para qua 0 BOOS pesquis8 cartas r8giaes 8strategicas do drive. Recebendo as informa~6es pssquisadas. 0 CCP ssleciona as que interessam e pede para que 0 BOOS envie estes dados seleclona~os para 0 video.
Como se pode V8r. os programas apenas decldem 0 que fazer com as dados. mas e 0 BOOS (Basic Disk Operating System ou. Sistema Basico de Opera~ao de Disco) e a BIOS (Basic INPUT/OUTPUT System ou. Sistema Basico de Entrada 8 Salda) quem busca e envia as dados aos parifericos.
Quando ocorre algum arro durante 0 acesso ao drive. como disco nao inserido. drive mau regulado. etc. ele sera detectado pelo BIOS e pelo BOOS antes de ser detectado palo programa. 1550 causa um inconvenienta. porque dapendendo do erro. 0 programa que astava sando executado acaba sendo cancelado pelo prbprio BOOS. recarregando 0 CCP a mostrando 0 sinal de ·pronto" caracterlstico do HB-MGP: -A)-,
Como 0 programa que estava sendo executado foi cancelado "sem mais nem menos-. as dados que ele manipulava tambern toram Ignorados. e a partir dal os arquivos que 0 prograIma uti I ilava acabaram ficando abertos (sem que a programa desse um comando CLOSE) e consequentemente nao estio mais confiaveis para usa futuro. Oaf a necessidade de sa tar pelo Imenos uma cbpia de reserva dos arquivos. Mais adlante asses
arras serao descritos com mals datalhes.
Gam essa subdlvlsao da membria. todos as programas sao carregados no TPA. Uma vel carregaaos. quando quiserem acessar 0 teclado. 0 vrdeo ou arquivos em disco, eles 0 falem atrav~s do BOOS, aces sando as tabelas no come~o da mam6ria que indicam cnde estio 0 BOOS e 0 BIOS.
Dessa maneira. 0 programa que 8Sts rooando nem 58 interessa em como 0 eoos fara 0 acesso desejado, s6 58 importando com 0 resultado qua recsber. Assim. qualqusr programa escrlto para CP/M tambem rodara no HB-MGP. As diferen~as do circuito aletrBnico (hardware) do HOTBIT com outros micros nio-MSX passam desapercebidas palo prngrama. Apenas 0 BIO$ ~ qua sofre altera~ao de computador para computador. lustamente porque e essa parte do CP/M que depende do hardware.No HOTBIT ela foi especialmente desenvolvida para aceitar todos os perifericos que este poderoso micro possa ter.
Apesar da ser totalmente compatfvel com 0 sistema 0- peracional CP/M 2.2 , 0 HB-MCP ~ intrinsicamente diterente dele em todos 05 nlveis.
o BOOS e 0 CCP apenas simulam 0 CP/M. p05sibi Iitando ao HOTBIT acesso aos softwares desenvolvidos para ale.
52
CCP - PROCESSADOR DE COMANDOS DO CONSOLE
No HB-MCP uish UAI pequeno ·progra.a" qUI sarva como .edlador entra a operador (vocl) e 0 rastante do 51st •••.
Estl "prograMl" , na verdade u.a partl Integrantl do HB~P e nio um programa separado. Ouando 0 HB~P est' 1.5- t.lado 8 pronto para 5ar utllizado. que. te.o contrail nl realldade e 0 CCP.
o GGP el15tl para qua voci POS51 operar 0 coaputldor dlzendo qual program. vocl quer radar. ou 51 deseja ver 0 dl"t6rlo. etc.
Quando dlgitalilos U. comando. 0 CCP verlflca 5. ele i reconhec'vel, a 51 for, elecutara sua fun~io. Has 51 nio for u. dos comandos que all acelta, entio ira procurlr no di5co algum prograMa que tenha como no.e aqullo que vocl dlgltoY. carregando-o para I Memoria e the passando a contrala. Portanto, para se executar u. programa, basta digltar SIU no.e.
o GGP anvia para 0 terminal os sfmbolos -A)- para dlzer que esta pronto para racabar UAi comando seu. A letra -A- slgnlflca que 0 seu comando surtlra efeito no drive A. Se voce vlsuallzar -B)-, quar dizer que os cOMlndos recebldos palo CCP slrio reallzados no drlvI B I assim por dl.nte.
FIGURA 3.3 - 0 sinal de "pronto" do CCP.
A>
fste "A)" , sell,lhante ao "Ok" do BASIC.
Quando entio ta~os 0 NA)~, pode.os digitsr um COMando Interno (urn daquelas que 0 CCP ac~lta) ou 0 no.e do programa que quere.os utilizar.
05 co~andos internos que vere~os mais adlante s6 pode. ser utllizados quando a CCP 8sta rodando. ou seja. quando tamos 0 -A)- no VrdBO (ou B). C). etc).
Quando pedlmos para executar um programa. este' carregado para a memoria tomando 0 lugar do CCP, nio sendo entia possrvel utllizar mais tals comaRdas. Ao ter.lnar a execu~io do progra~a pedido. 0 CCP e automatlcamente recarragado para a mem6ria. voltando a mostrar a ~A)".
Todos os programas que SiD carregados na ma.6rla (na reglao chamada TPA) passam a gerenciar 0 funciona.ento do .iera com 0 aux'iio do BOOS e do BIOS. nao sendo mais necess'rio a uso da CCP. Afinal. apenas um -gerente" suficjente para camandar as a~5e5 executadas palo micro.
Voci ji leu no capitulo II (DSK-BASIC) que alguns de seus comandos aceltam 0 ponto de interroga~io (7) e 0 astBrisco (*) para indlcar amblguidade nos names dos arqulvos. Esses caracteres sio conhecjdos como "WILD CARDS" e sio tamb'm aClltos pelo H8~MCP com 0 masmo prop6slto que no DSK-BASIC.
A segulr vamos detalhar cada um dos comandos que 0 CCP aeelta. como tamb'm a manlira de se executar os principals programas que acompanham 0 disco HB-MCP que voce recebeu junto com 0 drive.
53
OIR
o cOMando DIR , um comando do GCP que mostr. os arquivos presentes no drive 8specificadD. NiD sendo 8SP8clficado nenhum drive, s8ra assumido 0 drive corrente (aquele visualizado antes do ")H).
FIGURA 3.4 - 0 (Olin do QIR.
A>dir
A: PIP A: DRINP ~'i: XSUB
A: FUNCOES A= DUMP
A: SYSGEN A: BACKUP A: DSKCNV A: DROLJT A)
COM COM COM C:OM :
COM COM COM :
COM :
COM
FORMAT STAT SUBMIT COPY COP DOS AUTOLD TERM BATCH
COM COM COM COM COM COM COM COM
Para especificar outro drive, basta Indica-Io logo ap6s 0 camando OIR.
FIGURA 3.S - Usando o. DIR para 0 drive B •
A} DIR B:
Nemhl.1m arquivo A)
o comanda DIR i semelhante ao FILES do DSK-BASIC. podendo-s8 usar. tambi., 0 asterisco (w) e a ponto de InterrOgal;ao (?).
FIGIJ!A 3.6 - Usando 0 PDflto de interrogadio P) (011 0 DIR.
A>
A>dir dr???com
A: DRINP COM: DROUT COM
A)
Como todos as cOlRandos do CCP ham parte do HB-KGP, eles nio SiD vlstos pelo comando DIR. Este comando mostra apenas as arquivos gravados no disco e nio os comandas internos do HB~P e • porisso que voce nio vi programas como OIR . . COM , por eKemplo. Kesmo que voce grave um programa com este Dome vocl nio conseguir6 executa-Io,pois ao digitar DIR a GCP Ir6 mostrar 0 diret6rlo do disco eIR vel de procura, um prora.a com este nome. Sendo asslm. Rio' posslvel eK8cutar progra.as que tenh~ COMO Rome os comandos do CCP.
ER1-\
o cOMando ERA serve para apagar urn arquivo do disco, de modo semelhante ao comando KILL do OSK-BASIC. Ele tambim admlte 0 uso do asterlsco (w) e do ponto de Interrogal;io (?).
54
No caso de S8r usado w.w Indicando que todos 05 arqulvos deverio S8r apagados. uma persunta Ihe' feita para confirmar a opera~io.
o nome do arquivo a S8r apagado devera S8r eolocado logo ap6s a comando ERA e a especlfica~io do drive.
FIGURA 3.7 - Uso do [Diindo ERA.
A)ERA B=LIXO.BAS A)
No caso de nio exlstlr a arquivo. sera mostrada u.s mensigem de errol
A)ERA ARGX Nf::nhum ar qu i vo A)
ATENCio. Nio apague nenhum dos programas que estao no disco HB-MGP. pais estes sao de grande iliPortinela. Hals adlilnte veremos como utilizar aguns deles 8 tamb'm como tirar capias reserYas de todos para evitar perdas acidentais.
REN
o comando REN 6 utllizado quando queremos d' urn novo nome a urn arqulvo. Sua (lnlca utiliza~io. portanto. e para Mudar 0 nome de urn arquivo que jj existe no disco. Supondo que exista urn arquivo de name ARQl no disco do drive A 8 que queremos mudar seu nome para lIXO.BAS . Nasse caso. podemos utilizar a seguinte comando.
FIGURA 3.8 - Usa do [onndo REN •
A)REN LIXO.BAS=ARGl A)
Note que a arqulvo nio e alterado. mas apenas a seu nome A modiflcado.
TYPE
o comando TYPE allbe na tela 0 conte6do de urn arquiva. 0 arquivD devera ser detexto. senio voc@ verA coisas malucis no v(deo (lias nio sa preocupe que nada de mal devers aIconteeer ).
Quando tamos urn arquivo 8 quaramos ·var- a que h' gravada nel8. devemos usar a camando TYPE.
o comando TYPE mostrar' todD 0 arquivo atfi encontrar a caractar de c6dlgo ASCII &H1A. que indica fim de arqulvo.Se voci tentar utillzar TYPE em um programa (as que tem .COM na extensio do nome) provavelmente obt8r~ um show muito bonito
55
no sau vfdeo. mas nada ~til. j~ que um programa ~ um arquivo que 56 cont~m c6digos de m~quina e muitos deles sio comandos de tela (posicionamento de cursor.etc).
Para 5e "congelar" a listagem dUrante a execu~30 do TYPE. tecle ·S tou STOP) que 0 vfdeo ficar~ parado at~ ser teclado novamente ·S (ou STOP). que ·descongelar~- 0 vfdeo. Se voce digitar qualquer outra tecla al~m de ·S. 0 video tambem sera descongelado. Mais adiante serao vistos 0 ·S e outros "CONTROL s· que produzem efeito no HB-MGP.
SAVE
o camanda SAVE grava um arquivo em disco como uma imagem da mem6ria. Este comando tem muito pouca utilidade e provavelmente voce nunca a utilizara. Mesmo aS5im. vale a pena saber como usa-Io.
·Para utiliza-Io. , necessarlo dlzer quantas ~psglnasN de ma.6ria deverio ser gravadas. js que cada paglna contim 256 bytes de tamanho. 0 endereeD Inlclal da mem6rla que' gravldo 6 a &HI1 ••. A partir ~ela sio carragados todos os programas qua rodam no HB-HeP. Sa. por examplo. tlvermos um programa de 2 Kbrtes de tamanho em disco. ap6s ele ter sido executado e retornado a controle para 0 GCP. ele ainda permanecera ns meMbria. pols 0 GGP ocupa uma regl30 dela onde praticamente perman8ce sozlnho. Nessa sltua~io. podemos dar 0 seguinte comando.
FIGURA 3.9 - Uso do (Olindo SAN{ •
A>SAVE 8 coprA. XXX A)
Com 8sta comando. sera criado um arquivo em disco contando B paginas de mem6ria (Bx256:2K) de nom' GOPIA.XXX 8 que i Idintieo aquela prograMa que tlnha acabado de sar executado. Ha raalidade. slmples.ente tira.os uma c6pla daquele programa.
Exlste arqulvns e que ~ SAVE. tornando-a ante.
um program. pr6prio par. se fazer c6pias de multo .elhor e mals confiavel que 0 camando pratic~ente In6tll. N6s 0 veremos mals adi-
USER
o cOMando USER ~ outro r.ramente utllizado.
Ele indica qual 0 usuarlo que esta utllizando 0 computador. TodD acesso a qualquer arqulvo em disco 56 , feita ap65 uma compara~io do usuarlo atual co. 0 usuarlo que crlou o arqulvo. 0 HB-MGP 56 liber. 0 arqulvo para 0 usa se houver coincldincia na compara~io.
Quando 0 HB-MGP ~ inlclallzado. , assu.ldo 0 USER •. Para todos as arquivos que fore. crlados s8ra assu-
56
mido 0 USER e. 5e. por exemplo. voce modiflcar 0 USER para USER 5, todos os arquivos do USER e nio astario mais disponfveis. Para qU8 nio haja um "carnaval" de USER's no seu disco, I! mais pratico e r acome ndave l uti I izar apenas 0 USER e, que' assumido quando 0 sistema e carregado. Mas. 58 masmo assim voci quiser se divertir um pouco. pode-S8 mudsr 0 USER com a seguinte comando:
FIGURA 3.1' - Usa do [Diande USER
A >lJSER n
o valor de n pode Ir de e a 15. Para se voltar ao USER' basta 0 segulnte comandol
A)USER 0 A)
Quando estamos ut iii zando um USER dl ferenta d8 e, I sso , Indlcado antes do "A)",
5A)
UN uso do comando USER pode oeorrer quando exlstlr. acoplado ao seu HOTBIT. um disco com enorlle capacldade de ar.azenamento (por exemplo.com uns 28 Mbytes=2e.e.e .• e. bytes).
Nesse disco.por cabersm muitos arquivos e programas, , uma boa pratica separa-Ios por grupos com 0 auxfllo do comando USER, USER 1 para 05 programas e arqulvos da folha de pagamento; USER 2 para os programas e arqulvDS da contabilidade; USER 3 para os jOg05 que joce .als gosta. e asslm por dlante. Com uma separa~io asslm. fica facll utllizar um certo sistema, pols 56 delxamos dlsponfvels os programas e arqulvos que nos Interessam em especfflco. Imagine a diflculdade eM achar Uln certo jaga num disco COli 28 HBytes contando muitos programas e arquivosl Mesmo com 0 auxflio do ponto de Interroga~iiio (?) e do as t e r l sce t e ) , seria PBl10sa a procura.
o inconveniente deste lI~todo de s8para~io em grupos , que alguns programas sio multo utilizados. sendo sua dlsponlbilldade quasB que obrigatbria. como a programa PIP.COM.por exemp I o.
Separando 05 arqulvos e programas com a comando USER terramos que ter uma cbpia do PIP.COM e de Mais alguns outros comand05 de usa frequente em cada sapara~ao de USER que fivermos em U50 naquele dlsco,garando assim um -repeteco· de programas que' um desperdfclo.
Como 0 disco que voci tem no 58U HOTBIT arllazena por volta de 341 Kbrtes. 0 USER acaba sendo nio multo ~til.
Embora possa operar com apenas um drive.D HB-HCP fol desanvolvido tendo em vista 0 U50 de dais drives. sando esta a melhor configura~io a S8r empregada.
SUPondo que 0 drive B esteja conectado. podemos ti-Io como drive corrente, com 0 segulnts comando.
57
A}8:
F.l)
Quando temos no vfdeo B) em vez de A>. significa que os comandos que foram dados sem ser aspacificado um drive.ser~o 8Kecutados no drive B. Para voltar a operar diretamente com 0 drive A. basta 0 seguinte comando :
H}A:
A)
Com as comandos do HB-MCP. nio , poss(vel fazer c6- pias de arqulvos. nam saber quanto espa~o hj ainda livre no disco. Para resolver esta inconveniente. eKistam v6rios programas feltos especialmente para cripias de arquivos.para mostrar a ocupa~ao do disco etc.
NoHB-MGP 05 p r og r ama 5 d 811 em po s s ui r a ex. te ns ao . COM no nom~ para que a CCP as reconhe~a como programa. e nio como urn arquivo qualquer.
Ao sar di9itado urn comando que nio saja do pr6prio HB-MCP (0 I R. ERA, TYPE.. SAVE. REN e USER) 0 CCP cot DC a a e.xfllns~o .COMe procurs no disco algumprograma comeste nome (par issa nio i necessAria voci digltar .COM quando quisar radar algum programa. pais a pr6prio CCP jA faz 1550).
Voci jA deve ter reparado que todos as arquivos que vieram com a disco HB-MCP possuam a extensao ".COM" sendo, portanto. programas eKecut6veis.
Cada urn desses programas tern uma flnalidade espec(fica B vamos mostrar com~ ufilizar alguns deles que SiD tambim conhecidos como comandos exfernos. dada a grande frequincia com que sao utilizados.
Todos as comandos que vimos at' aqui. podem ser dados em uma 6~jca linha. desde que separados par vfrgula (.).
Vamos supor que temos dois drivers instalados e que queremos sabar 0 que est6 gravado nos disco 16 presentes. Podemos ent~o comandar DIR e teremos fodos os arquivos gravadas no disco do drive A. logo ap6s, comandamQs DIH B: e teremas Inostrados todos os arquivos gravadas no disco do drive B. lJma autra forma de obter 0 mesmo resultadoi comandar:
DIR • DIR B:
Assim. serio mostrados as arquivos no disco do drivB A e. logo em saau tda. serio mostrados os ar qut vos presentes no disco do drive B.
Com 0 tempo. quando voci jA estiver bern familiarizado com 0 HB-HCP. ve r a que e comum usarmos ma is de lilA cOinando para obtermos 0 resultado desejado e isto fica facilitado com a possibilidade de usarmos a vfrgula para separarmos fais comandos.
58
FORHATAC~O DE DISQUETES NO HB-MCP & CoPIA DO SISTEMA OPERACIONAL
Vacl i' deve estar careca de saber quando e porqua d8vamos formatar um disco.
Para sa formatar um disco no HB-MGP, e nacessario um programa aspaclfico. pois masmo sendo um sistema operacional pr6prio para 0 HOTBIT, ala' totalmanta Independanta do cartucho cantrolador do drlva. Porisso existe um programa chamado fORMAT.GOM que serve para farmatar os discos, delxando-os prontos para sarem uSildos pelo HB-MGP.
A formata~io empragada no HB-MGP e difarante daquala utllizada palo DSK-BASIG e palo HB-DOS (qua sera datalhado no pr6xlmo capitulo).
Sando assim, os discos usados no HB-MGP daverio sar usados apenas nala a se voce tentar utiliza-Ias no DSK-BASIG ou no HB-DOS provavalmente nio consagulr'.
Para sa formatar um disco no HB-MGP, dave-sa axacutar a programa fORMAT.GOM a logo em segulda Indicar em qual drive sara colocado a disco a sar formatado, par examplo,
A)FORt1AT A:
Gam 8sta comando, a programa fORMAT.GOM e carregado na mam6rla a , eXBcutado, mostrando a saguinta tala I
FIGURA 3.11 - Prileira tela do cOlando FORKAT •
FOR HAT
Ln i c i a DisquE.'t!:~s Vi.0
eologue disqUEtE para SEr forrnatado no dirvE A~
Te c l e <RETURN>
Neste instante. retira 0 disco qua est' no drive A a insira 0 disco a sar farmatado. teclanda RETURN logo 8m 58- guida, sendo antao vlsualizada a s asu l n t e tela:
FIGURA 3.12 - Segunda tela do cOlando FORHAT •
FORMAT
Inic:ia OiScI'JetE5 Vi.0
eologue disquete para ser forrnatado no dirvE A~
Te c l e (RETURN)
Confirma (SIN) ')
59
Cuidado para n~o formatar a disco com 0 HB-MCP t I I Tenha certeza de que a disco que 8sta no drive A 6 realmente 0 disco correto, teclando entao a letra 5 para se Iniciar 0 processo de formata~~o ou a letr~ N para se interromper 0 programa FORMAT.COM.
APDS tectar S, e iniciada a formata~~o do disco,sendo mostrada qual trilha esta sendo formatada.
Terminada a formataC90 e se esta estiver ocorrido normalmente 6 perguntado se deseja fazer uma verificacao. 5empre e born verificar se a formata~ao esta correta ou nao, pois e uma garantia a mais de Que 0 disco esta pronto para usc. Tecle entaD S novamente para iniciar a verificacao.
FIGURA 3.13 - Terceira tela do prograla fORMAT
FORMAT
Inicia Disquetes Vi.0
eologue disquete para SEr formalado no dirvE A~
TeelE (RETURN)
Confirma (SIN) ? S
Formatando trilha 079
Formata~~o complEta
Verifiea (SIN) ?
APDS a verificacaa (se esta foi executadal e perguntado se dsseja formatar algum outro disquete,podendo S8r formatados varios disquetes de uma 56 vez sem ter que chamar a programa FORMAT.COM para cada formatacao a ser feita. Ao terminar de formatar a ultimo disQuete. responda nao a esta pergunta teclando a letra N (figura 3.14).
Voci eSla 2 vezes careca de saber que um disQuete aPDs ter sido formalado esla completamente limpo, como eO caso do disco que acabou de ser formatada no drive A.
Assim. a programa FORMAT.COM pede para que saja colocado nesle drive um disco que contenha 0 sistema operacional HB-MCP para que possa ser recarregado enl~o 0 CCP. Retire o disco presente no dirve A e coloQue 0 disco HB-MCP au algum Dutro que contenha este sistema operacional gravado nele. teclando RETURN logo em sequlda.
5e voci possuir dais drives, pode efetuar a formata~~o do disco no drive B em vez de efetua-Ia no drive A com 0 seguinte camando I
A)FORMAT B:
FIGURA 3.14 - Quarh tela do coeando FORI'IIIT •
FORMAT
Inicia Disquetes V1.0
Coloque disquEte para ser formatado no dirvE A:
TEcle <RETURN)
Confirma (SIN) ? S
Formatando trilha 079
Verifica (SIN) ? S
VErificando trilha 079
VErifica~So completa
Formata Dutro (SIN) ? N
eologue disguEte com sistema TEele <RETURN>
5e 0 disco a ser formatado possuir algum defeito. 0 programa FORMAT.COM nao cons8gulra formata-Io corretamente e 8m'tlra uma mensagem de erro. 5e iS50 ocorrer. t melhor se d8sfazer dests disco e utllizar um outro. pols se nio j possrvel formatar um disco. com certeza nio sera possfvel utiliza-Io posterlormente.
APos a formata~io de um disco no HB-MGP e sconselhavel fazer urns copis do sistema operacional para ale. Toda vez que um programa termina de ser exacutado. 0 GCP .que faz parte do HB-MGP. e carregado para a mamoria. 5e neSSB disco nio existir uma copia do GCP. apbs a 8X8CUl;io de um programa 0 micro acabara ficando -maluco-. pOis tentara carregar 0 CGP para a membrla e nada ira encontrar. Par 1550' necessaria exist!r uma copla do sistema operaclonal HB-MCP em cada disco que for uti I i z ann .
o HB-HGP esU gravado nas tris t r l l has l n l c t a l s , a trilha'. 1 e a trilha 2. Estss tris trilhas do disco sio sempre reservadas para 0 HB-MCP (figura 3.15).
Para se tirar uma copia do sistema operacional, basta copiar estas trjlhas de um disquete que ia contenha 0 HB-MGP para a disquete que foi formatado. E 0 programa SYSGEN.COM serve exatamente para isso.
61
FIGIJil:A 3. ~ 5 - T r i 1114'5 n! ~€l!"viidiiS p:ilr Cl! 0 I{Hln.
SETOFiES
e 11 2 3
B 0 10 T 1
lEI 1)1 {} S o m RET d R W 0
''I 5
C, C p
I
B .0 S
II
!] I!I D 0 S
10 A D I) S 7
,
IV ,
R 2
I
IlL 3
H
,I q
5
!5 !3 lOS
I)AD08
Till diD dl ~ !j,qJ iii 8 tl8 !lID 'til' GlI~fllil r fll,rmli!ltado Ino HEhHG1P tie I',i qu~ rltl~ar 0 sjst~ma D~~,~~rD~a~ ~D9~ em 5ig~~d~ alrav's ~~ P If OJ§I n,ma SYSGIEN. COM. P ,arillf i1.iHlII!' iss ~ .c 'U' W iii iii iii f] 0 rJ.i '!iJ'1iI II II ,t, q ~JiI!I ~o~i ree,~.u ~lmI a ~B-~CP I dJglte ~ sa~~jnti ~am~n~~ ~
(II he hili RlETl!IIiIN)
A parl~r dal. 0 prQgr~mi SYSGEN Ii as trt~hi5 e. 1 8 2 do disco ~~~ ~sta ~~ ~ri~~ A e as c~'rlga ,~~~ ~ m~m~rj~. ~.~s a lelt~~a, 8~' ped~ I~r~ s~r '~I~ca~t n~ drlvft A 0 ~15CO q~, rec~~~I" ~ &~~f~ma ~.~ra~io~al. o5pera~da ~ntio set t~c II iI,!!Ila FI ['I!JANI.
SYSGEN!
O"Eri:ll S i '~I; '~Ima 'V:I1 .,0
Coloque djsqu~te no drive A~ par a I'" 'P-'i~ F-'b ~F ... I~ '!:i'I: Enla
R~tit' ,"tio a !!I~sc~ do dri~Q A e tol~qge ~ dl~~~ '111110 ,ii!e,!:!IDfUJ ,d II 5,8'1' 'fo rmil~ill~ll!. t,e c ~ jJll'lldI~ elii'll all FlElUA'H.
P~ssi~ms ~lgUn5 5~9~n.~s. 0 SYSGlN ,~" gta~a4~ n~~ t r I I hl,~I!l, e, " Ie 2 diU' III i $,!l;Il!! um';j;ll c61i11 a ,d'G HIEI-HCP '1:j1l!JlI 'f 0, ,i I i dlO ,d,o ~~5tl orlglna~. a~~im qU'~~G ro~@ ~~~~r e mi~r~ t~m ~ste ~~VG CI i ~tO nil! iiiII' i ve.. Val: i en tr'iH' Itill I~HHM(;P n'lIl'm~ I me iii t'li.
'~is a t"ii ter s~rlQ ef~'uad~ s~m pr~b~~m~s. Olr.gram, perg~nti se 0 ~~~'~io da~eJ~ f~ler ~m~ ~~tr~ ~i~'~ para ~m ou.rg di~q~ltl ,ermltin~~ a~sim ~'r~~s c6pia5 ,m V6~j05 ~~SCijS a ~art~r ~e um ml5m~ B~lgina~.
FIGURA 3.17 - OP,ao de (opias e. vario5 discos.
SYSGEN
Gera Sistema Vi.0
eologUE disguete no drive A: para rEcebEr sistema
Teele (RETURN)
Outra cdpia (SIN) ?
Se voc~ responder S. ent~o , pedido para ser colocado 0 disco que reeeber' a copia no drive A s 0 processD se repete.
Ao responder N. e pedido 0 disco que eontem 0 sIstema operaclonal HB-MGP gravado no drive A.
Note que como 0 disco que est' no drive A agora acabou de receber 0 sistema operacional. voci pods teclar RETURN que voce tera 0 A> sem trocar 0 disco.
Nao 58 esque~a porem que apenas a sistema operacional 'que foi gravado III as prograrnas e arquivos que estao no disco original nao foram gravados. Para fazer uma cbpla d8stes pragrarnas' necessaria uti! izar urn programa de capias de arquivos e naa urn programa de cDPia de sistema operacional como' 0 caso do SYSGEN.GOM.
FIGURA 3.16 - Finaliza~ao do SYSGEN
SYSGEN
Gera Sistema Vi.0
COlogUE disguEte no driVE A: para FecebeF sistema
Teele (RETURN)
Outra ecipia (SIN) ? N
Coloque disquete com sistema Teele (RETURN>
5e durante 0 prDcesso de c6pta do sistema operacional ocorrer algum erro. 0 programa SYSGEN.GOM emitira uma nensagem de erro.
63
FIGURA 3.19 - Erro durantf a (opia do sistfla.
SYSGEN
(3E.'F-a Sistema V1.0
CO'iOqUE d i s q u e t e no drivE' A: para FECEber sistema
TECIE (I~ETURN)
Elrr-o n a 9r-av~~;;';:~(D
eologuE disquEte com sistEma Te c l e (I~ETI.II~N)
Quando 1550 oeorrer, tente reformatar a disco s r8- copiar 0 HB-MCP. S8 mssmo assim a arro persistir, e melhor uti I izar outro disquete 8 se desfazer d8sse.
Para 58 copiar as programas e arquivos. voc@ podera utillzar 0 programa PIP.COM 58 voel! tivar dais drives (A a B) au 0 programa COPY.COM sa voel! so tiver urn drive, a estes programas estio descritos logo mais adiante.
STAT.COM
o programa STAT.COM fol desanvotYido com 0 objetivo de mostrar informa~oes sobre 0 disco au sobre as arQulvos.
Com 8sse programa podemos saber, par examplo,o qUanta ainda tamos de espa~o livre num disco.
Para isso, basta usar 0 segulnta cornando.
A)STAT
a vfdeo devers ficar assim,
FIGURA 3.20 - Espa~o 1 ivre el disco atrav~s do STAT.
STAT
In~or-ma;;';:~Es sabrE 0 disco V1.0
A: R/W, [spaf;o: 288k
Por nao ser urn de sa us comandos internos, 0 GCP procurou no drive corrente (no caso, 0 driva AJ urn programa de nome STAT.COM. Sendo encontrado, ale fol carregado para a mem6ria do micro e passou a ser exacutado.
o programa STAT, ao sar in i c i ado sam rsceber nenhum parimetro. simplesmente verificou no drive 0 quanta havia de esj aco dlspon(val para usa (288 Kbytes). Hostrou, a l nda , qual o dr i ve que fo i exami nado (A.) e que 0 d i SCQ 18 presents asta no modo R/W. Isso quer dlzer que neste disco podem sar lidos (READ) 8 gravados (WRITE) dados.
Se voce po s su l r dois drives, pode ser utilizado 0 seguinte comando para 5e saber 0 espa~o disponfvel no disco instalado no drive B,
A}STAT B:
Observe que no examplo anterior fol especificado 0 parametro B: no comando STAT.
Atrav's do programa STAT.COM podamos saber tambem 0 tamanho de um arquivo. Sa for dado como parimatro 0 nome de urn arquivo, 0 programa STAT.COM ira pesquisa-Io no disco indlcado e mostrara algumas informa~oes multo uteis sohre ele. V 8 j a , a 5 e 9 u i r . urn e x amp I 0 I
A)STAT STAT.COM
a rasultado dassa comando e 0 sa9uinta:
FIGURA 3.21 - [)ados do STALCoti obt ides COl ele leSIO.
STAT
In¥oFma~3Es sobrE 0 disco V1.0
RE9~; 40 El!=,ltES
B y t E 5 L; tAt r
6k 1 R/W A:STAT.COM
FEstantE5 Em A: 288k
Usou-se como parametro 0 prbprio programa STAT.COM .
Veja a seguir a interpreta~io dB algumas informa~oas fornecicidas palo programa,
~ a item -Regs- (da reglstros) signifiea quantos registros de 128 bytes 0 programa STAT.COM ocupa (48 , no examplo anterior).
~ a Itam ~Brtes" mostra 0 tamanho do arquivo. Se voc~ conferir,48 registros com 128 bytes cada resulta num total de 5121 bytes. 1550 significa que 0 programa STAT.COM tern realmente 5121 e n~o os B Kbytes mostrados no item "Bytes". S6 njo sa asque~a que 0 diseo e como urn I Ivro e 0 espa~o nale alocado , em bloeos (semelhante as paginas do livro). No HB-MCP, cada bloea de disco oeupa 2 Kbytes e portanto. todo arquivo gravado oeupara sempre algum multiplo de 2 Kbytes. Conclusio: 0 programa STAT.COM tern realmente 5128 bytes, mas no disco OCUpa B Kbytes.
~ 0 Item "Ext" (de 8xtensjo) mostra quantos "peda~os- do djret6rio a programa STAT.COM uti I iza. a diretbrio do disco contem varias extensoes (peda~os) a cada axtensao tern e5pa~o suficiante para gareneiar 32 Kbytes de disco. Se urn arquivo oeupa menos do que 32 Kbytes, entao com apenas uma 8Ktens8o do dirat6rlo jA e possfvel saber exatamente como 05 bytes do arquivo foram gravados no disco. Mas se ale possuir,por exem-
65
plo. 4. Kbytes de tamanho. entio uma s6 extensio do dlret6rlo nio sera suflclents. Serio necessarias duas estansoes do dlret6rlo. uma para garanciar os primeiros 32 Kbytes do arqulvo 8 a Dutra para gerenclar os 8 Kbytes restaRtss. Como a programa STAT.COM ocupa apenas 6 Kbytas do disco. entia uma 56 8xtensio do dlret6rlo ja e suflclanta .
• 0 Item ~Atr~ (de atrlbuto) mostra 0 atributo do arqulvo. Es fa arqu I va pods ser R/W (dsREAO/WR I H) ou RIO (de READ/ONlY I. 1550. na verdade. , uma protel;iio contra al teral;oes Indevidas. 5e urn arquivo tern atributo R/W. signlflca qua podemos alterar as dados 18 gravados sem nenhum problema. Inclusive apagar 0 arqulvo (com a comando ERA. por exemplol. Has 5a 0 arqulvo tern atributo R/O. ele s6 poder8 sar I Ida, crlando assim uma prot81;io aos dados do arquivo a tarnbem do pr6prio arquivo.
o programa STAT.COM tambam acalta os wWild Gardsw 1* a ?) no nome do arqulvo dado como parimetro. Se vocl quiser var 0 tamanho e atributo de cada arquivo gravado no disco. de a segulnte camando.
A)STAT *.*
a v(dao flcar' 85sim.
FIGURA 3.22 - Uso do asterisco (*) COlO STAT.COt! •
V1.0
Regs Byt e s E:·:t Att..-
4 2k 1 R/W A:Al.JTOLD.COM
a ~~k 1 R/W A=BACKUP.COM
4 2k 1 R/W A~BATCH"COM
9~:; 12k i R/W A:COPDOS.COM
17 4k 1 R/W A:COPY.COM
H 2k j- R/W A:DRINP.COM
8 2k 1- R/W A=DROUT.COM
a ~!k i r~/w A:DSKCNV.COM
5 ~~k 1 R/W A:DUMP.COM
j. i 21< 1- R/W A:FORMAT.COM
") 2k j_ I~/W A:FUNCOES.COM
e;
~~9 Ok j. R/W A:PIP.COM
40 6k 1 I~/W A:STAT.COM
9 21< 1 R/W A:SUBMIT.COM
.:::. 21< .1 RIM A~SYSGEN.COM
..J
"J ~~k t I~/W A:TERM.COM
c:
6 2k 1 R/W A~XSUB.COM
BytE'S r f.'S tan t E-~S em A: 280k
A} Rapars que os arquivo5 sio mostrados em ordem alfabet i ca. 0 que fac iii ta mu i to a procura de urn ar qu i vo em 8spa-
66
cifleo. Has em comp8nsa~io. 58 voce um dia possu!r um disco com multos arquivos gravados e uti lizar *.* como parimetro do programa STAT. fatalm8nte tera que aguardar varios s8gundos ati que 0 STAT.GOM 05 COlOqU8 em ordem alfab6tica antes de apr8senta-los no vrden.
A 8sta altura voce ja dev8 sstar 58 psrguntando como fazer para modlficar 0 atrlbuto de urn arquivo. Voc~ pode ~odifica-Io quando bern entander. com 0 auxflio do programa STAT.GOH. Quando urn arqulvo ou urn programa esta assinalado com RIO. poda apsnas ser lido. porim, nao pods sar modificado. 1550 • muito 6ti I em programas que nio dev8m 58r apagado5 do disco. au mesmo em arqulvas Importantes que nao podem ser "acldentalm8nte- modlflcados. Sa urn arqulvo ou um programa nio esta como RIO, ale 8sta como R/W. pOis 56 exlstem 85585 do I s as t adns .
Usando 0 programa STAT.GOM POdS-58 assinalar com R/W ou RIO cada arquivo ou programa. em ssparado au em grupos. atrlves do ponto de interroga~io (?) e do asteri5CO (*).
o s lmtrn l o de cifrao (Il i uti I ilado para indicar an STAT qU8 58 deseja modificar a situa~8o para RIO ou para R/W.
Voci pode proteger todos 05 programas em um disco com 0 segulnte camando.
A)stat *.com ~r/o
A tela deve flcar assim,
FIGURA 3.23 - Protegendo todos 05 progralas COlO STAT.COK •
STAT
Informa~iEs sobrE 0 disco V1.0
PIP.COM alteradc para RIO FORMAT.COM alterado para RIO DRINP.COM altErado para RIO STAT.COM alterado para RIO XSUB.COM alterado pa~a RIO SUB~.IT.COM a l t erad o pan'\. RIO FUNCOES.COM alteradc para R/O COPY.COM alterado para RIO DUMP.COM alterado para RIO COPDOS.COM alterado para R/O SYSGEN.COM alterado para RIO AUTOLD.COM alteFado para RIO BACKUP.COM altErado para RIO TERM.COM alterado para RIO DSKCNV.COM alterado para RIO BATCH.COM alterado para RIO DROUT.COM alterado para R/O A>
67
ObserVB no Bxemplo anterior que a programa STAT fol mostranda cada arqulvo e programa qUe estava sendo asslnalado como R/O. Observe tambam que nio e mals possfvel apagar COM 0 camanda ERA os arquivos e pragramas assinaladas como R/O.
Sa voce realmente desaiar apagar um arquivo ou programa R/O, ter' primairo que pass'-Io pars R/W (atraves do programs STAT) 8 50 d8Pois poder' apag'-Io.
FIGURA 3.24 - Proced i .ent 0 par a apagar u. a.r qui YO RIO •
A)stat arqi.txt $r/w
STAT
Informa~5es sobre 0 disco VL0
ARQi.TXT alterado para R/W A)
A>era ~\f·q:l .• txt A)
Alem dos Indicadores R/W e RIO. exlste um outro Indicador nos arquivos e programas para seleciona-Ios como arquivas de sistema (au pragramas do Sistema).
Urn arqulvo ou programa pode ser do sistema ou nio.
Se ele for do sistema, S8U nome nio aparecera quando for dado o comando DIR. embora ele esteja presente no disco.
Na v8rdade. este indlcador de sistema serla melhor chamado de indicador do comando DIR. pols sua unlca fun~io , inibir a atua~ao do comando DIR em alguns arqulvos.
As vazes. quando temos muitos arquivos e programas em um disco. e convenlente "escondermos· alguns deles do comando DIR para facilltar a leltura, a , por Isso que axlste a indlcador de sistema.
o programa STAT.COM e quam posic/onaesh indicador, de forma analoga ao Indicador RIO a R/W vista anterlormanta.
Sio usadas as pa'avras DIR e SYS logo apos 0 sfmbolo do cifrio (S) para indicar se aquele arqulvo au programa seri mostrado pelo comando OIR ou nio.
Como exemplo vamos passar 0 programa FORHAT.COM para programa de sistema. Observe a figura 3.25 . Ela ilustra a procedimento necessarlo para Isso.
Note que nesse exemplo, imedlatamente ap6s 0 programa FORMAT.COM ter sido assinalado como de sistema, seu nome nao aparecera mals no comando DIR.
Pode-se usar tambem a ponto de Interroga~io (?) e 0 8sterisco (w) para se asslnalar varios programas e arqulvos com apenas um comando.
Observe tambem que, quando uti I izamos STAT *.* , 05 arqulvos e programas que nio sio mostrados pelo comanda DIR estao com seus nomes entre parenteses ( ) indicando que sio arquivos de sistema (figura 3.26).
68
FIGURA 3.25 - FORMT • Cot! tOlD prograla de: s iste:n.
A>stat format.com $sys
STA,l
Informa~iEs sobrE 0 disco V1.0
FORMAT.COM altEFado para SYS A>
FIGURA 3.26 - Vendo os ilrqtJ i YOS de s i st.ela [01 0 STAT.COIt •
A>STAT *.*
V1.0
REgS BytES E:·:t Atr
4 2k 1 R/W A AUTOLD. CO.M
E) 2k 1 R/W ,A BACKUP.COM
4 2k 1. I~/W A BATCH.COM
95 i ~~k j_ R/W A COPDOS.COM
17 4k 1 R/W A COPY.COM
El 2k j. R/W A DRINP.COM
8 2k 1 R/W A DROUT.COM
a ;~k 1 R/W A DSKCNV.COM
5 2k 1. R/W A DUMP. COM
11 2k 1- R/W A (FORMAT.COM)
~) 2k 1. R/W A FUNCOES.COM
t..
~~9 8k 1 R/W A PIP.COM
40 6k 1. R/W A:STAT.COM
9 2k 1. R/W A:SUBMIT.COM
5 2k 1 R/W A:SYSGEN.COM
r) 2k 1- R/W A:TERM.COM
,-",.
6 2k 1. R/W A=XSUB.COM
Byt E'S .... e s t ant ES Em A: 2BBk
A> 69
Flque atento. pols todos 05 outros eomandos atuam sobre 05 arquivos e programss do sistema. Apenas 0 eomando OIR , que os Ignora. 5e voei eomandar ERA em urn arqulvo au programa de sistema. 8ste sar' apagado do diseo normalmente.
No HB-MCP. exlste a possibtlldade de se dlreclonar as perlf6rlcos de v'rlas rnaneiras dlsttntas.
Temos no HB-MCP qua t ro di spas i t i vas 16g i cos I
1- Gonso Ie
2- Entrada de sinal 3- Safda serial
4- Impressor.a
(CON: para entrada a sarda) (ENS! para entrada. apenas) (50S: para saf da. apenas) (LST. para sarda. apenas)
Todos os programas leltos para 0 HB-Mep podam envlar ou rBcebsr dados de um dessss 4 perif6ricos. Mas 0 seu HOTBIT 6 multo flexfvel. a poda tar mals perif6ricos do que as descritos anteriormente. Por exemplo, t nt er+aca RS-232, vfdeo de 88 cotunas, etc.
o programa STAT.COM 816m das funt;:6es ja Vistas. pode ser usado para associar a cada um desses perifericos logicos um perif6rlco Ifslco.
Assim que 0 HB-MCP 6 earregado para a memoria. e assumida a seguinta eonfigura"ijo:
Consola (CON) = teelada a vIdeo da 48 colunas
Impressara (LST) = impressora para/ela
$e voci possuir um cartucho de ae colunas ligado ao seu HOTBIT. ele sera automatieamente acionada no lugar do vfdeo de 48 cotunas.
Estas 3ssocia,,6es entre dispositlvos 16gie05 e disposltivos flsieos funcionam da seguinte maneira: quando um programa pede um dado atrav's do teclado. ele 0 faz atrav's do BOOS e do BIOS. Este dado pode ser fornecldo pelo teclado realmente ou par urn outro dispositivo acoplado ao HOTBIT. como par exempto a Interface RS-23e. Como resultado. 0 programa ·pensa- que est~ recebendo dados do teelado. quando na verdade 05 dados est~o sendo enviados par um outr~ dispositivo. Issa d' uma enarma flexibllidade aD equipamentG.
Veja a seguir 0 que pode sar associado a cada urn dos perif6rlcos 16glcos:
CONSOLE (CON: )
I teclado + vfdeo de 80 colunas (TVB:) teclado + vfdeo de 40 colunas (TV4,) . dispositivos logie05. entrada serial + impressora dispositivo impressora
{
{
entrada serial teclado
ENTRADA
SERIAL (ENS:)
SAfDA
SERIAL (SOS:)
saida serial
s aI da s ar i al com eco. mostrado no dispositivo console
no
79
{ vfdeo de 80 colunas (Tva:)
IMPRESSORA (LST:) vfdeo de 40 colunas tTV4:)
impressora paralela
safda serial
Com 0 programa STAT.GOM, podemos fazer as devidas assocla~6as indicando os dispositlvos loglcos a ffsicos.
Sa voc@ tivar um cartucho 88 colunas a quiser confisur ar a console (GON') para e l e , de 0 seguints ccmando ,
A)STAT CON:==TV8:
Com ele. todos as dados que seriam enviados ao video serao transferldos ao cartucho de 88 colunas.
Se voci desejar ter no video tudo que sairia na impressora, basta dlgltar.
A)STAT LST:=:VD4:
A)STAT LST:=VD8:
(para 48 colunas) (para 88 colunas)
ou
Para saber a configura~io atual, use 0 segulnte co-
mando.
A)ST<'\T DEV=
o vIdeo mostrar~ algo asslm.
FIGURA 3.27 - Configura~ao atual (01 0 STAT.COM •
STAT
Informa~iEs sobrE 0 disco V1.0
CON: e TV4:
ENS: e ESR:
SDS: e SSR:
LST: e IMP:
A) AI6m de todas estas fun~6es executadas pelo programa STAT.COM, ele ainda nos mostra algumas caracteristicas do equipamento em sf. mals especificamente sobre 0 drive.
Vocfi pode saber as caracterfsticas do drive usando 0 programa STAT.GOM da seguinte manelra.
A)STAT DSK:
Em resposta, ele Ihe dar' Informa~6es como as apresentadas na flgura 3.28 .
71
FIGURA 3.28 - Resultado do DSK: COlO STAT nUl drive de 3,5#.
STAT
InForma~~es sabre 0 disco VL0
A: Caracteristicas do disco 2768: Registros de 128 bytes 346: Capacidade Em kbytes
64: En t r a d <~ !:; n (J d i I'· C t d I'· i a
64: Entradas verificadas 256: Registros por Entrada
16: Registros por bloeo
36: Registros por trilha
3: Trilhas resEFvadas
A)
Este comando nos forneee alguns dados teenieos que fogam um poueo do objetiYo dessa livro, par 1550 nao vamos nos deter multo nossa fun~io do programa STAT. Alem do que uma boa anjlisa nos dados por ela apresentados J' eo bastanfe para se ter uma idela a respeito de sau usa.
Caso voci ss esque~a de tudo que 0 comando STAT.COM pode fazer. de 0 seguints eomando:
A> STAT VAL;:
o video apresentar' um resumo das op~oes de uso do
STAT.COM
FIGURA 3.29 - Resultado do STAT COlO paraletro VAL:
Informa~~es sobrE a disco Vi.0
Cades dos arquivos: d:arquivo.tipa $5 ($5 opcianal pi tamanha)
Disco temporariamentE RIO: d:=R/O Atributos: d:arquivo.t ipo ':bRIO ':bR/W $SYS ':IJDIR
Dados do disco: DSK: ou d:DSK:
Usuar i as: U5R ~
Disposit ivos ativos: DEV:
Mudan~a dE disP05itivos~
lcigico=fisico,lcigiea=fisica, •••
Dispositivos lcigicos E f{sieDs:
CON: - TVB: TV4: BAT: TSS:
ENS: = E5R: TCl: ES1: E52= 50S: = SSR: SSE: SS1: S52: lST: = VDB: VD4: IMP: lSR:
A)
72
Como voce ia percebeu. a programa STAT.COM' muito poderoso enos fornece vallosas Informa~o8s sobre 0 dlsco.per!f'ricos e arquivos. sendo sua presen~a qua5e que obrigat6- ria nos vario5 dlsquetes que voci venha a possulr no futuro.
PIP_COM
a programa PIP.COM (Programa para lntercambio entre Perif'ricos) existe para possibilitar a c6pis de arquivos de urn periferico para outro. Com 0 PIP.COM podemos enviar e receber dados de qualquer periferlco. mas seu uso mals comum e copiar arquivos de urn disco para outro apenas.
Quando comandamos PIP. esse programa e carregado para a memoria e indica atraves de urn asterlsco (.) que esta pronto para receber um comando.
PIP
Intercimbio de Perlf~ricos V1.0
*
Para 51 copiar um arquivo de urn disco para outro. devemos indicar primeiramente qual 0 nome do arquivo que recebera a copia e seu respectivo drive. depois devemos digitar o sinal de igual (=) e logo em seguida devemos indicar qual 0 nome do arquivo que sera copiado.
Sa quisermos copiar 0 proprio programa PIP.COM que drive A para 0 drive B. devemos dar 0 seguinte coman-
esta no do,
*b~pip.com~a~pip.com
Apes ter sido efetuada a copia. 0 programa PIP.COM mostra 0 asterisco novamente i espera de urn novo comando. Para terminar a eXBcu~ao do PIP. devemos teclar ~G_
~b~pip.com=a~pip.cam *AC
A}
Quando 0 arquivo que recebera a c6pia tiver 0 mesmo nome do arqulvo a ser copiado nem precisamos dar 0 nome do primelro arqulvo ; a PI~ assumira 0 nome do arquivo original.
Sendo assim, para copiarmos 0 programa PIP.GOM do drive A para 0 drive B, podemos dar 0 seguinte comando,
*b:=a=pip.com
Com este camando. 0 programa PIP.COM que estava no
73
drive A fol coplado com a masma nome para a drivi O.
Vocl js dava ter reparada que as exemplas .preslntldos at' aqul sobre 0 programa PIP.COM foram a de fazer c6plas de arquivos de urn disco para outro. Pode-s8 porim ser8m ,fltUldas c6pias de arqui10s para urn masmo disco atrav6s do programa PIP.COM. s6 que sera necessaria dar urn novo nome 10 arqulvo que recebera a c6pia ja que nio tern multo 5ln,lda coplar urn arqulvo para ele mesmo.
Vamos supor que temos no drive A urn arqulvo de nome AR01.TXT e queremos fazer urna c6pla deste arqulvo para a drive A mesmo. Neste casa devemos eseolhar um nome IProprlldo para a e6pll, camo par exempla ARQ1.COP. Depols podemos dar a segulnte comando I
*a:arq1.cop=a:arq1.txt *AC
A)
ObserVe que agora temos duas veles a mesmo arqulvo no drive A. 56 que com names dlferentas.
Sa voce possui apenas urn drive. nio eonslguir6 atraves do programa PIP.COM efetuar e6pias de arqulvos de urn disco para outro.
o programa PIP.COM nio fol estruturado para permltlr troca de disco durante a processo da c6pia. e para SB eonsegulr coplar arquivos de urn dlseo a outro passulndo apena! urn driVB. dave-se utll IZar a programa COPY.COM qua fol desenvalvida justamente para issa.
o programa PIP.COM acalta tambam a ponto de interroga~io (7) a a asteriseo (.) para copiar mals de urn arqulva com apenas um 56 camaRda. Quando au a ponto de iRterroga~io au a asterisco sio uti Ilzados, 0 PIP vai mostrando quais arquivos estio sendo coplados.
Para tirar uma c6pia de todos os programas que estivlrem no disco HB-MCP_ devlmos dar a 51gulnte comandol
A madlda qua as arqulvos via sando coplados, 0 PIP val mostrando s8us respactlvos names.
Copiando •..
PIP.COM
74
Pudemos d~r Q Clm~R~O p~ra g PIP ~ogo ~P65 seu nnrn~.
Quando faZ8m~1 ~~~~. 0 PIP f~z a t6pl~ i fetarni p~ri G s~stema operac!o~al sern a n6cessldade de tecWalmo5 -G~
A)PIP B:~A:P1P~~OM At)
Quando cfiplamo5 urn Irqulvo tom 0 programa PIP.&OM. iste cum~~a a Fazor ~ c6p!a em um ar,ul~o tempgr~r~@ ~e trab~l~o que ~ossul i exten5~1 .$$$ no ~ome.
Vamos iU~Dr qu~ temos no ~rive B urn arquj~o cham~~D ARQ1 ~ que temos no dr~~' A OQtlO arqulv~ chamado ARQ~ tamb~m 56 qu~ uma ver~~ m~is at~al.
5e u,~rn~s @ p'fig~ima PIP,GOM p~ra eopiar 0 arqU~~D ARQ1 do dr~ye A para 0 drive B com ~ ~roprbslto d~ atualiz~ei~. ocorrer~ ~ ~eg~~nte :
~ SeFi f~ita am~ cipla do ~rqulv~ lRQ1 do dr~~~ A p~r~ ~ ar~rgui~o A~Q1.t$$ ng drive B.
~ Ap6s a c6pla ter 'Ida efe'ua~a sem prijbWHmas. 0 PIP apa!ar~ do drive B I ,rQuivo ARQl case e5t~ 8xista.
t SerA mudi~O 0 ~om' do arqulvn ARQ~.$$$ ,tri ARQ1.
Com 8ste mitada, voce ~~o corre ~ rlseQ d~ Plrd~r algum ar'~i~o d~r~n'e 0 proce5so du c'pia mismo qUi acabo a for~a au Qcorra 8lg~m ,roblem~ no dri~e ou no ~i5~g. 0 arquiv, ~IO~ antjq, qU~ estava 00 drive 0 Derrnanete I~ 8t~ ~ue a c'~~a-tenha sido tfit~lment, Bfatuad~ sabre D ~r~ul~o t~mporArl~ de trab~l~o. So~ente ~p6s iSSG ~ ,ue t apagado 0 a.qu'vo AIRCl ,00'n t I ,g 0 •
~e ~ura~'e 0 ,rocIsso de c6~ia houver um~ q~~da di I~l. fl~ar~ no d~~co algum arqu'~G CDm $$1 em ~ua e~t~n~io. 'JeHle ~'Ddfllrra ap,elfHI~111iI IPlilr!i'hli IOlUi81nh (com iii' com~ndQ fRA) LOlli I '5 todos os ar~ulvos que tenham ~~ta eKtens511 ne nom6 sio ~onslderadBs ~rqU~Y05 de tr~balho. ni~ cootefido portBrndo 'nfo~ma'e,iilll c'lInf II h,. s ,
o pr~~ram~ PIP tem um1 s~'I~ de ap;a~5 que podem a'atar 0 ar~uivo d~rant' 0 processo de c6pia. Das v'rlas op~ae5 e~istentes vamos mostrar ~s rnals U5a~8~.
Esta~ ~p~6~~ sio Info~mada~ ~o fi~aW do com~~~o I ~8¥em astir entre colcbetes.
A op~~m V f~2 ~om Que 0 PIP f~¢a uma verjf,c~eio da c6pla. Qllnda a utilizamlls. 0 programa PIP.~OM tal uma verlf~ei~io I'nd~ aqU~WD que toj gravida CQ~tra D 8rqU~VO orig~nal. C~so haja al9wm~ ~~sctepaRtia (0 ,u~ pr~ti~amente nUR~a Icent~ce) Q ,ro,rama PIP ,mite um~ me~sa9Bm ~I erro e iba~~on,ll, a, cop i a •.
A c6pia fica um pauel mals d6m~ra~~. mas cem ~ertela '11'181 Ii s, con'f i he II.
A)PIP
'Ii; 0 :: ""PI: PIP. c: 0 M I[ V 1 ·)~' ... C
A)
75
A op~io a diz aD PIP que 0 arquivo Mio ~ do tipo Texto. fazendo com que 0 PIP copie todo 0 arquivo masmo encontrando 0 caracter &H1A que Indica seu tim. Quando 0 arqulvo a s~r coplado tem a extensio .GOM. 0 piP sabe que 6 um programa e que provavelmente encontrar' &H1A no maio dala. ativando a op~io a automatlcamente. De qualquer torma. ~ sempre bom colocar estas duas op~5es. a V e a O.para garantir uma c6pia bam feita.
Para evitar alguns dissabores com a tempo. , muito aconsalhivel utilizar estas op~5es sempre que utilizar 0 PIP.
A sequ@ncla em que sio dadas as ~p~ijes n~o importa.
Podamos Indicar OV como tambem va que a atelto eo mesmo ..
Alguns arquivos podem possuir caracter(sticas especiais. como vimos no programa STAT.GOM . Estas caracter(stlcas s§o as arquivos de sistema (SYS) e os arquivos protegldos contra artera~aes (RIO).
o programa PIP possui a op~io R. que taz com que ~esmo as arquivos de sistema sejam copildos. Sa n~o for dada a oP~ia R . serio coplados apanas as arquivas tipo DIR. e 5e for dada a ap~io R . serio copiados todos as arquivas_
Se voce utll izar e5ta ap~io s~mpre. poder' flcar sassegado quando for tirar uma c6Pla de todos as arqulvos da urn disco. pais com certeza serio copiados todos as arquivos mesmo. e nio apanas aquales que vamos com 0 comando DIR.
A>PIP B:=A:COPY.COM[OVRJ
Uma outra op~io mu I to ut I I I z ada e a opt;io W. Quando no disco que for gravado a arqulvo destlno i6 existir um arquivo com mesmo nome. 0 PIP apaga este arquivo para poder mo~ ~ificar 0 nome do arquivo tempor~rjo de trabalho.
Se esta arquivo for RIO. a PIP envia uma mensagem perguntando se pode au n~o apagar 0 arquivo RIO antigo para poder.entao. finallzar a processo de copia. Essa opt;ao (W) diz ao PIP para nio emitir eS5a mensagem. apagando diretamaMte 0 arquivo destino (se houver) masmo sendo RIO.
A)PIP B:=A:PIP.COM[OVRWJ
As op~5es at~ aqul descritas servem para a capla tanto de arquivos como de pragramas. As demals opt;5es que veremos agora deverao ser usadas apenas para arquivos de textos e nunca para programas. Se voce as uti I tZar em programas este serio copiados ~om algumas altara~aes e fatalmente deixario de func lanar.
A op~ao F faz com que 0 PIP naa copie os caracteres &H0G. que para a HB-MGP signiflca ·avan~ar uma folhaM• Sa
76
voci possulr um arqulVD de taxtos qua cont~m asta caractera; aD listar esta arquivo (pelo TYPE, por 8xemplo), voce notar6 que em alguns pontos havers um salta da folha devido a existencia dess8 caractere. Se voce quiser retirar 8sse caraetere copie esse arquivo atrav~s do PIP e coloque a op~io F~ 0 arquivo coplado sera igual ao arquivo original, por'm sem saltos de folha (sem os caractares &H8C).
A op~io Pn faz com que 0 PIP insira 0 caractere &H8C ap65 n Ii nhas Impr e s s as .
Essa op~ao 81i5te para podermos I i5tar um arquivo na impressora sem nos preocupar com 0 picote do papel. 58, por exemplo, espeeificarmos PSI como op~ao, a cada 6e I inhas impressas 0 PIP envia urn caractere &H8C a impre5sora para e5ta avancar uma pagina.
Esta op~io junto com a op~io F forma uma boa dupla
quando queremos imprimir um taxto. .
Qualquer caractere &H8C que ji venha no arquivo sera e I j mi n a do p 8 I a 0 p ro i 0 F a a cad a n lin has i mp res 5 a 5 OP r 6 p rio PIP sa anearregara de enviar 0 caraeter &H0G a impt8ssora.
Geralmente utilizamos 68 na op~ao P. mas pode ser utllizados outros numeras como 58 por exemplo.
A}PIP LST:=A:TEXTO[FP60J
LST, repra5enta a impressora no HB-MCP.
A op~ao N faz 0 PIP oumarar as linhas. Quando usamos a op~io N. 0 PIP envia primeiro 0 numero da I inha e depois a linha em sf. e asta numeraroao pos5ui e5pa~0 para 6 dlgitos. saguidos por .: •.
A op~io N2 tern 0 mesmo sfelto que a op~ao N. s6 qua os .:" nao aparecem.
Veja uma compara~io do texto original presente no arquivo a 0 que sera impresso com as op~5es N e N2 .
Texto original Agora um computador quebrou
na mesa
do diretor
e pode ocasionar
um desastre para 0 departamento
Usando N
1: Agora um 2: computador 3, quebrou
4, na mesa
5: do diretor 6: e p n d a
7: ocasionar
8 : um des a s t r e g, para 0
10, depar tamento
Usando N2
1 Agora UI1l
2 computador 3 quabrou
4 na mesa
5 do diretor 6 e pode
7 ocasionar 8 um desastre 9 para 0
10 departamento
A op~ao Tn faz com que 0 PIP substltua 0 caractere TAB (&H09) por tantos brancos quanto oeees5'rl05 para que 0 pr6ximo caractere a sar copiado caia na coluna m61tipla de n.
Esta oproao existe porque certos perif~rieos nao interpretam 0 caractar TAB.
Se 0 texto a sar copiado pJ5suir ests caraeters, 0
77
perif'ricQ que for receber a copls nao a Interpretar. voci flcara obrlgado a utllizar esta op~io. Ou entia quando vocl qulser uma listagem em que as tabula~oes nio sejam de alto em oito colunas como' 0 normal. poder' uti I Izar est a op~io indicando de quanta em quanta sa dasaja a tabula~io.
A)PIP LST:=B:TEXTO[FP60Ti0N2J
A op~io Z faz com que a bit 7 de cada byte copiado saja zarado.
Todos as caractaras da tabela ASCII cont'm a s'timo bit da cada byte zerado. parmitindo assim apanas 128 caracteres. Alguns aditores de texto (como 0 Wordstar par exemplo) aproveitam entia esse s'timo bit como bit da controle. fazendo com que apara~am caracteres fora da tabela ASCII (caracteras acentuados. figuras etc.). Fazendo uma copia dessa arqulva com a op~io Z. a arquivo volta a tar apenas caracteres ASGII.
A Op~iD U faz 0 PIP transformar tadas as latras minusculas am letras malusculas duranta a copia. e a oP~io l faz justamente 0 contr'rlo.
Gam astas duas op~6es pode-sa Irnprlmlr urn taxto apenas com letras maiusculas masmo que este texto tenha sido digltado com letras minusculas a vice-versa.
o PIP pode coplar apenas parte do arqulvo original. podendo sar especlficado 0 inlcio e 0 fim do texto a sar copiado.
A op~aD S indica 0 texta a partir de onde 0 PIP come~ara a copla a a op~io Q Indica a texto final at' onde 0 PIP fara a copia. Apos 0 texto indicador de inlcio au fim do bloco, dave-se teclar ~Z.
Com 8ste comando sara I istado todo 0 taxto compre8ndido entre a primaira ocorrincia da palavra ASSIM ate a primelra ocorrencia da palavra ENTAO aPas 0 inlcio da impressio. Caso nio seja ancontrados aste delimitadoras (ASSIM e ENTAO nasta exemplo) 0 programa PIP envia uma mensagam de arro.
Podamos tambem var a que 0 PIP esta coplando colocando a op~io E.
A>PIP A:=B:TEXTOEEJ
Finalmente podamos tamb~m juntar v'rlos arquivos alrav's do PIP. Basta s8pari-los por vfrgula.
A)PIP A:TODOS=B:ARG1,B:ARQ2CVOJ
Como voce pod8 var. 0 programa PIP.COM tem muitos recursos para sa coplar arqulvos e programas de um disco para Dutro dasde qua 58 tenha dols drives.
78
AI'm das op~oes aqul apr8sentadas 0 PIP cont'_ alndl outras op~oes que servem apenas quando proSramamos em Assembly, surglndo asslm alguns arqulvos com formato especial e que 0 PIP os reconhacem, mas que sio 0 tanto compllcados para mostrarmos aqul, mesmo porque todas as op~oes apresentadls sio mats do qua suflclentes para coplarmos bem os nOS50S arqulvos.
Se voel possul dais drives, , umB boa hora para tlrar pelo menos uma e6pla dos programas que vieram com 0 disco HB-HCP para um outro disco apenas como precau~io.
Outra boa sugestio e a de tar os programas PIP.COM a STAT.COM em todos 05 os disquetas qua faram usados com 0 sistema operacional HB-HCP.
Voce dominara os programas PIP e STAT somente com algum uso e experiencias.
Com urn disco contendo e abuse deles, vendo como atua com outras etc. somente asslm cro I utllizando IIII
uma c6pia dastas programas use cada op~io em separado, junto vocl raalmente dominar' 0 mi-
COPY.COM
5e vocl tam apenas urn drive, ;a sabe que com 0 programa PIP nio 'possfvel copiar arquivos de um disco p.r. outro. 0 programa COPY.COM foi elaborado justamenta por causa disso. Ele consague coplar arqulv05 de um disco para outro mesmo tendo apenas urn drive. Para executa-Io basta dlgltlr 0 segulnte comando.
A> COP Y nome do arqu i vo
o nome do arquivo , opcional 8, se nio for espacificado, 0 vfdao flcara assim,
FIGURA 3.38 - Vadas forntcidos I'tlo coundo COPY.
COPY
Copia al'"ql.livos V1.0
Capia tados (SIN) ?
Se a resposta for "N- , 0 COpy sera cancalado e 0 A) voltar' ao v(deo. Sa voce responder w5M • entia todos as afqulvos sarao copiados {flgura 3.311.
Nesse ponto. coloque 0 disco a ser coplado 8 tacle RETURN. 0 programa COPY ira ler tantos arquivos quanto5 couberem na mem6ria do micro. Quando ela astivar repleta, ele pedlra que 58 introduza no drive 0 disco qua recebera a c6pla para poder entio gravar nele os arqulvos lidos (figura 3.32).
Quando 0 nome do arquivo , 8speclflcado. 0 COpy peda que saja Inserldo 0 dlsquet8 origem e que 58 presslone a taRETURN. A partir dar a c6pla do arquivo sara executada.
79
FIGIll'A3.31 - Cop i indo todos as irqll i '105 co. o Copy •
COPY
Copia al'"quivos V1.0
Copia todos (SIN) ? S
Coloque disquete ol'"igeru £ Teele (RETURN)
FIGURA 3.32 - SoJiciti~ao de troca de disco pela COPY.
Lendo al'"qlJivo:
Lendo al'"qlJivo:
Lendo al'"quivo:
Lendo al'"quivo:
Le n d o ar qu i yo:
Lendo al'"quivo:
AUTOLD BACKUP TERM DSKCNV BATCH DROUT
.COM .COM .COM .COM .COM .COM
eoloque disquete destino e Te c l e (RETURN)
5a durante 0 processo de c6pil de .Igum .rquivo. este i' a.lstir no disco destlno. entio 0 progrlma COpy pergunt,r' sa deve 811mlnar au nia a Irqulvo ,ntlgo.
FIGURA 3.33 - Arqllivos existentes no disco de destino.
Coloque disquete dest ino E TEele (RETURN)
Gl'"avando arquivo: PIP .COM
Arquivo existe. Eliruina (SIN) ?
58 ,p6s ter gravldo todos 06 didos lidos ainda rast.rem mals .rquivos I copllr. 0 programa COpy padlr' que sail Inserldo nOVlmante 0 disco da orlglm Plr. continuar 0 proC8S- 50 de c6p I a. Asslm ocor r e .U que te nh,lm 5 i do .cop i ados todos os .rquivos. 5e I sua respost. I pri.eir. pergunta felta pelo COPY for -N-. s.rio copi.dos ,plnas 05 .rqulvos que vocl '5-
Plclflclr. ,
Caso voel possua dais drives. vlrA Q~a '.als f6cll utilillr 0 programa PIP.COM porqu8 nio "ecasslll trocar dlsqueles. mas com apenas um drive a COPY.COM te,' que ser uti'izado I nada .alhor do que 0 usa constant. p.ra domlnar tot".8nte sua maneir. da utillza~io. Apenas tom8 muito cuidado com 0 troca-troca de disco para nio danlflcar 0 disco I sar copi.do III
Sa 0 drive E: estiver configurado. 0 COpy apresentar~ algumas op~aes para que voc@ ascolha a drive origem a a drive destlno. posslbl Iitando 0 usa do COPY com dais drlvesl
a.
OSKCNV.COH
Ja sabemos que cada fabricante usa uma formata~io de discos que Ihe ~ mals conveniente, acarretando uma certa incompatibil idade de disquetes entre seus micros. Atento a isso, 0 seu HOTBIT com 0 HB-MGP vern com um utilitario chamado OSKGNV.COM que prepara 0 drive E, de acordo com a formata~ao que voce esco I her. 0 uso do dr i ve E:~ apenas 16g i co, po is 0 drive realmenta usado ~ 0 A, (quando voci tern apenas um drive) ou 0 B: (quando voce tern dois drives).
Assim, se voce ja passu!r disquetes gravados em outros micros (tTAUTEC 1-7e8e. PROlOGICA 5-78') poders uti I izalos sam preocupa~oes. Pa,a tanto, use 0 seguinte comando:
A>D5KCNV
E entio sera mostrada a segu i nte fa t a.
DSKCNV
Converte Dt"ivE' Logic:o
V1.0
(A) II::" 'Ie:" FS HB8000
J.c.....J
(8 ) 5.25 FD HB8000
(C) 3.50 FS HB8000
(0 ) 3.50 FD HB8000
(E) e 'I E.- FS 5700
J.,-J
(F) I::'" ..,0=- FO 5700
J • ~_...J
(G) 0:;- ..,.,. FS 17000
J.,"~
(H) t ""')C'" FO I7000
,J.I:..~
( I ) C" "'lC" FD MZ3500
J.,c..,._j
(j) C" 'II::'" FD SVI707
J.,,-...J
(Z) Nao Confi91.1t'"c\
Escolha Opc;ao= Escolha entio a op~ao adequada conforme 0 menu apresentado. Feito 1550. ao acessar 0 drive E •. voce vera que 0 drive A, ou B, e que realmente sera acassado, mas Internamente, os dados serao lidos na formata~ao Indlcada.
No -menu· apresentado, os numeros 5.25 • 3.5 represantam. r85pectlvamante. drives par. as discos de 5 1/4" • 3 1/2-; F5 51901flc. face simples I FO face dupla.
Os names que aparecem logo IP6s raferem-sa .0 tipo de .quipamento I H88ee, para 0 HOT8IT. CP7,e para PROLOGIGA. 17." para ItAUTEC, etc.
t conveniente topiar os programas •• rquivos que va-
t. possulr em discos gravados por Qutros .Icros para a seu
81
HOTBIT copiando os arquivos do drive EI para 0 drive A, com o programa PIP.GOM ou COPY.GOM (se voci tern apenas um drive), e evitando assim aquele ~carnaval" de formata~ijes dlferentes em seus discos. Note que, uma viz configurado pelo OSKCNV, 0 drive E, poda sar usado palo COPY.COM .
AUTOLD.COH
Com 0 tempo voci vers que' multo prstico separar 05 disQuetes em grupos de acordo com os programas Que voce tern. Urn grupo de disQuetes s6 para j090s, outro s6 para processamento de textos e assim por diante. masma qua Isso cause um aparente desperdfcio de disco. Fazendo essa separa~io, quando ",oee for utilizar 0 micro com uma certa flnalldade Ira pegar as discos correspondentes de forma organizada. sem tar que ficar procuranda um programa au arquivo em todos as discos que voce passu i r ! I ,
Os produtores de software i6 praparam 05 discos dessa maneira, de modo que an utilizar urn sistema de contabilidade, par exemplo, voce use sempre 0 mesma disco e diglte sempre 0 mesma comando.
Sendo assim, serla muito c6modo se 0 computador ftadivinhasse- qual 0 disco que Bstamos inserindo no drive e ji desse a comando adequado automaticamente. 0 HOTBIT faz quase i sso.
o programa AUTOlD.COM permite que seja executado urn comando assim que e carregado 0 HB-MCP. antes masmo de ser visual izado 0 "A)",
Para usa-Io, digite 0 comando desejado logo ap6s 0 seu nome, par 8x8mplo:
A}AUTOLO DrR
Voce obters a segulnte tela:
AUT OLD
AutO-EXECU~io de comando ~1.0
Comand,,: orR
Pode g~ava~ no disco (SIN) ?
Respondendo ·s-, tada V8l que S8 dar um RESET com 8ste disco no drive A e se antrar no HB-MCP,ser6 8xecutado urn comando OIR antes de aparecer 0 -A)-.
82
FIGURA 3.34 - orR Pfoduzido pelo AUTOlD.
H8 --MCP r EPCO~l ] Vi.0
I~ : PIP COM FORMAT COM
A: DRINP COM STAT COM
A= XSUB COM SUBMIT COI'1
A: FUNCOES COM COPY COM
A= DUMP COM COP DOS COM
A: SYSGEN COt1 : AUTOLD COM
A: B ACI( UP COM : TERM COM
A: DSKCNV, COM BATCH COM
A: Dr~ our COM
A) Se voc~ responder NnN ~ pergunta felta pelo programa AUTOlD.COM ele nada faz, sendo mostrado ent~o 0 "A)-.
FIGURA 3.35 - OP~~D HnH COl 0 AUTOlD.
AurOLD
Aulo-EXECU~~O dE comando Vi.0
Coman d o s [)II~
POdE gravar no disco (S/N) ~ n AUTOL:D c a n c e l a d o
A)
Sa VDC~ quiser desfazer essa execu~io automitica de um certo comando, basta executar 0 programa AUTOlO.COM sam nenhum par~matro e responder ·SM ~ pergunta,
f~) r~l.JTOL[)
Sera apresentada a seguinte tela:
FIGURA 3.36 - Desativando a execu~aD autolatica do AUTOLD
AUTOLD N
Auto-EXEcu,ao dE comando Vi.0
Comando=
POelE gravar no disco (S/N) ? s A)
93
Pade-se usar qualquer camanda com a programa AUTOLD. como por exampla, OIR. SUBMIT. noma de pragrama. atc.
Com 8sse recurso. toda vez que for colocado urn carta disco no drive A e for dado RESET no micro. pode-se fazer com que um carta programa is entre em execu~ao automaticamente. faci I itando muito 0 trabalho com 0 computador.
DUMPMCOM
o programa DUMP.GOM serve para visualizarmos no formate hexadecimal todos os dados gravados em um arquivo e. se possfvel. seus caractares eorrespondentes (am MSX-BR).
Gom es~e programa. e possfvel vermos todos as dados gravados num arquivo. incluindo as caracteres acentuados. flguras, etc, s6 que no formato hexadecimal, de uma forma mais comoda que aquela apresentada palo camanda TYPE.
a nome do arquivo a sar I istado deve sar fornecida logo ap6s 0 comando DUMP,
A >DUMP DUt1P. COM
Sendo entao mostrada a ~eguinte tela:
FIGURA 3.37 - Tela do (omando DUMP.
DUMP Vl.0 [Arquivo - DUMP
0000=18 0D 0008: 30 :~0 0010:73 FB 001.8: U. 6D 0020:13 :!.A 0028:FE 44 0030: F~:) 02 00:~8: 0B 3A 0040~3E 07 0048:02 1.1. 0050=87 ~!3 00~)8: 3E 3A 0060=80 3E 00118:ED B0 0070: CD U:2 0078: cv 0;2! 0080=ED 71:1 008F.l: 02 ~~2 0090=F6 02 009B:3B 19
58 36 0~~ 00 FE ;.~0 3A 03 28 B ~:j
28 1;2! ;2!E ~}E 02 CD FB F6 3C :~E
~:;6 45 31 lA 49 06 r:5 00 02 02 0El j. :~ 12 so FE
I::"r.:~) "')
02 0;.! 32 01
2E
E:' E:" d...J
03 24 01 0;! eEl 03 0F ~)C 40 08 01 CD 20 CD AF 00 0~.! F6
30 5D 0[ 20 2B 79 47 FE :-J~~ 00 12 00 03 49 0E t ~) ::l ;;~ 00 FE (~2
2F ED 00 12 06 3~;! 20 0j. FA 7E i s ED 00 0~?' 1.i 0~~ F7 3A 1. s :3A
.COM] .[Via0! 00~)EDUJ sb. 1.1< •••
.Ill. q;.
.. L (
o ... hI;;'~
•• • G
: • Q: •
).( >.2I.J
"."!\.~
un(. (~ ••
> : . . . . .
a>. .
s s r , I.
. u. ..
(b. .. 2:::
.2/.! .. : !.<;;U •• 8.>.2/.:
Se voce quiser cancelar a execu~ao do programa. basta teclar ·C em resposta A frase -Aperte uma tecla-.
Os numeros que aparecem a esquerda das dois pontos ( :) servem apenas para nos basearmos onde os dados Bstio posicionados no arquivo am rela~ao ao seu infcio.
05 pares de numeros que aparecem ap6s os dols pontos
84
representam, em hexadecimal, 0 valor do byte que esta gravado no arquivo e, mais a direita, asia a r8PreSenta~ao em ASCI I (se possfvel) desses dados.
Os c6digos de controle (de 0 a &H1Fl sao mostrados como um ponto (.) .
Com esse u t i l t t ar I o . fica Ucil irnas i n ar 0 que um certo programa faz simplssmente "vendo- as mensagens que ele possui internamente. Tambem e de extrema uti I idade quando estamos testando algum programa qualquer que grava dados em arquivo para anal isarmos 05 dados que este programa gravou.
DROUT e DRINP
No padrao ASCI I existem 128 caracteres, cada um com um c6digo numerico entre 0 e &H7F. Como e posslvel gerar 256 c6digos diferentes com apenas 1 byte, restam outros 128 c6diso s que nao e s t an na t ab s l a ASCII. 0 HOTBIT usa esses c6digos para caracteres ac ant uadns . cedi l h as . f l su r as . etc.
Aqui no Brasi I existem ao menos dois outros padroes, o ABNT e 0 ABICOMP, que englobam inclusive alguns caracteres de c6digos maiores que &H7F mas que nao equivalem aos c6digos do padrao MSX. 05 programas DROUT.COM e DRINP.COM servem como ·compatibil izadores~ entre os caracteres que entram no micro e as que saem do micro, de acordo com 0 padrao escolhido.
A letra -a- no seu HOTBIT tem c6digo &HA0. Essa mesma letra tem 0 c6digo &HC2 no padrao ABICOMP.
Com 0 uti I i t ar t o OROUT.COM, e po s s I ve l teclarmos "a" no HOTSIT e ser impresso -a- em uma imprsssora que aceite a ABICOMP. 0 mesmo vale para 0 programa ORINP.COM quando seu HOTBIT estiver acoplado a uma interface RS~232C.
Para reconfigurarmos oscaracteres que saem do HOTBIT usamos 0 segurnte comando:
A > DI~ OUT
Com isso obtemos a tela da figura 3.8 .
FIGURA 3.38 - TrJa gFrada por DROUT .
[)r~OUT
Converte caracteY'es na sa{da V:I. • ~)
(A) Espa~os para cddigos a c i m a d e 7Fh
(D) Padrio AONT <"default" d o HO .... MCP)
Padr~o HOT-BASIC V1.2
eC) Padr50 HOT-BASIC Vi.j. (0) Padrio MSX QU Rela~5o direta de codigos
(Z) Nau al t e ra
85
Escolhe-se entio a op~io mals adequada.
Para reconflgurarmos os caracteres para a entrada. usamos 0 programa ORINP.COM com 0 segulnte comando.
A)ORINP
Aparece. entio. a seguinh tala.
FIGURA 3.39 - Tela do DRINP
DRINP
Canverte caracteFes na entrada VL0
CA) Espa,as para ccidigos ac i m a d~? 7Ftl
(8) PadrSa ABNT (HdefaultH do HB-MCP)
Padr~o HOT-BASIC Vi.2
(C) Padr~a HOT-BASIC Vi.l
(D) Padr~o MSX au Rela,io djreta de ccidigos
(Z) Nao a l t e r a
OpG:ao:
Escolhe-se entio a op~io mais aproprlada.
Apos ter execulado esles dois programas voce podera. por exemplo. listar qualquer programa ou arquivo que contenha latras acentuadas qua elas serio impress8s normalmenta caso a sua impressora perten~a a um dos padroes mostrados nos examplos anteriores.
FUNCOES
Voce tem no HOTBIT 11 teclas de fun~aes marcadas de F1 a Fa.
Nessas teclas podemos armazenar os comandos mais uti I l z adns , s i mp l ificando muito 0 trabalho de dlgita~io. Sa urna certa sequencia de caracteras 'multo utllizada. pode-sa programar a tecla Ft. por examplo. para que toda vez que ela for pressionada. produza um etello equivalents ao que obterfamos S8 digitassemos a sequencia de caracteres.
Quando 0 HOTBIT e I'gada e a HB-MGP e carregado. as teclas Ft a F1e ja vem pr6-programadas com 05 comandos mals usados. Mas nem sempre estes cornandos sio raalmente os mals usados por vocil I
o programa FUNGOES mostra como reprogramar as taclas de F1 a F1I. a tambem a atual configurado dassas teclas.
86
Dlglh enti.o I
A>FUNCOES
E dever' aparater a segulnta tela I
FIGURA 3.41 - Tela docoundo FUHCOES •
FUNCOES
Teclas de Fun~ies Vi,0
(CODE> + (~un~io) Programa Fun~iD (ESC) Encerra / M~ximo i5 Caracteres
Fi.:::: FUNCoES"M F2::;: DIR "M
F3= STAT *.* "M F4= E.RA
F5:::: PIP
F 6:::: TER M "M F7"' DrR B: "M
F8= STAT B: •• * "M F9:::: DRINP "M
F0"" DROUT "M
A>
Para reprogramar as teelas Fl a Fl., deve-se proceder da seguinte maneira. Mantando a tecla <CODE) apartada. pressiona-se a tecla da lun~io a ser raprogramada. 5e for presslonada <CODE) + Fl para 58 roprogramar a teela Fl por exemplo, VOCI verA osaguinta.
A>1=
Est. flgura quer dlzer que sar' raprogramade a tecla Fl. Olglte entia todo a taxto desejado. taclando por 61tlmo I t e e I a (ESC). Po r ax emp I 0 ,
FIGURA 3.41 - ExelP 10 de reprogrillil~iio COlO cOlilndo FllHCOES.
DIR <RETURN)
A)i=DIR <RETURN> (ESC> A)
Ap6s ter sido digitado tudo isso, comando OIR 58- r' exeeutado a simples digjta~io da teela F1. pais foi assoeiada ~ ela 0 comando DIR 8 a £aractere &HeO (-M ::: RETURN).
o texto para cada tecla de fun~io pode tar no m'xJ~~ 15 caracteres.
87
51 uma tecla de fun~io jA tim 0 <RETURN> (como no exemple anterior). ala ser' mostrado como AM palo utilitirio FUNCOES.
Esta nova configura~io 56 permanaca atlva enquanto a HOTBIT continuar Ilgado. Sa for dado RESET ou a micro for desllgado. as teclas de fun~io v~ltario a receber os comandos originals.
SUBMIT.COM
o ut III Hir 10 SUBMI T. COM parmi fa que sej am executados urna s6rle de comandos do HB-MCP a partir de urn arqulvo. aD Invis do teclado.
Se tlvermes uma siria de camandes que digitamos toda vez que formes radar urn programa. , convenientl gravarmos 15- tes comandes em urn arqulvo para depols serem processados.
Vamos super um programa chamado PROG1.COM qUI n8C8Ssite dos seguintes comandos para sersm 8xecutados:
FIGURA 3.42 - ExelPlo de cOlandos de 1.150 conjunto.
A}PIP B:ARG1.BAK=A:ARG1[OV] A)PROGl
A)ERA ARGl
A)REN ARG1=ARG2
A)
Sarla multo trabalho dlgitarmos todos asses comandes um de cada vez sempre que 05 necessitAssemos. Podemos entia criar um arquivo com todos elas I sempre qua quisermos rodar o programa PROG1.COM faramos com qua 0 HB-MCP passa a acalfar fals comandos dests arqulva ao inv'z do tacledo. Vamos chamar aste arquiva de PROCESS.SUB. 0 nome desse arqulvo pode mudar mas a axtansio .SUB , obrlgat6rla. indlcando que ala contem comandos raconhlcidos palo HB-MCP. Ele ficarla assim.
FIGURA 3.43 - Arquivo para usa do HB-KCP.
PIP B:ARG1.BAK=A:ARG1(OV) PROCH
ERA A:ARGl
REN A:ARGi=A:ARG2
Podemos criar este arquivo com 0 pr6prlo PIP.GOM • A)PIP A~PROCESS.SU8~CON:
PIP B:ARGi.BAK=A~ARQ1(OV) PIH)(H
EI~A A:r·~I~Qi
REN A:ARGl=A:ARG2 ~·Z
'l'·" C
A>
88
Quando quisermos executar 0 programa PROG1.COM. bastara dar 0 segulnte camanda.
A >SUBtlIT PROCESS
o Programa SUBMIT.COM cria urn arqulva especial chamado " •. SUB que cont'm os mesmos comandos do PROCESS.SUB. mas de urns maneira toda especial que faz 0 HB-MCP scaitar 05 camandas desse arquivo em vez de recabi-Ios do teclado.
Esse tlpo de processamento ~ conhecldo como processamento em late. au tipo BATCH.
Ao utllizar a programa SUBMIT.COM, voce ira reparar que 0 HB-MCP acessars 0 disco. recebers urn camanda a passara a executa-Io. Este camando pode S8r qualqU8r urn que voce darla normalrn8nts pelo tsclado.
Ap6s teram sidos eXBcutados todos os comandos. a arquivo original PROCESS.SUB continua gravado no disco. a ssmpre que voci precisar poders chamar a programs SUBMIT.COM novamente .
5e voc8 quiser intarromper 8ssa execu~io automstica de comandos. basta prassionar qualquer tecla.
Voci poda usar um processamento em late todas as vazes que precisar dar sempre as mesmos comandos quando for executar algum programa. Basta criar urn arqulvo contando os comandos n8 mesma ordem e com a mesma slntaxa que 5eriam usados palo teclado e executar 0 programa SUBMIT.COM dsndo como parametro 0 nome do arqulvo que contem tals comandos.
XSUB_COH
Ap6s algumas BXpariincias com 0 programa SUBHIT.COM voce ira reparar qua s6 quando digltarrnos urn comando para 0 GCP a HB-MCP acessl a disco para lar 0 pr6ximo comando BACTH.
Ns verdade. apenss 0 CCP passou a acaltsr comandos de urn arquivo ao Inv's de recebi-Ios pelo teetado.
Se durante a exacu~io de urn programs qualquer asts preclsar rsceber dados, eles tarao que ser Intraduzldas pelo teclado.
Com 0 auxrllo do programa XSUB.COM 1550 is nao scontece. Esse programa 'uma extensao do SUBMIT.COM a portanto s6 poda ser utilizada ap6s a SUBMIT tar sldo executado.
Vamos supor que 0 programa PROG1.COM pe~a uma data pelo teclado no formato dd/l1'111/as. Gom 0 programa SUBMIT.GOM apenas os comandos foram fornecidos pelo arquivo PROCESS.SUB mas a data pedida pelo programa tlnha qua sar Introduzida pe- 10 teclado.
Com 0 aux(lio do programa XSUB.COM isso j& nao acontece.Esse programa ao ser rodado dantro do SUBMIT.COM faz com que certas entrada de dad os que venha do tecl ado passe a ser dada pelo arquivo usado pelo SUBMIT.
No exemplo anterior. podemos modificsr 0 arqulvo PROCESS.SUB para ficar asslm.
89
FIGURA 3.44 - Arquivo para 0 XSUS.COH.
PIP B:ARQ1.8AK~ARQ1[OV] XSUB
PI~OG 1.
0i/1.0/B6 ERA A=ARGl
REN A=ARGi=A:ARG2
Quando executado. 0 programs XSUB far~ com que ao ser pedida a data pelo programa PROG1.COM. est a seia forneeid a pelo proprio PROCESS.SUB (no examplo, 81/18/86)' ia nao sendo mals necessario digita-Ia pelo teclado.
CARACTERES DE CONTROLE
No HB-MCP existem alguns caracteres de controle que sio ohtjdos atray's do teclado mantendo a tecla -CONTROl- apartada enauaoto se prasslona uma outra tecla.
o sfmbolo __ n antes de uma letra signifiea CONTROL.
Par examplo, -X signlflca: pressionar a tacla CONTROL e, mantendo-a pressionada. dlgitsr a tecla x.
Alguns desses eontroles faeilitam a carre~&o de uma linha quando digitamos algo errada oela.
Note porem que as controtes que vamos ver agora nem sempre dio as resultados que esperamos t
Estes controles atuam apenas em uma rotina interna do HB-MCP, e essa rotina e a responsaval pelo receblmento de uma I!nha pelo teclado.
Alguns pragramas quando necessitam receber algum comando (au algum parimetro) requisitam esse rotina interna do HB-Mep e recebem a linha js pronta. sem ter nenhum trabalho. Nestes casas as comandos que varemos atuam como 8sperado. Mas alguns outros programas possuem internarnente sua propria rotina de diglta~io de urna linha e pade ser que as camandos que ale programa aceita nia coincidam com os comandos acaitos palo HB-HGP.
Os comandos que yeramos agora podam 5er dados quando o CCP aguarda ser dlgltado um comando. ou seja. quando vamos o "A>".
·C - TROCA DE DISCOS
Toda vez qua for trocado um dlsquete. deve-se teelar -C para informar aD CCP sobra a troca. portanto AC s6 dave ser usado quando se tiver 0 -A)- (ou -B)-.etc) 8 quando 0 dlsqueta for trocado. sanio ns primeira vaz que 0 disco for aCBssado a 0 HB-MCP perceber que fol trocado um dlsquate sam ter
98
5'd~ ~s~do 0 -G. ale Bm~t~r' uma mODSI!lm dl arro, n~Q ,ermltlldo a ace5~~ ~o disco ~ar8 Ira~a~~o.
Quan~a Q HI-Mep atlisa G di5CQ ~e.a primB'F8 vaz. ele plsq~i~a 0 'irlt6rl, ,ara ~btlr uma ,'til d! .nfofm8~5,s sabre 0 quanto do IspaiO dlspOfirvel do ~~S~0 J' foi ut~~'li~~ ifI m!IJ n hi iill ~ illOII'I,as t aibl!! II 81l5, Ii nhrr' nas Inill mlem611' I ,iI •
Todi VIZ q~g fIr n~~8s9'r.~ ~ravar 1~lum dado gO d ! SCQi. [I IHB-iMCP lpe !U!llliis iii IIiSSiI'S t, !ill bIIBII as P iIr!il1 '58b181' (l1Mt11i pOOlil!l ~~r 9~~~ada a InfD~m~~iD sem perder nada d~ q~e J' ~sta 9r~" ,iI d (I 11'1(1 I[U s C l!Il •
QUln~G 1i,amo5 um d~5C~ e c~~,clmos mulro iflm seu lugar. 0 NO-MOP ~~vllida essas tabelas. po~s IliG ,lrtenc*lm 10 disCI que fol retlra~1 ~ ~io ~o dlsCI ~re$ln1a.
C~m essas tilb6~IS ~~~alldada5 nio 'mlis pos9'~'1 grivif i~formaciBs nm disto. Poda-se ~~Inas .i-Ias.
Quando tlcWlm~s ~c. assas tabel;s SiD fef~itas e I C(;'P I n I' r i! IU!'II lUi: ihl 'II~ ,fIni loj" n.ii 101 e shl j a ) •
Portanto. 56mpr~ q~i voci trocar dl disco, Ist.~tr visual'z~~~o 0 ~l)b. t8cie ~C. 51niD nlda p~der' 5~r 9ri!~ldo lliissa d jl 5 C:Oi.
Alguns pro9tim~s qUI ,u~,m q~8 sljam tro(~do~ os 'dl ~ 5,CI!U, 'GOP'll' .. ceM Iplo'r e)li em!) I I) ~ j ,6 dliol e I es mIBI!i'mn· I) "C. n,alEl S!ilndo n 8 C 8:SS"~ I I] 5~H Id,adlOI (II Rem Ii! C Omi,S II hhlllil II l um IIUJt!H1 ~ C
dI,3J1:10 PO r !lID S ImeSmtIil15,. .
Sob (Jutras c'rcustincias. ~ ~C 6 u~~~~zldo tamblm pa r,it '511 c:Qmee I air 0 P r~':1!I1' amI! am elll!l UU; ,i. I!I , 1"0 r til n hl hlil'lle: eu 1 llIadOl ~o uaar "IC.
PiIIlr,iI 100 iii t I PIllar a. IU SI'I tar lum Clo,manda mu Il'h e:xteli'lso 1[Ii .~~hl s~g~lnta. p~d~-s~ teelar af.
o cur,or liSS~~' pira ~ W~~ba abalxo ,~oti plder' ~o~tlnlar 8 digitaf 0 camaRdo.
QUIldo fl~a.mll1lt~ for dado J RETURN, eR~iD tada a linha de ~um~nd~ ser~ a~~iti. embora aPBrlntem sir v~r~15 ~~lI~as. BWI~ si~ fii ulr~ade apeaa~ um~.
QUi~do errSf fii d.9itl;io de uma t~~~a. ut~W'ZI -M p~ra r'c~~~ ~ C~W5~r I dlgltar I retia correta.
Vo~i p~dl "s~r i te"a 8S ~~, p~ra ~bte' 0 mlsmo
"'pit - TitRrU NO IDE 11JH4 II. I NHA
lOS e ,21 I' liill: till "III , ill Ui 8 !j,81111 Inl''' II III dll(lIS, al C 'iii If Idl II li!I IP'OI dlllJlll S,I!I:rc'
tamb6m env~I'~s ~~r8 8 Imprlssora.
Com esse recurso podemos tlrar algumas c6plas im-
pressas das mensagens apresentadas par alguns programas.
Teelanda -P ligamas a -aco-.
Taclando -P novamente dasllgamos a waeo-.
Sa a Impressara nio estiver ligada au esttver mal conectada ao micro, poda oearrer do sistema flcar trav.do. Tome cuidado portanto ao utilizar a -Po
·R - REPETIR UMA lINH~ DIGITADA
Vac3 poda dar -R para ver malhor a Iinha qua raalmants sera acatta 10 S8r dado a RETURN. Ests comanda .penas reapresenta a linha sendo dlgltada.
·s- PARA -TRAVAR- 0 VIDEO
-S avita 0 rolamanta. muitas vezes r8pida damais. do video. 5empre qua sa taclar -S a video ficar' Htravada· at' que seia dlgltado outro -Sou qualquer autra tecla.
·U au -X- llMPAR A llNHA QUE E5TA SENDO DIGITAOA
Quando voci quiser desistir da linha que esta dlgitando, tecle -x que esta ser6 totalmente apagada.
TECLAS ESPECIAIS NO HB-HCP
No HB-HCP. algumas teclas do HOTBIT receberam fun~oes dlfarentes daquelas que vocl j' conhece no DSK-BASIC. Veia na tabsla a sagutr as teclas especials usadas no HB-MeP a respectlvos c6dlgos de taRtrales que etas passaram a forn8- cer.
TECLA COHANDO TECLA COHANDO
STOP -5 SelECT ESC
fl a fU R8Configuravsls CONTROL t STOP RESET
HOME -K t (RETURN) - II
ClS -l t I RETURN) = i
INS -V SHIFT tiNS -F
DEl -G SHI fT t DEl DEl
.. -E SHI FT t 4 -n
y -X SHIfT ty -C
... -0 SHIFT + ... -F
.... ·S SHIFT + ... "A
CONTROL t" ESC t A CONTROL + ... ESC + C
CONTROL t ... ESC t B CONTROL + .... ESC t 0
-9 abre chave _i' ( asudo ) crase
-, tacha chave - •• ( t r ema ) trams
til 92
CAP(rUlO IV
o QUE E HB-DOS
HB-DOS e urn sistema operacional desenvolvido especialmente para os micros da linha MSX.
Devido a grande popularidade do GP/M. 0 HB-DOS foi felto para ser. ati certo ponto. compatfvel com ele.garantlndo assim um grande numero de programas is prontos para setem usados. Alem disSD. e tambem urn POUCD semethante aD MS-DOS. urn sistema operaciornal bastants poderoso des8nvolvido pela MICROSOfT {Rl Dara 0 IBM-PC {RI.
Devido a semethan~a entre 0 HB-MCP e 0 HB-DOS. vamos tra~ar urn paralelo entre os dois no decorrer deste capitulo. mostrando algumas vantagens 0 dasvantagens de cada um deles.
AD 58 ligar 0 micro com urn disco contendo 0 HB-OOS. e apresentada a seguinte mensagem,
H8-DOS vErsio Vi.1 I.: EPCOM ]
HU-CCP versio Vi.1
Data corrente: Qua 1/01/1986 Entre cl nova data:
Logo de infcio e mostrada a versio do HB-DOS {que e o s t s tsma operacional)e do HB-GGP. que serla equlvalente an cep. aquele programa Que serve d~ comunlcador entre voci e a sistema operacional.
Uma das primeiras a~oes tomada pelo HB-OOS e mostrar a data do dla. onde "Seg" quer dlzer segunda-felra."Ter" quer dlzer ter~a-feira e assim por diante. sendo seguida da data completa no formato Dla/Mis/AnD.
Essa data nao e a correta. pais a HOTSIT nao possul urn relogio Interno e. sabendo disso. ele assume 81/81/86 como sendo a dia corrente e the pergunta qual a data correta. Nesse instante. voce pode digitar a data que desejar ou simplesmente teclar RETURN (e nesse caso sera assumido 81/81/86).
Para se dlgitar a nova data. basta dlgltar entia a dia (com dois algarismos). a sinal de menos --- ou uma barra de divisao _/H; 0 mes.tambem com dois algarismos. outra barra -/- ou sinai de menDs "-"; e entio. 0 ana com dais algarismos au quatro algarismos. seguidos da tecla RETURN.
Veja urn exemplo. supondo que hoje e 28/86/86,
HB-DOS v~~sio Vl.0 r EPCO~l ::I
HB-CCP v~rsio Vi.1
Data corrente: Qua 1/01/1986 Entre cl nova data: 28/06/86
A)
Sa veci errar na digita~io da data uti liza a tecla as para fazar as corre~oas. Sa for digitada uma data invallda. voce sera novamente sol icitado a fornecer a data.
Observe que nio fol necessarIa digitar 0 dla da semana (sagunda. tar~a. atc) pols a HB-OOS descobra ;ssa a partir da data dlgitada.
Logo ap6s tar sldo informada uma data correta. , apresentado 0 "A)". indlcando que a HB-OOS esta pronto para rscaber urn comando seu. Repars que '0 mesmo sinal mostrado pelo HB-MGP. a nio S8r palo cursor. qua nio fica piscando no HB-OOS.
l racomendavel sempre dlgltar uma data correta. pois sempre que um arquivo 'alterado. 0 HB-DOS grava a data da altera~io e esta , mostrada no comanda DIR (que veremos mals adlanta). Sendo assim. se for Informada a data do dla corretame n t e 5 emp r e que 0 m i c r a for I i gad 0 • f i car €I f a ci I s a bar quando foj que utillzamos um arquivo pala ultima vaz. apenas uti I I zan d 0 acoma n doD I R .
Esta 6 uma das vantagens que a HB-DOS tem sabre 0 HB-MGP. pois fornece uma documenta~io a mais sobra a uso dos arqulvos no disco.
DATE
Voce pode alterar a data a qualquer hora que desejar com 0 comando DATE. Este comando serve para mudarmos a data que foi assumida quando a HB-DOS fol inieial izado.
Veia urn exemplo
A >DATE (RETURN)
Data corrente: S~b 28/06/1986
Ent: r e c 1 nova clat: a: (RETURN)
A>
Podemos usar 0 comando DATE para sabermos a data corrente sem precisar alters-Ia. bastando simplesmente teclar RETURN quando for solicitada a nova data OU entaD fornecer efetlvamente uma nova data.
Sa e sua inten~io modifiear a data. voce pode indica-Ia logo apas 0 comando OATE.
Veja como isso pode ser feito
A>DATE 22/07/86
A>
Observe que. neste exemplo. nada foi mostrado pelo HB-DOS. mas com certeza a data foi alterada.
95
DIR
Quando 0 "A>H ~ mostrado. 0 HB-OOS asta aguardando um comando seu. samelhantemente aD HB-HCP.
a comando OIR do HB-ODS e mais completo qua a DIR do HB-HGP (vista no cap(tulo anterior), mostrando 0 nome do arquiVD. seu tamanho (em bytes) e a data do ultimo acesso. Ap6s mostrar todos os arquivos, apresenta 0 espa~o dispon(vel no di~co.
o comanda DIR do HB-OOS ~ como se fosse uma mistura do comanda DIR do HB-HCP e do programa STAT.COM
Duas op~oes foram implantadas alnda no comando DIR,
/P e /W.
Se for colocado /P ap6s 0 comando DIR, as arquivos serio mostrados de 23 em 23 Iinhas, e ser~ solicitado a pressionamento da qualquer tecla (exceto ACI.
Assim. se em um disco existirem muitos arquivos gravados. 0 comando DIR ira mostra-Ios ate praancher toda 0 v(dao e aguardar~ que voce presslone algurna tecla para poder continuar a mostrar os Qutros arquivos ate prsencher outra tela, e assim por diante. Portanto, nio e necessario 0 usa do AS para se travar 0 v(deo enquanto vamos 0 que queremos.
A op~io /W faz com que nao seja rnostrado nem 0 tamanho do arquivo e nem a data do ultimo aceS50, mostrando mals de urn arquivo par linha, ficando igual ao DIR do HB-MCP.
Alem do /P s /W. sao tarnham permitidos 0 ponto de interroga~aO (7) e 0 asterisco (~).
Veja, a sequir, alguns exemplos,
A)OIR HBOOS HBCCP
SYS 4480
COM 6400
2 Arquiyo(s)
7-21-86 7-04-86 16:27 347136 1 jYrES
A)
A)DIR/W
HBDOS SYS HBCCP COM
2 Arquivo(s) 3471361ivrEs
A)
A)DIR *.COM/W
HBCCP COM
1 Arquivo(s)
3471361ivFE5
TYPE
o comando TYPE a outro qua mantam as masmas caracter(sticas do HB-Mep. Ele mostra 0 conteudo de urn arqulvD do disco no vfdeo. Para usa-Io, basta digitar 0 noma do arquivo a sar pesquisado logo a sua frenta.
Vsja 0 exemplo a seguir,
96
A>TYPE ARQlJI~BAS
Voc@ pode cancelar a axecueao do TVPE teclanda ·C ou ·STOP. Sa voc@ teclar ·S a vfdea flcar~ parado at' que saia presslonada qualquer tecla.
REN ou RENAME
o comando REN (au RENAME). apesar de ter a mesma funeaa do comanda REN do HB-MCP. tern uma sintaxe Ilgeiramente diferente dele.
No HB-DOS. 0 nome do arqulvo a S8r altarado vern antes. a depois a nova nome. de ma~eira Inversa ao HB-MCP.
A>REN VELHONOM NOVONOM A>RENAME ARQ1 NOVOARQ
Observe tamb~m qua exists apsnas urn espaeo em branco entre a nome antigo e 0 novo nome do arquivo. ao Inv's do sInai de Igual (=) usado no HB-MCP. Apesar disso. Q H8-00S pode ace I tar. a I ~m do e spa eo, a v f r 9 u I a (,) , 0 p Q n t 08 V f r 9 u I a (;) e a proprio sinai de Igual.
MODE
o HB-OOS. par ser urn sistema operacional feito sob medida para 0 HOTBIT. possul um comando que indica quantos caracteres poderio ser mostrados em uma linha do vrdeo, de maneira analoga ao comaRdo SCREEN e WIDTH do BASIC: 0 MODE. Ele existe devido aa fato de aiguns televisores mastrarem uma imagem muito expandida, fazendo com que cartos caractara5 mals a esquerda au mais a direita do vfdeo acabem oio sando visual izados. Voci deva indicar quantos caractares daseja par Iinha logo apbs a patavra HOOE. saparando-os par urn espaeo em
,branco.
A>MOOE 40 A>MOOE 20
Observa que apbs a exacueio do comando. 0 vfdeo , limpo, como acontace com 0 ClS do BASIC.
Se a cartio de 88 colunas estlver conectado ao mlcro quando 0 HB-DOS , carrsgado. 0 modo 80 colunas sera automaticamente acionado. Urna vez em outro modo. para yoltar a usar a modo 80 colunas no HB-DOS bastar~ dlgltar.
A) MODE El0 ERASE ou DEL
Outro comanda do HB-DOS semelhante ao do HB-HGP e 0 ERASE. Ele ~ identico ao comando ERA. Voce pode, tambam. dlgitar DEL para obter 0 mesmo resultado.
Estes comandos servem para apagar urn arquivo do dis-
97
co. podendo-se tambhm usar opcionalmente 0 ponto de interrogal;ao (?) e 0 ast e r t s cn (~). Por uemplo.imagine que e ne c assArio eliminar de um disco todos os programa terminados por .BAS . 0 comando mostrado a seguir resolve esse problama,
A }ER A~j[ .~. B A~:l
RABIe
o comando BASIC coloea 0 DSK-BASIC em funcionamento.
Oessa manetra. mesmo estando no HB-DOS .• possivel entrar no BAS.IG sem ter que desl i s ar ou dar RESET no micro.
No comando BASIC.pode-s8 8specificar. logo em seguida.o nome do programa que 58 des8ja eX8cutar.n§o sendo necessarlo carregA-Io e 8sperar 0 surgimento do HOkH na tela para executA-lo. Por exemplo. se voc~ estiver no HB-OOS e quiser executar urn programa de nome TESTMOV1.BAS. basta digitar a comando mostrado adiant8:
A}BASIC TESTMOV1.BAS
camando riamente s asem de
Quando se fornece 0 nome de urn programa logo ap6s 0 BASIC no HB-OOS, este programa terA que ser neC8ssaurn programa BASIG. Se n§o for. serl enviada uma menerro pelo DSK-BASIC.
r .,
HOT-BASIC vers~o 1.1 [PCOM [Z.F.MANAUSJ 1985 Hem .. Li vr e 2445~1
[)SK-BASIC VL0
Ok
Uma vez no DSK-BASIG.voci poderl us6-lo normalmente. pois apesar de ter sido charnado do HB-DOS. nenhuma mudan~a perceptlvel ocorre.
QUando voc@ desejar voltar para 0 HB-DOS. basta usar o comando CAll SYSTEM (au _SYSTEM).
98
a comando CAll SYSTEM 56 funciona no DSK-BASIC se el~ tiver slda chamado do HB-OOS. Quando isso acorre. ele deixa indicado em algum lugar da membria que pode ser usado este comando. 5e voci ligar 0 micro sem nenhum disco no drive ou se 0 disco nio contiver a HB-DOS. entia automatjcamente sera seleclonado 0 DSK-BASIC. Como na hora de I igar a micro nao hav!a 0 HB-DOS no disco. nao sera possrvel entrar nele com o comando CAll SYSTEM. Mesmo que voce coloque urn dlsquete no drive contendo 0 HB-DOS. 0 DSK-BASIC nao percebera que ele axiste e portanto nao permitira 0 uso do comando CAll SYSTEM.
Se voce estiver aperando no DSK-BASIC. desejando antrar no HB-DOS. a 0 camanda CAll SYSTEM nao estiver permitindo. a solu~ao sera desligar e I igar novaments a micro. au entao. dar RESET.
VERIFY
o comanda VERifY serve para ligar au desligar urn indicador de verjfica~ao. Todo acesso feito ao disco para grava~ao pode ser com au sam uma verifica~ao e 0 camando VERIFY 6 quem datermina isso.
VERIFY ON faz com que seja felta uma verifica~ao toda vez que for gravado alga no disco e VERifY OFF faz com que nao seja feita e5sa verifica~ao. a ace5SO ao disco fica bern mals lento se for dado a comando VERIFY ON. mas fica tambem mals confiavel.
Na verseo 1.8 do HB-OOS 0 comando VERifY nao asta Implementadol
COpy
o comando COPY serve para fazermas c6pias de arquivas. ~ como 0 programa PIP do HB-MCP s6 que mals modesto. e a ordem i inversa a do PIP. vindo primeiro 0 arqulvo a ser cocopiado e depois a arquivo que rscebera a copla.
No HB-OOS.embora possuindo apenas urn drive. 6 possfvel slmular dais drives. Neste caso 0 drive A seria urn disco a 0 drive B outro disco, semelhante ao camanda COPY do OSKBASIC.
a comanda COPY do H8-00S tamb6m simula esses dais drives, pedinda para que seja feita a troca das discos quando necessaria. Gomo a HB-OOS so carrega 0 sistema aperacional, 0 comando COpy tem muita memoria disponfvel para fazer a copia. sendo multo mals rapido que a GOPY do DSK-BASIC.
A)COPY A:ARQi B:ARG2
Insira disco no driVE B=
E pressione qualquer tecla
1 Arquivo(s) copiado(s)
A)
99
Apos ter side feita ums copia de um drive para outr~, pode acontecer de vocfi dar um comando e e HB-DOS pedir para que seja colocado 0 disco no drive A, mesmo is existindo urn disco all. ~ que apes a copia. 0 HB-DOS sabe que 0 disco presente na drive esta aperando como se estivesse no drive 8. 0 comanda que voce der, se for assumido 0 drive A, fara com que o HB-DOS pe~a para ser substiturdo 0 disco do drive.
A)COPY A=ARGl B=ARG2
Insira disco no driVE 8:
e pressione qua1quer tecla
1 Arquivo(s) copiado(s)
A)DIR
Insira disco no drive A:
E pressine qualquer tecla
o comanda COpy serve tamb~m como -juntador- de arquivos. Voce pode cancatenar mais de urn arquivo atrav~s desse comanda, indicando com urn sinal de mais (+) quais os arquivos que serio concatenados.
A)COPY ARQl + ARQ2 A:TODOS
No exemplo anterior, os arquivos AROl e AR02 foram -juntados- em urn 56 arquivo de nome IODOS. 0 comando COPY possui ainda tris op~Des para a copia. E5tas oP~Des sao indicadas atraves da barra (I) e mais uma letra qua ~ a ap~ao desejada.
A op~ao IA indica que 0 arquivo em quastio 85ta em ASCII, tendo portanto apenas caracteres ASCII. e assim qua for encontrado 0 caractere &H1A. que determina flm de arquivo. deve ser terminada a copia.
A op~ao IB Indica que 0 arquivo cont~m dados que nao oao sao apanas caractares ASCI I. e que. mesmo encontrando 0 caractere &H1A. deve continuar a copia.
Para sa ter uma margem de seguran~a maior. e aconseIhavel usar 0 comanda VERIFY ON au uti I Izar a op~ao IV sempra que for sfatuar uma copia de arquivos.
A)COPY ARQ1/A B~ARQCOP/V A)COPY ARQ/8 ARQ2/B/V
A)COPY ARQ1 + ARQ2 + ARQ3 B=JUNTOS
Voce viu no caprtulo 1 uma relacao de alguns perifericos que 0 HOIBII pode ter com a auxflio de cartuchos da expansao. 0 comando COpy aceita a perif6rico CON como conso-
108