André Schoorl v4.46, 7 de Agosto de 1997 Tradução: Carlos Marangon Versão beta 27 de junho de 1998 Nota: esta versão pode conter erros de ortografia, formatação e tradução. Peço ao leitor que me informe se encontrar algum. A Impressão deste documento requer 141 páginas =============================================================================== 1. Introdução 1.1 Apresentação 1.2 Estas FAQs em outros formatos 1.3 Tradução destas FAQs 2. Questões Diversas 2.1 Sou um principiante e tenho algumas perguntas. Por onde devo começar? 2.2 Há Usenet/Newsgroups da HP48? 2.3 Quais são os melhores sites de FTP da HP48? 2.4 Há bons sites na Internet sobre a HP48? 2.5 Há um canal de IRC da HP48? 2.6 Como procurar por um arquivo específico da HP48? 2.7 Quais são os melhores lugares para se comprar calculadoras HP48 e produtos para a HP48? 2.8 Há CD-ROM com software para HP48? 2.9 Onde posso encontrar vídeos de conferencias sobre a HP48? 2.10 Há emuladores da HP48? 2.11 A HP48 é permitida nos testes de ATs, AP, ou ACT ? (EUA) 2.12 Quando vai ser lançada a próxima HP? Devo esperar? 2.13 Em que a HP48 se assemelha às outras calculadoras? 2.14 Que é a Universal Font Library (UFL)? 2.15 Quais são as melhores opções de editores? 2.16 Existe alguma fonte de caracteres PC para a HP48? 2.17 O número de série da HP48 está disponível na memória? 2.18 Qual o formato do número de série da HP48? 3. Questões sobre versões da ROM 3.1 O que as SX/GX tem que as S/G não tem? 3.2 Qual é a diferença entre a HP48 G/GX e a S/SX? 3.3 Como posso saber que versão da ROM possuo? 3.4 Quais as falhas que existem nas versões da HP48? 3.5 O que há de novo na revisão "J" da ROM? (S/SX) 3.6 O que aconteceu com as versões G, H, I, O, e Q? 3.7 É possível atualizar minha HP48 S/SX? 3.8 É possível atualizar minha GX para a última versão da ROM? 3.9 Qual é a ultima versão da ROM? 4. Questões sobre o Sistema Operacional e Utilização da HP 4.1 Como achar a soma de verificação (checksum) de um objeto? 4.2 Eu digitei RULES em minha G/GX e apareceram palavras cruzadas! 4.3 Por quê minha HP48, de vez em quando, "trava" por um momento? 4.4 O que fazer se minha HP travar? 4.5 Minha HP48 parece demorar muito para ligar e desligar. 4.6 Quais são as possíveis combinações da tecla ON com as outras as teclas? 4.7 Quais são os tipos interativos de auto-teste? 4.8 Não sou capaz de utilizar toda a memória RAM da HP48! 4.9 Quais são os melhores métodos para instalar e desinstalar bibliotecas (LIBS)? 4.10 Como instalar bibliotecas (LIBS) grandes? 4.11 Por que (1/3)*3 é igual a 0.999999999999? 4.12 Por que minha HP48 retorna 1 como resultado de 0 na potência 0 ? 4.13 Que é RPN? 4.14 Porque a HP usou RPN em suas calculadoras? 4.15 Há alguma alternativa para a RPN? 4.16 Porque tenho resultados inesperados ao somar temperaturas? 4.17 Como posso somar as unidades que desejar? Para que serve o símbolo 1_? 4.18 Eu quero o valor numérico de 'pi', não um símbolo. 4.19 Que são os números pequenos que aparecem no topo do visor? 4.20 Quais os truques e macetes para manipular matrizes? 4.21 É possível usar a HP48 como controle remoto? 4.22 É possível usar a HP48 para discagem de DTMF? 4.23 Como executar um programa em partida à quente ou em partida rápida? 4.24 Eu podia aumentar a velocidade da minha HP-28S. Como eu poderia aumentar a velocidade da minha HP48? 4.25 É possível fazer gráficos mais rápido na HP? 4.26 Como plotar inequações (desigualdades)? 4.27 Que é um diretório escondido e como acessá-lo? 4.28 Como chamar um objeto diretamente da memória? 4.29 Como achar um logaritmo de uma base diferente de 10 ou e? 4.30 Há combinações de teclas que não estão nos manuais? 4.31 Como descobrir comandos que não estão no manual da GX? 4.32 Como apagar um diretório inteiro? 4.33 Como o tamanho do inteiro binário (binary wordsize) afeta meus cálculos? 5. Questões sobre cartões PLUG IN, transferencias de dados, pilhas e hardware 5.1 Minha HP parece fazer ruído de alta freqüência! 5.2 É possível atualizar minha S ou G para mais de 32k? 5.3 É possível acrescentar uma bateria de lítio, como reserva? 5.4 Como posso conseguir ou fazer um cabo para a HP48? 5.5 A HP parece oferecer dois kits de conexão com preços diferentes. 5.6 Há algum software para comunicação disponível? 5.7 Por que a porta de I/R não alcança mais que algumas polegadas? 5.8 É possível a HP48 se comunicar com a HP100LX via Infravermelho? 5.9 É possível usar minha HP48 para comunicação com dispositivos de IrDA? 5.10 É possível imprimir em uma impressora LaserJet com uma HP48? 5.11 Eu carrego um programa mas o que aparece é "HPHP48-..."! 5.12 Qual a estrutura dos cabeçalhos ASCII da HP48? 5.13 Por quê as transferencias com o Kemit parecem demorar? 5.14 Por quê o XRECV algumas vezes não funciona (GX)? 5.15 Outras sugestões de transferencias 5.16 O que significam os símbolos esquisitos (tal como: \-> e \GS+) neste documento? 5.17 Qual a disposição dos pinos da conexão serial da HP48? 5.18 Há informações de como fazer conexão com a HP48? 5.19 Como posso transferir programas e dados da HP-28S para a HP48? 5.20 Posso usar pilhas recarregáveis na HP48? 5.21 Como posso saber, com um programa, se a pilha está fraca? 5.22 Perdi as informações do meu cartão de RAM quando troquei as baterias! 5.23 Porque aparece "Invalid card data" quando conecto um cartão de RAM? 5.24 Ouvi falar sobre outros fabricantes de Cartões de RAM. Eles funcionam? 5.25 Como funciona o dispositivo de bloqueio dos cartões de RAM? 5.26 Por que o visor da HP48 SX pisca? 5.27 Quebrei o LCD. É fácil conseguir outro? 5.28 Como proteger o LCD? 5.29 Há algum estojo rígido para proteger a HP48? 5.30 É possível usar radio amador (em associação) com a HP48? 6. Questões Sobre Programas 6.1 Onde encontrar programas e informações sobre a HP48? 6.2 Que são os Goodies Disks e onde posso encontra-los? 6.3 Como acessar a BBS da HP48? 6.4 Que são arquivos que tem extensão ".zip", ".Z" ou ".gz"? 6.5 Que é um arquivo "ship"? 6.6 Que é o padrão ASC e como usá-lo? 6.7 Que é uma biblioteca HYDE, e como livrar-se dela? 6.8 Que é o jogo de caça minas (Minehunt) e como joga-lo? 7. Questões sobre Programação e Funções do Usuário Avançadas 7.1 Ouvi os termos RPL, Saturn, STAR, GL etc... O que significam? 7.2 Há compilador de linguagem C para a HP48? 7.3 Porque programas feitos em SysRPL rodam mais rápido que os feitos em UserRPL? 7.4 Qual uma boa fonte de referência para aprender SysRPL e ML? 7.5 É possível fazer minhas próprias bibliotecas (LIBS)? É possível "dividir" outras? 7.6 Como saber qual numero de identificação da biblioteca (LIB) usar? 7.7 Que informações há sobre os comandos internos da HP48? 7.8 Onde posso encontrar ferramentas para desenvolvimento de programas? 7.9 Eu sei UserRPL. Por onde começo em SysRPL? 7.10 Há algum vírus para a HP48? 7.11 Como armazenar (compactar) programas grandes de maneira eficaz? 7.12 Que é "Vectored Enter", e como usá-lo? 7.13 Que é "WSLOG"? 7.14 Que é SYSEVAL? 7.15 Quais são os SYSEVALs mais úteis? 7.16 Que é LIBEVALs? 7.17 Quais são os LIBEVAL mais úteis? 7.18 Qual é o formato de um objeto GROB? 7.19 o que é o AUR e que informações ele contém? 7.20 Qual é a sintaxe para INFORM, CHOOSE, e MSGBOX? (GX) 7.21 Como colocar marcas de seleção em menus INFORM? 7.22 Qual é a sintaxe do comando INPUT? 8. Apêndice A: Varias Funções Úteis 8.1 Funções ASC 8.2 OBJFIX 8.3 FIXIT 8.4 LASTX 8.5 Armazenamento de Dados Compactados 8.6 Códigos da impressora HP82240B 9. Apêndice B: Informações específicas da GX 9.1 O que há de novo na HP48 G/GX? 9.2 Exemplos de INFORM, CHOOSE e MSGBOX 9.3 Alguns LIBEVAL úteis 10. Apêndice C: Detalhes de Falhas e Bugs 10.1 Falha do Equation Writer 10.2 Falha na Conversão de Velocidade de Rotação para Freqüência Angular 11. Apêndice D: Informação Adicional sobre Hardware 11.1 Como fazer um cabo serial 11.2 Informações adicionais sobre HP48 e RS-232 11.3 Usando cartões de RAM que não são da HP 11.4 Onde se encontram cartões de RAM de outros fabricantes 12. Apêndice E: Onde conseguir programas para a HP48 12.1 Os melhores programas e onde consegui-los - Lista 12.2 Outros sites de FTP 12.3 FTP via E-Mail 12.4 BBS com programas para HP48 12.5 HP Goodies Disks 13. Colaboradores ______________________________________________________________________ 1. Introdução Nota do tradutor: O texto a seguir refere-se a introdução original feita por André Schoorl. Em muitas partes do texto deste documento eu estarei explicando alguns tópicos por estes serem de difícil tradução ou intraduzíveis. Nestes casos o texto aparecerá precedido da expressão "Nota do tradutor". Introdução de André Schoorl: Esta FAQ é mantida por André Schoorl Esta FAQ fora anteriormente mantida por Keith Maddock e inicialmente compilada por Darryl Okahata. Muito obrigado a ambos por seu tempo e por suas contribuições! Eu confio em sua participação a fim de manter esta FAQ atualizada. Se você tiver alguma sugestão ou atualização sinta-se à vontade para envia-las para mim. 1.1. Apresentação O propósito desta FAQ é providenciar respostas às perguntas mais freqüentes sobre a família de calculadoras científicas HP48, da Hewlett Packard. Esta lista contém informações não necessariamente conferidas e não há garantia de que estejam corretas. Elas foram compiladas a partir de varias postagens do newsgroup comp.sys.hp48 e comp.sys.handhelds, bem como de outras fontes. Em particular algumas partes foram tomadas da antiga HP48 SX "FAQ Lists". Para algumas perguntas, pode haver respostas diferentes para cada tipo de calculadora (G/GX ou S/SX). Neste caso, informações específicas da S/SX são precedidas por "SX:", na margem esquerda, na primeira linha de cada parágrafo relacionado a S/SX Informações sobre a G/GX são denotadas por um "GX:", da mesma forma. Parágrafo sem nenhuma indicação refere-se a todas as versões. 1.2. Estas FAQ em outros Formatos Nota do tradutor: A versão em Português esta disponível em arquivos .doc e.txt e HTML; não é usado o SGML-Tools. O texto a seguir refere-se as FAQs originais em Inglês. Este documento é feito usando-se SGML-Tools (Standard Generalized Markup Language) e está disponível em ASCII, HTML e em versões PostScript Todas as versões tem como origem a mesma fonte e são atualizadas simultaneamente. A pagina da versão em HTML é: . Os outros formatos também estão disponíveis em arquivos zip, em separado. A versão PostScript é formatada em papel de carta tipo americano, mas eu também posso criar uma versão PostScript em tamanho legal. Além disso, eu posso criar formatos DVI, Látex, Lyx, Info, e RTF desta FAQ. Estes formatos estão atualmente disponíveis sob pedido. Se o pedido exigir, eu considerarei a inclusão de um ou mais deles no pacote de FAQ padrão. Versões somente texto desta FAQ serão postados no newsgroup comp.sys.hp48 de acordo com a necessidade (em geral a cada duas semanas). Lembre-se também que todas as FAQs oficiais em inglês tem copias mirror no endereço: . Além disso, são postadas no comp.answers e no news.answers. Eu assinarei todas as versões originais de texto com PGP (Pretty Good Privacity) usanda a seguinte chave para garantir autenticidade, e prover checagem de soma MD5 para os arquivos restantes. Você pode adquirir uma cópia desta chave pública no keyserver , ou pelo URL acima. Como alternativa, você pode baixar estas FAQ, na versão original em inglês, de um dos seguintes endereços: América do Norte: o o Europa: o o 1.3. Traduções Traduções podem não ser tão atualizadas quanto as FAQ original, mas são ainda assim muito úteis a usuários internacionais que compreendem melhor a língua de seus países de origem. Espanhol o por Guido Silva Carvajal Português o por Carlos Marangon 2. Questões Diversas 2.1 Sou um principiante e tenho algumas perguntas. Por onde devo começar? Comece lendo manuais da HP48. Você ficará pasmado sobre quantas perguntas podem ser respondidas se você ler os manuais. SX: Antigamente os manuais da HP48 S/SX eram compostos de volumes. O primeiro volume continha instruções operacionais, e o segundo volume programação. Depois o manual da HP48 S/SX foi unido em um volume único. GX: A HP48 G/GX vêm com um manual do usuário que cobre tudo os aspectos no relativos a programação. O guia de referência avançado (0 Advanced User's Reference - AUR), também disponível, trata de programação. O AUR é altamente recomendado. A HP48G/GX também vêm com um Guia Rápido. Veja também seção " Perguntas e Respostas" (Answers to Common Questions), no apêndice A do manual. Se seu manual for em dois volumes, esta seção se encontra no volume II. 2.2 Há Usenet/Newsgroups da HP48? comp.sys.hp48 Principal newsgroup da HP48. comp.sys.handhelds Ocasionalmente, é postada informação sobre a HP48 neste newsgroup. comp.sources.hp48 Este newsgroup esteve desativado durante anos, mas já foi uma fonte razoável de programas da HP48. Os artigos postados no newsgroup comp.sys.hp48 são arquivados no endereco . Os artigos são arquivados conforme mês e ano, com um índice geral cobrindo o conteúdo dos dois últimos anos. O AltaVista Também da acesso a estes arquivos (seleção para buscas em Usenet), e automaticamente descompacta qualquer artigo pertinente ao assunto que você selecionar. DejaNews é outra fonte rápida de procura de arquivos em Usenet com muitas características extras como nome do autor e procura de artigo. Outro boa opção para achar postagens sobre a HP48 são os sites de busca disponíveis na Internet. Por exemplo, Netscape, Lycos e Magellan entre outros capazes de encontrar artigos sobre a HP48 em Usenet. A procura pode achar inclusive artigos que há muito tempo não se encontram em seus servidores! 2.3 Quais são os melhores sites de FTP da HP48? Muitos programas podem ser encontrados Nos seguintes sites de ftp: o o o para mais sites de ftp veja o Apêndice E-2. 2.4 Há bons sites na Internet sobre a HP48? Em vez de uma lista enorme de sites da HP48 na Internet, apresentamos aqui uma única pagina com links para outras páginas da HP48: o 2.5 Há um canal de IRC da HP48? Sim, tente conectar um canal servidor de EFNet e junte-se ao canal #hp48. Muitos dos grandes experts em HP48 freqüentam este canal, o que faz dele um bom lugar para você obter respostas às suas perguntas. Há também dois IRC robots (hp48b e RPL) no canal, onde hp48b é o servidor. A informação a seguir ajudará você a se conectar. Primeiro, faça o download do cliente IRC. Eis alguns links: Cliente UNIX o o o o o EMACS elisp o o o o cliente X11 o o cliente NeXTStep o VMS client o o o o REXX (client para VM) o o o o o MSDOS o o Microsoft Windows o o o OS/2 o Macintosh o o o o Amiga o o Depois, procure um servidor de EFNet (lista abaixo) e digite "join #hp48" Esta lista também esta disponível por FTP no endereço, irc.cadvision.ab.ca 207.34.96.2 Canadá irc2.magic.ca 199.166.230.68 Canadá irc.magic.mb.ca 204.112.14.42 Canadá portal.mbnet.mb.ca 130.179.16.140 Canadá .. 204.112.178.12 .. irc.mcgill.ca 132.206.27.12 Canadá irc.cs.mun.ca 134.153.1.2 Canadá elk.nstn.ca 137.186.128.21 Canadá irc.vianet.on.ca 204.50.187.50 Canadá irc.polymtl.ca 132.207.4.8 Canadá irc.yorku.ca unresolvable Canadá irc02.irc.aol.com 152.163.193.130 EUA, Virginia irc.blackened.com 192.195.240.63 EUA, Arizona, Tucson irc2.blackened.com 192.195.240.139 EUA, Arizona, Tucson irc.mindspring.com 204.180.131.3 EUA, GA, Atlanta irc.neosoft.com 206.109.6.193 EUA, Texas irc-1.netcom.com unresolvable EUA, Califórnia irc-2.netcom.com unresolvable EUA, Califórnia irc2-1.netcom.com unresolvable EUA, Califórnia irc2-2.netcom.com unresolvable EUA, Califórnia ircd.netcom.com 206.217.29.1 EUA, Califórnia irc.nwlink.com 199.242.23.65 EUA, WA, Bellevue irc.primenet.com 206.165.111.241 EUA, Arizona irc.psinet.com 38.9.15.2 EUA, VA, Herndon irc.sprynet.com 165.121.1.46 EUA, WA, Seattle irc.visi.com 204.73.178.15 EUA, MN, Minneapolis irc.voicenet.com 207.103.0.200 EUA, PA, Ivyland mangky.eecs.berkeley.edu 128.32.240.161 EUA, Califórnia, Berkeley irc.ecn.bgu.edu 143.43.32.201 EUA, IlliNois azure.acsu.buffalo.edu 128.205.7.6 EUA, Nova Iorque irc.cs.cmu.edu 128.2.203.89 EUA, PA, Pittsburgh irc.colorado.edu 128.138.129.31 EUA, Colorado organ.ctr.columbia.edu 128.59.68.35 EUA, Nova Iorque red-dwarf.cit.cornell.edu 132.236.56.9 EUA, Nova Iorque irc.law.emory.edu 170.140.50.195 EUA, GA, Atlanta irc.cs.rpi.edu 128.213.4.197 EUA, Nova York irc.rutgers.edu 165.230.224.131 EUA, NNova Jersey irc.stanford.edu 36.55.0.50 EUA, Califórnia anarchy.tamu.edu 128.194.12.120 EUA, Texas, College Station irc.ucdavis.edu 128.120.101.102 EUA, Califórnia irc.uci.edu 128.195.7.77 EUA, Califórnia, Irvine irc.uiuc.edu 192.17.7.229 EUA, IlliNois akane.umd.edu 129.2.8.149 EUA, MD, College Park pegasus.ccs.itd.umich.edu 141.211.26.105 EUA, Michigan irc.umn.edu 160.94.196.193 EUA, Minnesota piglet.cc.utexas.edu 128.83.42.61 EUA, Texas, Austin becker1.u.washington.edu 140.142.12.67 EUA, Washington irc.eng.yale.edu 130.132.20.72 EUA, Connecticut efnet.evitech.fi 195.148.144.5 Finlândia irc.ec-lille.fr 193.51.52.49 França irc.tau.ac.il 132.66.16.5 Israel irc.technion.ac.il 132.68.1.11 Israel irc.ibm.net.il 192.115.72.164 Israel irc.ais.net 199.0.154.13 EUA, IlliNois irc-ais.ais.net 199.0.154.23 EUA, IlliNois irc.best.net 206.86.8.69 EUA, CA, Mountain View opus.bridge.net 204.253.4.200 EUA, Florida, Miami irc.cdc.net 205.217.64.5 EUA, TN, Chattanooga irc.cerf.net 192.215.245.12 EUA, CA, San Diego irc2.cerf.net 192.215.245.13 EUA, CA, San Diego irc.concentric.net 206.173.136.204 EUA, Michigan, Bay City irc-2.concentric.net unresolvable EUA, Michigan, Bay City irc.digex.net 205.197.247.96 EUA, Maryland irc.frontiernet.net 204.168.13.13 EUA, NY, Rochester irc.gate.net 199.227.0.17 EUA, Florida irc.hookup.net 165.154.1.1 Canadá, Ontário ircd.idt.net 169.132.8.100 EUA, NJ, Hackensack irc.ionet.net 208.129.64.25 EUA, OK, Okc irc.lightning.net 206.148.240.14 EUA, NY, Mineola irc.mcs.net 192.160.127.90 EUA, IlliNois irc.mo.net 205.164.64.254 EUA, Missouri irc.Nol.net 206.126.32.100 EUA, TX, Houston irc.phoenix.net 207.43.0.134 EUA, Texas, Houston irc2.texas.net 206.127.26.3 EUA, Texas, San Antonio ircd.texas.net 206.127.0.130 EUA, Texas, San Antonio irc.voyageronline.net 206.155.203.3 EUA, TN, ChattaNooga irc.homelien.No 194.19.4.206 Noruega eff.org 204.253.162.3 EUA, São Francisco irc.io.org 198.133.36.153 Canadá, Toronto irc.sintercom.org 203.120.37.250 Singapura irc.gd.gu.se 130.241.152.48 Suécia irc.df.lth.se 194.47.252.146 Suécia irc.bofh.co.uk 164.11.100.27 Reino Unido efnet.demon.co.uk 194.159.255.9 Reino Unido 2.6 Como procurar por um arquivo específico da HP48? Se você sabe todo ou pelo menos uma parte do arquivo da HP48, você, pode usar os serviços de busca disponíveis na Internet em vez de aborrecer os leitores do newsgroup. O seguinte servidor é muito bom; ele parece conseguir achar arquivos da HP48 em qualquer lugar. 2.7 Quais são os melhores lugares para se comprar calculadoras HP48 e produtos para a HP48? Educalc: A Educalc mantém linha completa de acessórios e calculadoras HP. Eles também vendem calculadoras da HP usadas e recebem calculadoras usadas como parte do pagamento. Contate-os para obter um catálogo grátis. O endereço da home page da Educalc é: Você também pode contatar a Educalc por e-mail: Nota do tradutor: A discagem gratuita é válida somente para chamadas do interior dos Estados Unidos. Pedido via Discagem Gratuita: (800)-677-7001 \___ pedidos e atendimento Discagem gratuita: (714)-582-2637 / 8-5, Seg-sex, hora de Oeste Pedido com cartão de Crédito: (800)-535-9650 ext. 9162 (24 horas) Pedido por FAX: (714)-582-1445 Suporte Técnico: (714)-582-2637 "Para ajuda em Espanhol - pregunte por Irma" Elek-Tek: A Elek-Tek parece trabalhar somente com produtos da marca HP. Seu preço é um pouco menor que o da Educalc, mas ela não tem produtos da marca HP,(como cartões de RAM) que são muito mais baratos que os da marca HP. Discagem gratuita: (800)-395-1000 Pedidos: (708)-677-7660 Fax: (708)-677-7168 pedidos por Fax: (708)-677-1081 X-Philes CD-ROM: Há no mercado um CD-ROM chamado X-Philesque que inclui arquivos da HP48. Veja a questão seguinte para maiores detalhes. Office Max: Discagem gratuita: (800) 788-8080 Wholesale Products: Esta é outra firma que está na Internet, e vende produtos portáteis da HP, inclusive a HP48. O endereço é: ou você pode também enviar um e-mail: Wholesale Products Pedido via Discagem Gratuita: (EUA/CANADÁ): 1-800-574-7253 One Forbes Street Pedidos por FAX (24 horas): 1-617-438-8307 Box 9134 E-Mail (somente consultas): wholesal@shore.net Chelsea, Massachusetts 02150-9134 Contato telefônico para outros países: 1-617-884-1110 Outros: Global Connections Incorporated (antiga Connection Point, Inc.) 50 South River Street, Suite 105, Janesville, WI 53545 Tel: (608)-752-9548 or (608)-752-1537 Oxford Educational Supplies (Reino Unido). Tel: 01869 343369 (pedidos pelo correio) Nota: não são cobradas taxas para remessas no Reino Unido. Spectrum Office Equipment 22 Stokes Croft Bristol (Reino Unido). 0117 9428278 Best (Oeste Americano, costumava ser em La Belles) 1-800-950-2378 Calculators Inc., Minneapolis, MN, EUA. (612) 866-8908 Carrington, (800) 982-3731 J&R Music World - Computer World 1-800-221-8180 Office Depot (EUA e Canadá) Service Merchandise (Costa Este dos EUA) 2.8 Há CD-ROM com software para HP48? Sim, há alguns CD-ROM com software para a HP48 que conheço: X-Philes: O X-Philes é um CD-ROM fabricado pela Synchron Data que contém muitos programas para a HP48. Ao todo o CD-ROM contem mais de 21 mil arquivos e mais de 620 MB de informações, a maior parte em arquivos zip. A seção da HP48 contém 3194 arquivos e abrange 38.5 MB do total. Ela inclui todos os Goodies Disks da Educalc (também conhecidos como Horn Disks) desde o 1 até o 10. Há também arquivos para HP95, Psion, calculadoras TI-82 e TI-85 Bem como informações e programas sobre: Piadas, Jornada nas Estrela,Esporte, Midi, História, arquivos Estranjeiros,Conspiração, Leis e Negócios, Internet & Networks, Atari, BBS-Sistemas, Hardware, Computadores, 3D-Objects, Anarquia, Hacking, Filmes,Arquivos-X, Música, Revistas, Ciência, UFO e Aliens, Ocultismo, Segurança & Isolamento, Amiga, Cyberspace, Subculturas, Rádio, caça-vírus, Sobrevivência, Phreaking, utilidades para PC, Game Cheat e Programação O CD vem com um software para windows, fácil de usar e capaz de navegar e procurar palavras. Este software contém recursos de transferencia que permite transferir programas diretamente para a HP ou modem usando o X-Modem. Para maiores informações sobre como conseguir o CD-ROM X-Philes No endereço: E-Mail: Correio: Synchron Data Tranbarsvagen 25:14 372 38 Ronneby Sweden SHAREWARE Volume 1 for Hewlett-Packard: Há um CD-ROM de uma firma da Alemanha chamada Yellow Computing O CD se chama SHAREWARE Volume 1 for Hewlett-Packard. Custa 49.80 Marcos (34.00 Dólares) e é distribuído por: Yellow Computing fone +49 7136 951143 Computersysteme GmbH fax +49 7136 951111 Postfach 1136 D-74173 Bad Friedrichshall Germany Esta é a firma alemã que oferece cabos de transferência PC <-> HP-48 junto com software de transferencia de arquivos (o "Transfile Win 48") O CD-ROM vem com um guia de 16 páginas, em Alemão e Inglês, que mostra como usar o programa de transferência para Windows 3.1, que vem incluído ( com programas e manual Nos dois idiomas. Foi compilado em agosto de 95, fabricado em outubro de 95 e contém quase 85 MB de software para a HP48 SX/GX, 95LX, 100LX e 200LX; os Horn Disks do 1 ao 9, e quase 710 programas adicionais em Nove categorias: Animação, Dados, Jogos, Gráfico, Programação, Matemáticas, Memória, Ciência, Utilidade e Comunicações. Também possui 200 arquivos no ordenados e compactados para a HP48. O software para descompactar está incluído. No se trata de um CD-ROM padrão ISO, uma vez que contém diretórios e arquivos cujos Nomes tem pontos de exclamação, hífens e cifrão($). Handheld HP CD-ROM Library: Esta coleção contém 13.611 arquivos totalizando 314 MB de software Compactado para produtos portáteis da HP (HP Handhelds). Os principais grupos são: 1. HP28C/S (mais de 2.5 Mb) Aplicativos, jogos, utilidades e Documentos. 2. HP48S/SX (mais de 48 Mb) Aplicativos, Negócio, Química, Comunicações, Emuladores, Jogos, Gráficos, Matemática, Física, Programação, Sons, Hora, Utilidade, Documentos. 3. HP48G/GX (mais de 40 Mb) Aplicativos, Negócio, Química, Comunicações, Emuladores, Jogos, Gráficos, Matemática, Física, Programação, Sons, Hora, Utilidade, Documentos e Sys-RPL. 4. HP38G (mais de Mb) Applets, kit de desenvolvimento de Applet, Documentos. Arquivos de plataformas totalizam 30 MB, documentação adicionais 18 MB, Varias coleções, incluindo os Horn Disks e uma coleção em SysRPL 106 MB, E finalmente 58 MB de informações sobre grupos da HP espalhados pelo mundo. Para maiores informações, pedidos e preços mande um e-mail para: Ingenieur Professional CD ROM Este é outro CD-ROM alemão, compilado por by Harald Kresin e Franz Lorenz. Ele contém aproximadamente 67 MB de Software para HP. Eles tem página e e-mail: e- O e-mail é <05713201317@t-online.de; O endereço deles é: Franz Lorenz Pocketcomputer & Zubehoer Bruchstr. 51, D-32423 Minden Germany 2.9 Onde posso encontrar vídeos de conferências sobre a HP48? Jake Schwartz mantém uma lista de vídeos sobre calculadoras portáteis da HP, abrangendo reuniões, demonstrações, conferências desde antes de 1986 e a introdução da HP18C. Eles estão disponíveis a custo relativamente baixo a quem se interessar. O endereço de URL é . 2.10 Há emuladores da HP48? Um emulador da HP48, bastante funcional, criado por Eddie Dost, o X48 está disponível. Ele roda em X-Windows ou em sistemas operacionais Unix como o Linux ou o Solaris. O X48 precisa de uma cópia da ROM da HP48 para rodar. Naturalmente devido a leis de direitos autorais, não é permitido distribuir uma cópia da ROM com o X48. Então, você precisa ter uma HP48 S/SX ou G/GX para fazer uma cópia da ROM. O emulador vai se parecer e agir como uma S/SX ou G/GX, conforme a cópia da ROM que estiver sendo usada. Maiores informações estão contidas no próprio pacote do X48. A Última versão está disponível no endereço: Há também um emulador versão shareware para Windows, o Win48. O Win48 é de autoria Sebastien Carlier e roda em Windows95/NT. Ele apresenta muitas características interessantes, incluindo maior velocidade, transferência de arquivos diretamente para os níveis da pilha, é compatível com a porta 1 e é capaz de salvar a memória. Ele é compatível com a ROM da S/SX e da G/GX ROM e vem com o "RomDump Wizard" para ajudar o usuário a fazer uma cópia da ROM. A versão demonstrativa (demo) e maiores informações estão disponíveis no endereço: A versão demo tem limite de duração a fim de assegurar que o programa possa ser registrado por uma pequena taxa. Há também um emulador da HP48 S/SX/G/GX, chamada Alcuin, para computadores Amiga.Veja o endereço abaixo para maiores informações. 2.11 A HP48 é permitida nos testes de ATs, AP, ou ACT ? (EUA) de: Jack Levy A S/SX/G/GX é permitida em testes de SAT. A S/SX/G/GX é permitida em testes de SAT II Math IIc, entretanto calculadoras não são permitidas em nenhum dos outros. A S/SX/G/GX é permitida nos exames de AP Calculus, más somente a S/SX é permitida nos exames de AP Chemical e AP Physics A G/GX não é permitida por causa da biblioteca de equações (Eq LIB) Atualizado por: Sandler Rubin Desde 1996, as HP48G são permitidas nos teste de AP de Física e Química, mas somente na parte de respostas discursivas. Todas as calculadoras são agora proibidas nas partes de múltipla escolha nos testes de AP de Física e Química. Para cálculo, a HP48G é permitida em metade da parte de múltipla escolha e em toda a parte de respostas discursivas. A outra metade da parte de múltipla escolha do teste de cálculo deve ser feita sem calculadora. Estas mudanças ocorreram porque os testes de AP são agora mais conceituais e dependem menos de resultados numéricos. Na parte de respostas discursivas dos testes de Química e Física as equações são fornecidas ao estudante, o que faz a EQ LIB da HP ser desnecessária. Atualizado por: John Goerzen Depois de muita discussão com Candance Noble da ACT, eles mudaram de opinião e permitem calculadoras com infravermelho nos testes se o dispositivo de infravermelho for coberto com uma fita opaca. A seguir a resposta deles: Esta nota é em resposta às questões que a ACT recebeu a respeito de calculadoras. Passe este esclarecimento a outros. No outono de 1996, pode-se usar calculadoras nos testes de ACT Assessmente e PLAN Mathematics. Estudantes que prestam o ACT devem ler com atenção a página 3 do "Registering for the ACT Assessment". Estudantes que vão prestar o "PLAN" devem ler com atenção a pagina quatro do "Planning Guide for Students and Parents". Todos os tipos de calculadoras são permitidas -- incluindo calculadoras programáveis e calculadoras com fórmulas incorporadas -- contanto que a calculadora não apresente as características não permitidas especificadas nas publicações da ACT acima citadas e explicadas em detalhes abaixo. Os estudantes que usarem calculadoras não permitidas serão eliminados dos testes. A seguinte informação tem por objetivo auxiliar os estudantes a escolher uma calculadora caso quiserem usá-la nos testes de ACT ou de "PLAN Mathematics Test". Agendas de Bolso/ Laptops, Computadores Portáteis Todos os similares são proibidos. Escritores Eletrónicos PADS/Dispositivos com Caneta Ótica Estes modelos são facilmente reconhecíveis devido a caneta ou pelo tipo de entrada de dados. Todos os modelos semelhantes são proibidos. O temo QWERTY deve-se as seis primeiras letras das teclas da linha superior do teclado das máquinas de escrever, computadores, laptops, agendas e calculadoras especiais. Todos os modelos que possuem teclado QWERTY são proibidos. Fitas de Papel Se a calculadora for do tipo que trabalha com papel, o papel deve ser removido para que a calculadora possa ser usada nos testes. Barulho Calculadoras que possuem dispositivos de áudio são permitidas em testes somente se estes forem desligados. Comunicação sem Fio Calculadoras que podem se comunicar (transferir dados ou informações) sem fio podem ser facilmente reconhecidas pela janela ou dispositivo de infravermelho na parte frontal superior. O dispositivo é semelhante ao de um controle remoto de televisão. Estas calculadoras são permitidas somente se for colocado um material opaco sobre o dispositivo de infravermelho para não permitir que ele funcione. Cabo de Alimentação Se a calculadora funciona com pilhas ou cabo ( de fonte de alimentação) o cabo não deve ser utilizado para que a calculadora seja permitida nos testes. 2.12 Quando vai ser lançada a próxima HP? Devo esperar? de: Matt Willis Ninguém sabe ao certo. Há rumores sobre isso há anos. Mas é só isso- rumores. Os que sabem, no falam. Naturalmente, haverá especulações. Mas quem trabalha para HP não diz nada. Talvez por ética profissional ou provavelmente seja algo que eles não podem dizer, por motivos contratuais. Então é difícil perguntar. Por que isso? Faz certo sentido, do ponto de vista da HP. A HP, ao contrário de outros fabricantes de calculadoras, espera até que o produto esteja pronto antes de lançá-lo no mercado. Por exemplo, a HP38 foi uma surpresa. Pense o que aconteceria com as vendas se a HP anunciasse uma nova calculadora saindo dentro de 6 meses. Mesmo se a HP anunciasse uma nova calculadora amanhã, eu não acho que iria trocar a minha pela nova imediatamente. Por que? Bem, quando a 48G/GX saiu ela passou pelas revisões K, L, M, P e R ( para saber qual versão você tem digite VERSION). A próxima calculadora, de acordo com as Leis de Murphy, terá tantas falhas (bugs) quanto a calculadora que a precedeu. 2.13 Em que a HP48 se assemelha às outras calculadoras? de: Chin-Yu Hsu Quais são as diferenças entre a HP48 e a TI? Antes de listar as diferenças quero que você saiba que a HP tem muito mais funções que a TI. Contudo estas funções quase sempre são inúteis no segundo grau, em comparação com as funções da TI. Por outro lado são muito úteis na faculdade, dependendo do curso. A TI é provavelmente melhor para ser usada nas provas de segundo grau pois é mais fácil de usar (para a maioria) e também calcula mais rápido (ela tem mais rapidez, enquanto a HP maior precisão). Observe que a HP também tem a HP38 que pode ser melhor comparada com a TI-82 Se o que você quer é uma calculadora que tenha assistência, a HP é a melhor escolha, se bem que também é possível ter assistência da Texas Instruments (por telefone ou pela Internet), bem como de professores e colegas na escola. Para a HP é possível obter assistência de um grupo maior de usuários. Há muito mais sites da HP do que da TI. A HP tem também seu próprio newsgroup e seu próprio canal de IRC, geralmente 24 horas por dia mantido por um robô capaz de enviar programas a quem pedir. Note que enquanto alguns recursos para fazer cálculos ou gráficos podem não estar presentes em uma calculadora em particular, você geralmente pode fazer download de programas que permitem fazê-lo. Se você acha que a informação acima é incorreta me informe. Você precisará de provas se eu não for capaz de confirmar tal informação. Qualquer informação sobre a TI é útil porque muita coisa sobre a TI é ainda mistério. Diferenças Gerais: Calculadora HP38 HP48(2) TI-82(3) TI-85 TI-92 Preço(4) 109.00 135.00/? $125.00 $135.00 $250.00 Memória(5) 32KB 32/128KB 28.2KB 28.2KB 70.0KB Pilhas(6) ??? 3AAA 4AAA+1 4AAA+1 4AAA+1 Cartões Plug-in Não Sim(7) Não Não Não Transm. Infra- Vermelho Sim Sim(8) Não Não Não Transm. por cabo Sim Sim Sim Sim Sim Transf. Calc-PC(9) Sim Sim Sim Sim sim Exibição Com Retro- Projetor Sim Sim(10) Sim Sim Sim Suporte de CBL(11) Não Não Não* Sim Sim Teclado QWERTY(12) Não Não* Não Não Sim Captura De tela Sim Sim via cabo via cabo via cabo Resolução Do Visor 131x64 131x64 96x62 128x64 240x128 Caracteres Do Visor 22x8 22x8 16x8 21x8 ????? Funções Diversas Calculadora HP38 HP48(2) TI-82(3) TI-85 TI Eq. Solver simples Sim Sim Não Sim Sim Eq. Solver Simultâneo ????? Sim Não Sim ????? Procura de Raízes de polinômios Sem limite Sem limite Não de ordem 30 Sim Número de Matrizes 10 Sem limite 5 Sem limite ????? Tamanho máximo da matriz(12) Sem limite 125x125 15x15 Sem limite ????? Funções Gráficas: Calculadora HP38 HP48(2) TI-82(3) TI-85 TI-92 Num. de Gráficos simultâneos > 10 sem limite > 10 > 99 > 99 Tipos de Zoom 14 15 13 15 ????? Tracing (mostra a posição do cursor) Sim Sim Sim Sim Sim Tabelas de valores de Funções Sim Não Sim Não Sim Gráficos Paramétricos Sim Sim Sim Sim Sim Gráficos Polares Sim Sim Sim Sim Sim Gráf. Seqüenciais Recursivos Sim Sim Sim Sim Sim Graf. de Eq. diferencial Não Sim Não Não Não Gráfico Cônico Não Sim Não Não Não Gráfico 3-D Não 7 tipos Não Não Sim Área sob uma curva Não Sim Sim Sim Sim Extremos Sim Sim Sim Sim Sim Raízes Sim Sim Sim Sim Sim Declividade ??? Sim Sim Sim Sim Linhas Tangentes ??? Sim Não Não ??? Funções estatísticas: Calculadora HP38 HP48(2) TI-82(3) TI-85 TI-92 Graf. Scatter (Dispersão) Sim Sim Sim Sim Sim Gráficos de linha X-Y Não Não Não Não Sim Gráficos Box-Whisker Sim Não Sim Não Sim Histogramas Sim Sim Sim Sim Sim Gráficos de Regressão Não Sim Sim Sim Sim Gráfico de Barras Sim Sim Sim Sim Sim Gráficos verdade Sim Sim Não Não Não Notas: 1. Quando especificado, "sem limite", significa que há limitação somente pela quantidade de memória disponível 2. Há 4 tipos de calculadoras HP48. São elas a HP48S, HP48SX, HP48G e a HP48GX. Os modelos S e SX são modelos mais antigos, e poucos se interessam nelas, uma vez que a G e a GX oferecem todos os recursos destas, mas com avanços adicionais que as tornam mais fácil de usar. A HP48G e a HP48GX são também 40% mais rápidas que os modelos HP48S e HP48SX. Há apenas duas diferenças entre a HP48G e a HP48GX: A HP48G tem 32K de RAM e não é expansível ,enquanto a HP48GX tem 128K e aceita cartões de RAM adicionais. 3. Há uma nova versão para a TI-82, a TI-83, que deve estar disponível em breve. Ela tem todos os recursos da TI-82 e também tem funções estatísticas e financeiras e é capaz de mostrar uma tabela e gráficos lado a lado. Observe que a HP48 não tem este recurso, entretanto ele está disponível na HP38. A TI-83 também tem um SOLVER , capaz de resolver equações como o da HP48 4. O perco da HP não inclui o cabo porque ela pode transferir dados por infravermelho. O preço da TI inclui o cabo para conectar uma TI a outra. O preço da HP48G é da ordem de 135.00 dólares, enquanto o da HP48GX de 265.00 dólares. 5. A memória disponível das HP, na lista, não é mais baixa que os valores reais. A memória disponível da HP48G é 32 K. A HP48GX têm 128K de RAM disponível e pode ser expandida até a 4.5 megabytes! 6. As pilhas usadas por estas calculadoras são do tipo AAA. Pilhas recarregáveis não são recomendadas por terem tem duração mais curta que pilhas alcalinas. A TI necessita também de uma bateria CR-1616 para a memória. As HP não precisam desta bateria, mas se você retirar as pilhas, você tem cerca de três minutos para trocá-las por pilhas novas antes que a memória se perca. Os cartões de RAM da HP48GX, entretanto, necessitam de uma bateria CR-1616 caso você queira guardá-los em um local que não seja a própria HP48GX. 7. Somente a GX aceita cartões plug in. A G não aceita. 8. se você está pensando em comprar uma HP para colar nas provas por ela ter recursos de infravermelho, esqueça. O receptor de infravermelho da HP tem alcance máximo de três polegadas (o transmissor tem alcance maior, da ordem de alguns pés, mas de nada ajuda, a não ser que você o use como controle remoto de sua TV, ou envie sinais a um dispositivo de infravermelho conectado a uma fonte de corrente alternada, como o das impressoras HP LaserJet 5. 9. A conexão da calculadora com o PC (ou MAC) requer cabo e software adicional. Para a HP você só precisa do cabo que pode ser feito com peças de computadores (um DB-9 e um cabo de CD, que custam ao todo quase 15 dólares). Não é necessário software adicional já que é possível usar programas de comunicação de sua escolha. Para a TI você precisa comprar um software e um cabo por preços que variam de 60 a 80 dólares em algumas lojas ou fazer o download grátis do software do site da TI e tentar fazer seu próprio cabo. O mesmo tipo de "pacote" está disponível na HP, mas ela também oferece ferramentas de programação e depuração (debug) por preços competitivos. 10. A unidade de exibição para retroprojetores (overhead display) usada em projeções está disponível somente para a HP48GX porque a HP48G não tem o slot de expansão para instalar o cartão de interface necessário. 11. CBL é a abreviatura de Computer Based Laboratory. Foi criado pela TI e naturalmente não está disponível na HP. Ele permite coletar dados de fontes diversas (sons, temperatura) em intervalos definidos. Os dados podem ser então analisados na calculadora. O CBL custa aproximadamente 225 dólares. Observe que há um dispositivo semelhante para a HP48 chamado ADCM-48 que é um conversor de interface entrada/saída (I/O) e analógico-digital capaz de ler 4 entradas analógicas e quatro entradas digitais. 12. Observe que calculadoras com teclado QWERTY não são permitidas em exames SAT. As calculadoras da HP não possuem teclado QWERTY, mas podem ser conectadas a um computador e permitir que você digite usando o teclado do computador depois da instalação de um programa freeware como o que se encontra em . 13. o tamanho máximo de matrizes na HP48G é 42x42. Na HP48GX é 85x85, mas pode chegar a 25x125 se for adicionado cartão de RAM. de: Bernard Parisse o Exibição com Retroprojetor: há modelos especiais para a TI; modelos standard são de baixa qualidade. o Memória: A TI92-II tem 198K de memória (preço na França: 1890, em vez de 1390 francos) o Processador: 68010 modificado, com 10MHz o Geometria de Cabrini é muito lenta na TI. Os professores com que falei dizem que nunca usam a TI quando se trata de Geometria de Cabrini. o Computação Numérica: A HP ganha de longe da TI, principalmente em Álgebra Linear ( fatoração de matrizes autovalores e autovetores, etc.) o Computação Simbólica ( ou Algébrica): A TI bate a HP de longe, sem nenhum programa de matemática adicional. Eu instalei na TI os melhores programas da Internet, isto é Ntheory (10K), para teoria numérica , Odeproj para equações diferenciais ordinárias (40K); isso foi tudo o que consegui, porque tenho uma TI com 70 KB. Depois comparei a TI com a HP com os programas Alg48 e Erable instalados. A maior vantagem da TI-92 é a velocidade, cerca de 5 a 10 vezes mais rápida que o Erable e cerca de 1 a 2 vezes mais rápida que o Alg48. O maior problema da HP é a falta de um programa para resolver limites. Alguns recursos de Alg48 e do Erable não estão disponíveis na TI92. o Fatoração de Inteiros e de polinômios (limitados a fatores menores ou iguais a 65520 na TI92. Inteiros não podem ter mais que 614 dígitos na TI92) Por exemplo, a forma expandida de (x^4+x^3+1)*(x^4+x+1) não pode ser fatorada na TI o Integração: o algoritmo de Risch não está disponível na TI, por exemplo, ela não consegue resolver a antiderivada de (1+2x^2)*exp(x^2) o Séries de Taylor: Esta característica provavelmente está disponível da mesma forma que na ROM da HP48, uma vez que a TI não consegue resolver séries como (sin(x)/(exp(x)-1)), em x=0, para ordens superiores a 4. o Autovalores/Autovetores/Matrizes de Jordan o Sistemas de Equações polinomiais (Base de Groebner) o Equações Diferenciais ordinárias só podem ser resolvidas com programas como o Odeproj, não há suporte para transformadas de Laplace ou Transformadas de Laplace inversas. o Muitos programas internos da TI não são acessíveis ao usuário final da TI-82, uma vez que o código fonte de Alg48 e de Erable estão disponíveis gratuitamente. o Programação: Assembler está agora disponível na TI, mas não há nada semelhante a SysRPL. A linguagem residente pode ser comparada a uma linguagem em shell-script, com algumas limitações por exemplo, quanto ao uso de programas em funções. Nota do tradutor: Em português usa-se "Arquivo em Lote" ou "batch File" como tradução próxima de "Shell-Script" 2.14 Que é a Universal Font Library (UFL)? A Universal Font Library, ou UFL se abreviado, é um conjunto de bibliotecas, feitas para reduzir o excesso de fontes intercambiáveis em grande parte de programas da HP48. A idéia básica é em vez de cada programa que contém sua própria fonte (de substituição), as fontes são armazenadas em uma biblioteca central para economizar espaço. Além disso, a UFL vem com uma biblioteca de manutenção de fontes a "Font Maintenance Library (FMnt)". Se você usa alguns dos programas da Lista dos Melhores Programas, você pode achar que precisa ter uma biblioteca de UFL especial instalada para usar o programa. A UFL é mantida por Andre Schoorl e é distribuída sob a licença pública geral do GNU ( GNU General Public License). Para mais informações e para obter um "pacote", veja . 2.15 Quais são as melhores opções de editores? Se você gosta de fontes pequenas, eu recomendo o TED, de Mika Heiskanen, ou o MiniWriter de Jean-Yves Avenard. Ambos usam a FNT1 da Universal Font Library (UFL) e permitem personalizar fontes e economizar espaço. O MiniWriter é pequeno e rápido, tem comandos como cortar, colar, copiar e localizar. Está disponível no endereço: http://www.epita.fr/~avenar_j/ O TED tem alguns recursos a mais, como um mapa de caracteres, entretanto é maior. O TED baseia-se no ED, que é o editor que vem com a biblioteca Jazz (Jazz library). A versão atualizada está disponível no endereço: . Se você prefere fonte de tamanho médio eu recomendo o HP-Writer, de Paquot Christophe. Ele é pequeno, rápido, e usa a FNT2 da UFL. Seus recursos incluem cortar, colar e copiar bem como teclas de macro e suporte incorporado para teclas de User RPL. O HP-Writer só funciona na G/GX. A versão mais recente está disponível no endereço: . Outros editores são: StringWriter, também de Jean-Yves Avenard. O StringWriter é uma biblioteca bem completa com muitas opções; O QED, escrito originalmente por Lutz Vieweg, que agora é mantido por Rick Grevelle. 2.16 Existe alguma fonte de caracteres PC para a HP48? Sim, há várias fontes nos Goodies Disks (veja o Apêndice E), como também algumas fontes TrueType disponível no endereço: 2.17 O número de série da HP48 está disponível na memória? Não, não há versão eletrônica para o número de série da HP48. Isto aparentemente foi levado em conta pela equipe de projeto, mas concluiu-se que o custo era muito maior que os benefícios. 2.18 Qual o formato do número de série da HP48? O número de série da HP48 é impresso na parte de trás da HP48, acima do compartimento das pilhas. Há dois formatos diferentes de números de série. O formato mais antigo era usado quando a HP48 foi lançada e continuou sendo usado até o inicio de 1997. O formato novo já era usado em palmtops da HP desde (aproximadamente) 1993 e começou ser usado nas calculadoras no início de 1997. O Novo número de série tem o seguinte formato: ccywwnnnnn Onde: cc - lugar de fabricação (novo código de duas letras) Os códigos conhecidos são: o SG = Singapura o ID = Indonésia o MY = Malásia y - ano de fabricação. Refere-se aos dois últimos dígitos do ano. O número 7, por exemplo, refere-se a 1997. ww - semana de fabricação (01-53). nnnnn O número referente esta semana. (a primeira unidade, na segunda-feira é 00001) Por exemplo, se você tem um número de série como SG72706543, ele corresponde à unidade número 6543 fabricada em Singapura, na vigésima sétima semana de 1997. O número de série antigo tinha o formato: yywwMnnnnn Onde: yy - o ano em que a unidade foi fabricada. (some 1960 a este valor) ww - semana de fabricação (01-53). M - o lugar de fabricação; A, se fabricada na América (EUA), S se em Singapura nnnnn O número referente a semana de fabricação (a primeira unidade, na segunda-feira é 00001 Por exemplo,o número de série 3321S07509, refere-se a unidade número 7509 fabricada em Singapura, na vigésima primeira semana de 1993. 3. Questões sobre versões da ROM 3.1 O que as SX/GX tem que as S/G não tem? SX: A HP48 S é idêntica a HP48 SX; excetuando-se que a HP48 S Não tem duas entradas para expansão como a HP48 SX. Isso significa que a HP48 S não pode ter a memória expandida e pode ter somente 32K de memória em vez dos 288Kb da HP48 SX (dois cartões de RAM de 128Kb). (De fato, ha outros fabricantes de cartões que possuem 256K ou 512K em um único cartão -- o acesso é por mecanismo tipo bancos de comutação (bank switching).) GX: A HP48 G é idêntica a GX, exceto por duas diferenças. A GX tem duas entradas de expansão, e também tem memória residente de 128 kB, enquanto a G tem apenas 32K. Se você planeja usar sua calculadora intensamente, provavelmente vai achar que 32K de memória não são o bastante. De fato,32k não são suficientes para alguns dos melhores programas da HP48! 3.2 Qual é a diferença entre a HP48 G/GX e a S/SX? As calculadoras HP48 G/GX são , basicamente, um pouco mais rápidas ( 40%) que as versões da HP48 S e da HP48 SX , com mais recursos, tal como plotagem-3D e interfaces. Muitas das bibliotecas HP Solve Equation contidas em cartões são agora residentes. Veja o apêndice B-1 para uma lista detalhada detalhada de características da GX. Nota-se também que a HP48 G/GX é diferente da HP48 S/SX em muitos aspectos: 1. A HP48 GX tem 128KB de RAM, enquanto a HP48 SX tem 32k. A HP48 G ainda tem 32KB RAM, entretanto. A HP48 G/GX também tem duas vezes mais ROM (512K), quando comparada com a HP48 S/SX (256K). 2. Muitos dos comandos internos da HP48 G/GX são diferentes, comparados com os da HP48 S/SX. Infelizmente, isso implica que programas feitos em linguagem Assembly ou System RPL, que funcionavam na S/SX, não funcionam na HP48 G/GX. Isto acontece para qualquer programa com acesso direto à memória de exibição. 3. A CPU da HP48 G/GX roda a 4 MHz, em vez de 2 MHz como era a CPU da HP48 S/SX . Contudo devido a vários problemas(banco de memória, trocas etc.), o acréscimo de velocidade da G/GX em relação a S/SX é menor que duas vezes. O Processamento de G/GX é aproximadamente 40% mais rápido. 4. O conector de expansão 2 (slot 2) da HP48 GX pode dar acesso a 32 portas (portas 2-33) por mecanismo tipo banco de comutação (bank switching). Cada porta é de 128KB, sendo possível atingir um máximo de 4 MB com o conector de expansão 2 (slot 2). 3.3 Como posso saber que versão de ROM possuo? GX: Digite "VERSION". Observe que este comando não faz parte de nenhuma tecla ou menu e é preciso faze-lo em separado. Digite #30794h SYSEVAL. Você obterá uma seqüência de caracteres do tipo: "HPHP48-x", onde x é a versão da ROM. Este comando é valido tanto para a SX quanto para a GX. SX: 1.Ligue a calculadora (Pressione ON e solte). 2. Pressione ON novamente e mantenha pressionado 3. Enquanto a tecla ON estiver pressionada, pressione e mantenha pressionada a tecla "D" (a quarta tecla da primeira fila). 4. Mantendo pressionada a tecla "D", solte a tecla ON. 5. solte a tecla D. O visor ficará branco, exceto por três linhas verticais ,uma no meio, uma á esquerda e outra à direita. 6. Pressione a tecla de backspace (a que tem escrito DROP e CLR) Uma string de dígitos deve aparecer na primeira linha visor (a minha mostra "705D9:1B8DA178E5A111B6" -- a tua deve ser diferente). 7. Pressione e segure pressionada a tecla EVAL. Deve aparecer algo como o descrito abaixo, onde o "?" representa a versão da ROM e é uma letra maiúscula: Version HP48-? Copyright HP 1989 8. Solte a tecla EVAL. Pressione ON aperte "C" (a terceira tecla da primeira fila. Isto fará com que a calculadora retorne a seu modo normal de operação, saindo do modo de verificação, acessado por ON-D. 3.4 Quais as falhas que existem nas versões da HP48? Rom: A o DEFINE arredonda números em funções definidas pelo usuário se STD não estiver ativado. o KGET quando executado para um arquivo de tamanho zero de outra calculadora apaga a memória. o NXEQ quando executado em modo gráfico com a flag -3 (SYM desativada) pode sobrescrever a equação atual com um número. o o ajuste do relógio para 24 horas causa erro no menu de alarmes, nos dígitos das unidades dos minutos. Roms: A-C o INV retorna um resultado incorreto se usada uma matriz 8x8 ou maior. Para solucionar este problema divida a matriz identidade pela matriz que se deseja inverter. Roms: A-D o Entrando-se com um número complexo na forma polar (A,< B) (onde < é o símbolo de angulo), retorna uma expressão de A e B que é incorreta.(A e B são trocados de posição de modo que A fica sendo o angulo e B a norma do número complexo.) o Se o relógio estiver ativado durante a execução do comando ARCHIVE via RS-232, é possível(mas não 100% certo) que a memória da calculadora seja apagada. A solução é desativar o relógio antes de fazer a transferência. Se sua memória deveria ser apagada, você terá que restabelecer os conteúdos de memória do arquivo. o TRNC e RND aceitam uma tabela no nível 2 e uma expressão simbólica no nível 1. Isso possibilita fazer uma tabela em forma simbólica. Exemplo: [ 2 3 ] '7/8' RND retorna 'RND(UNKNOWN,7/8') Roms: A-E o Há uma falha no Equation Writer que foi corrigida na Revisão J da ROM. Ver apêndice C-1 para maiores informações. Roms: E, J o BEST FIT: ocorre um erro quando uma tabela bidimensional é armazenada em \GSDAT (SigmaDAT). Pressionando BESTFIT varias vezes aparecem vários números sem significado nos níveis da pilha. Rom: K o primeira leva de HP48 G/GX; Apresentam vários problemas envolvendo portas. Por isso, a versão K da ROM só foi usada nas HP48G Roms: K, L, M, P o XROOT falha quando usado em processamento de listas exceto se X=Y. Não corrompe a memória. SOLUÇÃO: Preceda o XROOT, que vai usar uma lista, com SWAP Rom: L o Segunda leva de HP48 G/GX; corrigidas as falhas das portas. Esta versão da ROM é a versão da ROM presente nas 2000 calculadoras HP48GX vendidas na conferência ASEE, a noventa dólares cada. Roms: L, M o A HP48 GX pode perder toda a memória de usuário quando: o relógio estiver ativado, um objeto de biblioteca for armazenado na memória do usuário, um cartão de RAM for inserido na porta 1 e incorporado com memória do usuário. Se as quatro condições forem satisfeitas simultaneamente e a calculadora for ligada quando o relógio estiver sendo atualizado pelo sistema, pode ocorrer perda total da memória do usuário. Correção: Digite o seguinte na sua calculadora: << RCLF -> f << -40 CF OFF f STOF >> >> 91.3 ASN Então acione o modo do Usuário (User Mode) o Equation Writer/Character Picker: se o tamanho da equação é maior que o tamanho do visor, quando se ativa o Character Picker no Equation Writer, o conteúdo do visor fica truncado. o Se você armazena um objeto em uma porta maior que 1 enquanto tem um cartão instalado no slot o criador do código da seqüência fim-do-objeto (00000) é escrito na a porta 1 em vez de ser escrito na porta destino. Isso fará um aviso de 'Invalid Card Data' aparecer a cada vez que se liga a calculadora. Além disso a memória da porta 1 (caso ainda seja possível gravá-la) será corrompida. Uma solução temporária é retirar o cartão do slot 1 quando mudar o conteúdo do cartão no slot. 2. Contudo a melhor solução é usar o STOFIX library (disponível no GD 10 ou na HPCVBBS, aproximadamente 1KB). o TAIL: o comando TAIL retorna um erro para stings de tamanho simples. Isso foi corrigido para que este comando retorne uma string em branco, nas versões posteriores. Examplos: "X" TAIL --> Error: Invalid Dimension (Rom M) "X" TAIL --> "" (Rom R) Rom: M o Evaluando-se um objeto que contenha um operador do tipo (+, -, *, /, etc) como segundo ou subsequente caracter aparecerá um EXTERNAL ou um sistema binário na pilha, bem como o objeto original. Roms: L, M, P o SigmaDAT: coloque um objeto que não seja matriz em \GSDAT (SigmaDAT), rode o comando gráfico de STAT e edite \GSDAT. Isso dá pane. o XRECV falhara ou causará perda de memória se a quantidade de memória livre não for pelo menos duas vezes o tamanho do arquivo esperado. solução: veja FXRECV no GD 9. O FXRECV não é necessário para a versão R da ROM e ,de qualquer jeito, não roda bem na versão R. o RREF não transforma matriz em Forma Reduzida corretamente se a primeira coluna da matriz tiver somente elementos nulos (zeros). Também pode dar respostas incorretas em algum matrizes. A solução desta falha é a coluna de zeros da matriz; isso pode ser feito usando o Matrix Writer, através de -COL no menu, ou através dos comandos: 1 COL- DROP (para dar um drop na primeira coluna). Uma vez que a operação de exclusão de uma fila da matriz não muda a coluna de zeros, você já sabe com antecedência que a referida coluna deve ser de zeros no resultado final. Roms: L, M, P, R o portnum: { dir ... var } RCL/EVAL falha se a o numero da porta for >= 2 o Falha na Conversão da taxa de rotação para freqüência angular. Veja o Apêndice C-2 para informações completas. Roms: M, P, R o Sucessivas execuções de FFT ou IFFT podem causar perda de memória. O problema do warmstart (partida a quente) de FFT e IFFT é causado por a CPU retornar à pilha sobrecargas durante o manuseio ininterrupto. O problema só ocorre quando o argumento para FFT ou IFFT é uma matriz MxN com M>1 e N> 1. O caso de argumento de vetor não é afetado por este problema Solução: para avaliar o FFT de uma matriz sem risco de partida a quente (warmstart), amplie a matriz em seus vetores-linha usando - >ROW, compute o FFT de cada vetor-linha, guarde os resultados em uma matriz, use ROW ->, amplie a matriz em seus vetores-coluna usando - >COL, compute o FFT de cada vetor-coluna, e finalmente guarde o resultado em uma matriz que usa COL ->. A não ser pela pouca precisão, este é o mesmo resultado obtido aplicando- se FFT na matriz original. Use o mesmo procedimento com FFT, substituindo-o por IFFT, para avaliar o IFFT de uma matriz. Eis alguns exemplos de programas que implementam "Matriz FFT" e "Matrix IFFT". MFFT << ->ROW FFTLP ROW-> ->COL FFTLP COL-> >> MIFFT << ->ROW IFFTLP ROW-> ->COL IFFTLP COL-> >> FFTLP << -> n << 1 n START n ROLL FFT NEXT n >> >> IFFTLP << -> n << 1 n START n ROLL IFFT NEXT n >> >> o Equation Writer/Equation Library (falha na interação): Se você escolher uma equação da biblioteca ( EQ LIB), executar o modo solver para aquela equação, entrar com um objeto algébrico na pilha, por exemplo ' X^2 ', e pressionar "seta para baixo" para ver o objeto algébrico no EquationWriter, o nome da equação aparecerá no EquationWriter junto com o objeto algébrico não associado. Roms: M, P o BESTFIT: Ocorre quando uma tabela de duas dimensões é armazenada no \GSDAT (SigmaDAT). Pressionando-se BESTFIT varias vezes pode ocorrer uma partida a quente (warmstart) bem como SigmaDAT pode ser apagada. Isso ocorre algumas vezes batendo-se pressionar repetidamente BESTFIT, apesar do conteúdo de \GSDAT. Esta falha pode também ser notada pressionando-se BESTFIT, no menu, rapidamente depois de pressionada outra tecla. Basta pressionar MODL e depois BESTKEY rapidamente para ocorrer a falha. Rom: P o PROOT: se você colocar uma matriz de coeficientes na pilha e pressionar repetidamente PROOT provocará uma partida a quente (warmstart). Roms: A-R o Falha no MatrixWriter: Acontece quando desativando e reativando quaisquer dos dois campos de movimento de direção. Se você fizer isto, o campo de matriz ativo não se move como deveria. Por exemplo: acione o Matrix Writer (verifique se GOFORWARD está ativado). Digite [1] [ENTER]. O campo de matriz ativo movimenta-se corretamente. Desative GOFORWARD e ative novamente. Agora digite [2] [ENTER] [3] [ENTER]. Os dígitos deveriam aparecer na mesma fila, mas eles não aparecem, porque depois que você desativou e reativou o GOFORWARD, o campo de matriz ativo deixa de se mover de como deveria. 3.5. O que há de novo na revisão "J" da ROM (S/SX)? A revisão J da ROM tem a EQUATION WRITER mais rápida, bem como algumas falhas corrigidas. A rolagem de gráficos também é mais rápida. Um "problema" e´ que com a revisão J da ROM algumas partes da ROM que não foram documentadas foram alteradas, o que prejudicou programas que as usavam. Se você possui uma revisão J da ROM, não será possível rodar alguns programas mais antigos. 3.6. O que aconteceu com as versões G, H, I, O, e Q? Estas versões nunca chegaram ser liberadas ao público, ou foram omitidas. Eu recebi confirmação da existência de uma HP48 S com a revisão F da ROM. Isto leva a crer que a revisão F foi, de fato, liberada ao público, embora poucas devem ter sido produzidas antes que a revisão J saiu. 3.7. É possível atualizar minha HP48 S/SX? Quando as primeiras G/GX saíram, a HP tinha um programa de negociação. Este programa já expirou. Você pode então tentar vender sua S/SX por conta própria ou tentar negociar com a Educalc. Contate a Educalc para maiores informações. O número da Educalc esta no Apêndice E-5. 3.8. É possível atualizar minha GX para a última versão da ROM? Que eu saiba, não é mais possível. Havia um programa de negociação no inicio de 94, mas já expirou. Entre em contato o seguinte endereço para maiores informações: Hewlett-Packard Corporation Calculator Support 1000 NE Circle Blvd Corvallis, OR 97330 Fone: (541)-757-2004 opção 1 3.9 Qual é a ultima versão da ROM? o A Revisão R é a ultima versão da série G/GX. o A Revisão J é a ultima versão da série S/SX. 3.10 Por quê comprar uma S/SX ao invés de uma G/GX? Aqui estão as razões mais fortes para comprar uma S/SX em vez de uma G/GX: (obrigado aos colaboradores) 1. Pode ser um pouco mais barata tendo apenas 32K de RAM. 2. Não é obsoleta. 3. É um pouco mais lenta. E dai? 4. Você nem sempre precisa de muitas as equações inúteis, recursos gráficos funções matemáticas ou científicas 5. Se você danifica-la ira perder menos dinheiro 6. Você gosta de descobrir quanto pode gravar em 32K de RAM. 7. Você prefere transferencias mais lentas, usando Kermit em vez de X-Modem. 8. Você quer ser capaz de fazer uso de todos aquelas listas de SYSEVAL para a SX 9. Você prefere ter ,no máximo, 3 portas disponíveis. 33 é ridículo! 10. Uma vez que ela não possui grande número de equações embutidas tem menor probabilidade de ser proibida em provas e exames. 11. Somente os novatos e os principiantes precisam de caixas de diálogo e listas de escolha. 4. Questões sobre o Sistema Operacional e Uso da HP 4.1. Como achar a checagem da soma (checksum) de um objeto? Muitos documentos, incluindo esta FAQ, fazem referência a checagem da soma ou "checksum" de um objeto. Este é um resultado binário de 16-bit de um cálculo de CRC (cycling redundance check) do conteúdo de um objeto. Este binário é por hipótese único, com só uma chance em 65536 de haver duas checksum iguais para dois objetos diferentes. Isto permite distinguir programas que parecem o mesmo mas podem ser bem diferentes (até mesmo se o tamanho deles for o mesmo). A "checksum" também é utilizada para se verificar se as transferências de arquivos foram feitas corretamente. Você pode achar a checksum de um objeto usando o comando de BYTES. Ele retorna dois resultados - o tamanho do objeto, em bytes, no nível 1 e a checksum no nível dois. Note que enquanto a checksum de um nome de variável é igual a checksum do próprio objeto, os tamanhos serão diferentes de 4.5 bytes + o tamanho do nome da variável. Em casos raros a checksum de dois objetos pode se a mesma, até mesmo se os objetos forem diferentes. Isto se deve à natureza limitada da função checksum da HP48. Você pode usar comando SAME nestes casos. 4.2 Eu digitei RULES em minha G/GX e obtive palavras cruzadas! De: Joe Horn Muitos programas comerciais (como o Windows) tem "telas ocultas" semelhantes que trazem os nomes dos componentes da equipe de projeto. Por elas serem bem sugestivas e também estarem muito bem escondidas são chamadas de "ovos de páscoa" ou como em Inglês, "Easter eggs". O comando RULES da G/GX é um exemplo típico. Experimente usar o comando RULES. Você verá os seguinte nomes: /----------------------\ | M G | | P DIANA | | CHARLIE X B D | | BILL U N TED A | | O A L N ALCUIN | | B I JIM V | | RON S E | \----------------------/ ALCUIN era o nome de código interno da HP, para a HP48 G, durante o desenvolvimento, porque Alcuin era o professor de Carlos Magno e "Charlemagne" (Carlos Magno, em Inglês), como sabemos, era o nome código da HP48 SX. Os outros nomes do "Ovo de Páscoa" são: o BILL Wickes (processamento de listas; "Pai da RPL") o CHARLIE Patton (Sistema operacional RPL) o TED Beers (loop de sadia parametrizado; pilha interativa (interactive stack); sistema de teclas; responsável pelo visor de alto nível; entrada de dados o DIANA Byrne (gerente de projeto; plotagem; gráficos) o GABE Eisenstein (Equation Writer) o BOB Worsley (I/O - entrada e sadia) o PAUL McClellan (unidades; matemática) o CLAIN Anderson (gerente de produto; marketing) o DENNIS York (gerente) o JIM Donnelly (EQ LIB; processamento de listas; variável tipo "tic logic"; suporte de desenvolvimento) o MAX Jones (sistema de menu; edição) o DAVE Arnett (hardware) o DAN Coffin (manuais) o RON Brooks (marketing) 4.3 Por quê minha HP48, de vez em quando, "trava" por um momento? A HP48 têm que fazer em muitos casos "coleção de lixo" para liberar memória não utilizada; e é esta "coleção de lixo" que faz a HP parar por um momento. É na "coleção de Lixo" que a HP48 procura por objetos que já não são mais utilizados. Usar menos níveis da pilha deve fazer, por pressuposto, a procura na coleção de lixo andar mais rápido. O modo mais fácil de criar uma coleção de lixo é dar um MEM DROP. Caso contrário você pode usar #05F42h SYSEVAL ou o comando GARBAGE, de SysRPL 4.4 O que fazer se minha HP travar? o NOTA: Se você tiver um manual da GX, leia as instruções sobre inicio de operações nas páginas 5-16 deste manual, na seções "Special Memory Operations" e "Testing Calculator Operation", na página A-9. o NOTA: na maioria das vezes a HP não deve travar. Algumas versões da G/GX fazem isso devido a falhas. Naturalmente, depende do programa que está sendo executado, pode parecer que travou, mas pressionando-se a tecla "ON" geralmente se interrompe a execução do que a HP está fazendo. Ela "realmente" trava, em geral, por falhas em programas feitos em Assembly ou SysRPL e também é possível que isso ocorra se o conteúdo da memória da sua HP48 tenha sido danificado. Pode Ter sido destruído, terminado, apagado, etc. 1. Primeiro, verifique se as pilhas estão instaladas corretamente. 2. Depois, pressione a tecla "ON" varias vezes RAPIDAMENTE. A palavra chave aqui é "RAPIDAMENTE". É possível escrever um programa que só pode ser interrompido em um intervalo de tempo muito curto e então tem que se pressionar [ON] algumas vezes, muito rapidamente, para interromper o programa. Se a calculadora não responder em aproximadamente dez segundos, vá para o próximo passo. 3. Pressione "ON-+" algumas vezes, para verificar se o ajuste de intensidade do contraste do visor esta na posição mínima. Aqui, "ON-+" significa: o Pressione e mantenha pressionada a tecla "ON". o Pressione e solte a tecla "+", ENQUANTO MANTÉM PRESSIONADO A TECLA "ON" . o Solte a tecla "ON". 4. se isso não der resultado, o próximo passo a tentar é ON-C. Esta é uma partida a quente ("warm-start") ou "system halt". Note que isso vai apagar o conteúdo da pilha. Aqui "ON-C" significa: o Pressione e segure pressionada a tecla "ON". o Pressione e solte a tecla "C", ENQUANTO MENTÉM PRESSIONADA A TECLA "ON". o Solte a tecla "ON". 5. Se mesmo assim não funcionar, é possível que a HP não esteja respondendo porque não está aceitando entrada de dados via teclado. Então é possível executar um "system halt" ( parada de sistema) sem o teclado usando o reset. O reset está escondido debaixo de um dos dois pés de borracha localizados na parte de trás da calculadora. Ele está localizado debaixo de uma das duas borrachinhas, próximo ao dispositivo de infravermelho. A posição do reset (sob uma da borrachinhas) varia de calculadora para calculadora. Se você retirar a borrachinha, você vai ver que há um pequeno orifício em cada lugar de onde você tirou a borrachinha. O reset, está localizado no orifício em que se vê a letra "R". Uma vez localizado o reset, insira com cuidado, um clipe de papel no orifício, espere um segundo e retire-o. 6. A próxima coisa a tentar é resetar toda a memória. Dependendo do estado de sua calculadora, isto pode ou não apagar o conteúdo da memória da sua calculadora. Pelo menos, se a memória não for apagada, o conteúdo do diretório HOME será provavelmente transferido para um novo subdiretório do HOME (o HOME estará vazio, contendo apenas este novo diretório); Você terá que transferir os arquivos pro HOME, manualmente. Para executar o reset total de memória, pressione ON-A-F. Isto é: o Pressione e segure pressionada a tecla "ON". o Pressione e segure pressionada a tecla "A", ENQUANTO MANTÉM A TECLA "ON" PRESSIONADA. o Pressione e segure pressionada a tecla "F", ENQUANTO MANTÉM AS TECLAS "ON" E "A" PRESSIONADAS o solte todas as teclas. o Logo depois a calculadora vai pedir a você se você quer recuperar a memória. Responda sim, pressionando "YES". Note que isso pode levar algum tempo. Se você responder não, pressionando "NO", toda a memória será apagada e, consequentemente, todo o conteúdo da memória perdido. 7. Se isso falhar, você ainda pode induzir um reset total de memória retirando as pilhas e pressionando "ON" dezenas de vezes. Isto drenará a energia do capacitor que armazena energia, e você deverá ter um "Try to Recover Memory? se você pressionou "ON" o suficiente para resetar a calculadora. Você deve tentar este método antes do próximo passo. 8. ADVERTÊNCIA: o próximo método é ALTAMENTE não recomendado! Danos permanentes na sua HP podem ocorrer se você tentar fazer isto. Você pôde queimar o par de diodos que protegem a HP. Você foi avisado! Se sua HP48 não responder a nenhuma das tentativas acima descritas, você pode tentar inverter a polaridade de 2 das 3 pilhas MUITO RAPIDAMENTE, pressionar a tecla ON e recolocar as pilhas na posição correta. Sua HP deve exibir a mensagem "Try to Recover Memory?". Mesmo invertendo só 2 das 3 pilhas isto é muito perigoso, mas é mais seguro que inverter as 3 pilhas. Observe que simplesmente curto circuitar os terminais das pilhas não é suficiente para drenar os capacitores de armazenamento. Há diodos entre os terminais das pilhas e o capacitor que evitam entrada de corrente no sentido inverso. Este método aparentemente drena os capacitores e reverte a carga fazendo a corrente fluir através da "proteção parasita", devida aos diodos, em vários chips CMOS. 9. Se todos os métodos acima falharem, ou se você decidir não tentar o último passo contate a assistência técnica da Hewlett Packard. 4.5 Minha HP48 parece demorar muito para ligar e desligar. A principal causa disso são os cartões de RAM/ROM e as bibliotecas. Quando você liga a calculadora, ela verifica a RAM (quanto mais memória, mais vai demorar) e faz também uma checagem para ver se alguma biblioteca precisa ser instalada. Um grande número de alarmes programados também pode fazer a HP demorar. 4.6 Quais são as possíveis combinações da tecla ON com as outras as teclas? de Dave Arnett: ON em muitos casos, este comando leva ao ambiente da pilha. ON+A+F Este é o Coldstart (partida a frio) manual. Ele interrompe quase todo o tipo de programa e lhe oferece a opção de "Try to recover memory?". Note que este é um dos seus últimos recursos quando ela travar, então não tente fazer isso em sua maquina a menos que queira apagar a memória. ON+B Este é o "EPA!" para os códigos de ON + teclas. Para muitas combinações da tecla ON ele cancela as operações tão longo você pressione a tecla B antes de largar a tecla ON. Tente fazer isso algum dia, se você deve, só você poderá dizer. Isto pode ser um "salva-vidas" em caso de um ON+A+F; ou mesmo diante de um "ON" acidentalmente pressionando durante uma plotagem gráfica. ON+C Inicia uma partida a quente. Você vai perder o conteúdo da pilha e as figuras (PICT) do buffer, mas ele possibilita você sair de um programa travado sem perder memória. ON+D Inicia o modo de teste interativo. Faça um back up da memória e tente este comando. Encerre este modo de teste com ON+C. Veja o próximo teste; questione todos os testes apresentados aqui. ON+E Inicia o auto-teste. Monótono depois de uns 5 minutos; mantém-se em um intervalo de tempo confiável. Pode ser cancelado com ON + C. ON+4 Cancela alarmes repetitivos. ON+1 Esvaziador de tela ON+'+' and ON+'-' Ajuste do contraste do visor. ON+SPC Inicia Modo de Coma e apaga o Warm Start Log. Em modo de Coma toda a atividade de contagem é interrompida. O consumo de corrente das pilhas é em torno de alguns nano-amperes [nA] necessários para manter o conteúdo da RAM. O Warm Start Log é quase uma área à prova de balas da memória, que mantém o registro dos últimos quatro eventos perigosos. Verifique este Coldstart (partida a frio). O warm Start Log é apagado por ON + SPC. Utilize o modo de coma se você quiser apagar o Warm Start Log ou se você pretende estudar cura através de cristais, no Tibet, por alguns anos e manter na memória sua versão pirata do Tetris ou se você tem pouca sorte. Saia do modo de coma pressionando ON (difícil lembrar, hein?). Ao sair do modo de coma o conteúdo dos níveis da pilha serão apagados. Duas notas sobre o modo de coma. Primeiro, não vou tentar listar os códigos de WSLOG. Sinto muito! Segundo, se sua maquina estiver ligada e você retirar as pilhas a calculadora vai entrar no modo de coma a fim de economizar energia. O WSLOG não será apagado. Em vez disso você encontrará lá um código de entrada "1". Algumas pessoas são paranóicas e querem entrar no modo de coma quando trocam as pilhas; seria necessário fazer isso se eles fossem chamados de repente pelo Primeiro Ministro e não voltassem para terminar a troca das pilhas durante meia hora. Se você é um desses... devo dizer, suponho? Não, isso seria anti-profissional, então eu recomendo que se use ON+SPC, em lugar do método kamikaze que retira as pilhas com a maquina funcionando. Eu prefiro, desligar a máquina, de acordo com o que diz o manual. Agora uma estória de coma... Durante o desenvolvimento da G/GX eu mantinha um pequeno número de unidades nas quais eu mudava o os chips de ROM assim que outros saiam no mercado. Assim era como pessoas como Bill Wickes e Jim Donnelly podiam ter um hardware real para testes em vez de apenas EPROM, que alguns de vocês já devem ter visto. Nos sempre fazíamos back up de tudo o que era importante antes de fazer isso. Mas eu tinha por hábito usar ON+SPC antes de abrir a calculadora. Em mais da metade das vezes eu podia trocar as pilhas, abrir a caixa, dessoldar o chip de ROM, soldar o novo chip e remontar a maquina com toda a RAM intacta! Quando eu pressionava ON não aparecia "Try to Recover Memory?". Muito bom, não? As pessoas que colocaram este comando na calculadora certamente não estavam em coma. 4.7 Quais são os tipos interativos de auto-teste? Pressionando-se ON-D dá-se inicio as funções de auto-teste da HP48. Quando você pressiona ON-D a HP emitirá um bip e você verá tres linhas verticais. Uma de cada lado do visor e uma no meio. Você pode sair do modo de teste pressionando ON-C. Os testes são os seguintes: [A] Mostra a velocidade da CPU [B] Teste de LCD. Pressione Enter para rodar a verificação do teste [C] Teste da ROM [D] Teste da RAM [E] Teste do teclado. Começa com [A], pressiona-se todas as teclas em ordem, da esquerda para a direita, de cima para baixo. Se tudo estiver funcionando bem a HP exibirá a mensagem: "KBD1 OK". [F] teste parcial do teclado [G] Teste ESD . As condições das pilhas são mostradas por barras. [H] teste de UART (ou teste de "loop-back") [I] teste de UART [J] Diz se os cartões estão conectados. Pressione qualquer tecla varias vezes. [K] Testa os cartões de RAM nas portas [L] visor em branco [M] Envia a hora do sistema pela porta IR [N] Recebe a hora do sistema pela porta IR (tem uma outra HP enviando) [O] teste de IR loop-back (IRLB) [P] teste de IR UART echo [S] Mostra o teste de inicio da contagem dos tempos ou "start time" [T] Mostra o teste de falha de horário [U V W X Y Z] Teste de Looping (= ON E) [ENTER] Inicia o teste de tempo [DEL] Sumario dos testes [BACKSPACE] Entra a varredura de memória (SX somente) Quando a HP está no modo de teste (ON-D ou ON-E), os resultados dos testes que são mostrados na tela também são mandados pela porta serial a 9600 baud, 8 bits, sem paridade, 1 stop bit. Isso parece não ser afetado por definições de IOPAR, PRTPAR, ou pelo sistema de flags. Eu suponho que isso foi incluído para realização de testes pelo fabricante. Isso não explica, entretanto porque a seta anunciadora de I/O pisca durante o auto teste. 4.8 Não sou capaz de utilizar toda a memória RAM da HP48! As calculadoras HP48 S/SX/G têm 32K de memória e as GX 128K. Porém nem toda a memória está disponível. O sistema operacional usa memória para manter variáveis de sistema, flags, fontes, últimos comandos da pilha, últimos argumentos, últimos menus e assim por diante. Também pode ser por causa de um dos itens a seguir. 1. Habilitar o uso de LAST STACK, LAST ARG, LAST CMD, etc. requer memória RAM extra, pois a calculadora tem que manter o conteúdo da última pilha, argumentos, comandos, etc. Isto é em especial muito importante com os ÚLTIMOS ARGUMENTOS DA PILHA (LAST STACK), se você tem muito conteúdo nos níveis da pilha, pois a HP48 precisa manter muita informação na memória para recriar o conteúdo da pilha depois de cada operação. Você pode apagar estas variáveis pressionando ON-C (mas isso também apagará o conteúdo dos níveis da pilha, os gráficos (PICT), etc. 2. De William Wickes, um membro do "HP48 Team": Aqui está um candidato para "a maneira mais obscura de usar a memória na HP48 SX ". Quando um programa executa DOERR com uma string como argumento, a string, e consequentemente o programa, se a string estiver dentro do programa, é tida como referencia por causa do comando ERRM. Assim se você apagar o programa, a memória usada pelo programa não é redefinida até que a string de referência de ERRM for atualizada com uma nova string. Se a string estiver em uma porta, você terá um erro de objeto em uso se tentar apagar a biblioteca ou o objeto de back up que contém a string. Uma parada de sistema (HALT) antes de executar um PURGE não ajudará a menos que o objeto esteja na porta 1 ou na porta 2 (isso redefinirá a memória retida para um objeto já apagado mas ainda associado) . Para objetos da porta 0, a única maneira de "quebrar" a referência é executar DOERR novamente com uma nova string. 3. Ocasionalmente, eu tive problemas com bibliotecas que desaparecem, mas que ainda ficam na memória. Eu achei que um "ON-A-F" poderia fazer as bibliotecas reaparecerem. Se você ainda não pode levar em conta isso para uma grande quantidade de memória, eu sugiro um reset de hardware, depois de fazer um back up da memória. 4.9 Quais são os melhores métodos para instalar e desinstalar bibliotecas (LIBS)? Instalando uma biblioteca: 1. Transfira-a para uma variável da calculadora. 2. Coloque-a no nível 1 da pilha. 3. Digite o número da porta em que você quer armazenar a LIB. Zero é o correto se você não tem cartões de expansão. 4. Pressione STO para armazenar a LIB naquela porta. 5. Desligue e depois ligue a calculadora ou pressione ON-C, para concluir a instalação da LIB. Algumas vezes você precisa apagar a variável da LIB antes de armazená-la na memória. Veja a questão a seguir para mais informações. Se você tem a FXRECV instalada: apenas digite o numero da porta, pressione FXRECV e a LIB será armazenada na porta definida. Tudo o que é preciso fazer é desligar e depois ligar a calculadora para completar a instalação. Para apagar uma LIB: Digamos que você tenha a LIB 1234 que você precisa apagar, na porta 0 (zero). 1. Vá ao diretório em que a LIB esta associada. Em muitos casos é o HOME. 2. Digite :0: 1234 3. Pressione [ENTER] ou digite DUP 4. Digite DETACH 5. Digite PURGE Se isso não funcionar, haverá uma mensagem dizendo que a LIB ainda está na memória. Pressione ON-C, e tente de novo. 4.10 Como instalar bibliotecas (LIBS) grandes? Se você transferir com sucesso uma biblioteca para sua HP e tentar armazena-la em um porta você pode ter uma mensagem de "Insufficient Memory". Isto é porque a sua HP está tentando para fazer uma cópia da biblioteca para armazenar na porta, mas não tem memória suficiente para fazê-lo. Isso acontece geralmente na HP48 S/SX/G porque elas tem somente 32K de memória. A solução é colocar a biblioteca na pilha e então apagar a variável original que contém a biblioteca. Assim, a única cópia da biblioteca que existe está na pilha. Então você pode armazenar a biblioteca normalmente em uma porta. Este método evita que se tenham duas cópias idênticas da biblioteca na memória (ao mesmo tempo). Por exemplo, digamos que você tem uma biblioteca 'LIB' e quer armazená-la na porta 0. Faça o seguinte: o Vá para o diretório que contem 'LIB' o Ponha a biblioteca na pilha: 'LIB' RCL o Apague a biblioteca original da memória: 'LIB' PURGE o Entre o numero da porta, para armazenar a biblioteca : 0 o Pressione STO Para o problema inverso - transferência de bibliotecas grandes você pode seguir o procedimento inverso. Isto é, ponha o objeto da porta na pilha, apague o objeto original da porta, armazene-o em uma variável e depois transfira-o. Como alternativa, se a biblioteca estiver em uma porta não convertida, isto é, 0/1/2 na SX ou 0/1 na GX, você pode usar o programa abaixo, sugerido por Dan Kirkland: \<< -> lib \<< 'lib' SEND \>> \>> Isto não requer uma copia da biblioteca e evita todas as complicações que se tem ao tentar apagar a biblioteca e tentar reinstalá-la. 4.11 Por que (1/3)*3 é igual a 0.999999999999? Isto se deve ao formato como os números são representados em computadoras e calculadoras. Há infinitos números, como "1/3" e "Pi", que não podem ser representados internamente (sua representação decimal é infinita e freqüentemente não podem ser representados como fração, como é o caso de "Pi"). Por conseqüência, alguns cálculos que usam estes números estão sujeitos a erros de precisão. 4.12 Por que minha HP48 retorna 1 como resultado de 0 na potência 0 ? Alguns sugerem que 0^0 seja definido como 1, outros que seja uma forma indeterminada. Os matemáticos da HP decidiram usar esta definição. Aqui estão algumas informações mais concretas, obtidas do Sci.Math-FAQ: Questão: O que é 0^0 ? Resposta: De acordo com os livros de cálculo, 0^0 é uma "forma indeterminada". Quando calcular um limite da forma 0^0, você precisa saber que limites desta forma são chamados de "limite de forma indeterminada", e que é preciso usar uma técnica especial, como a Regra de L'Hopital para resolver este tipo de limite. De outra forma, 0^0=1 parece ser a forma mais útil para 0^0. Esta convenção nos permite estender definições em áreas diferentes da Matemática que caso contrário requerem que se trate o zero como um caso especial. Note que 0^0 é uma descontinuidade da função X^Y. Rotando & Korn mostram que se f e g são funções que "desaparecem" na origem e são analíticas em 0 (infinitamente diferenciável não é suficiente), então f(x)^g(x) se aproxima de 1 quando x tende a zero pela direita. De Concrete Mathematics p.162 (R. Graham, D. Knuth, O. Patashnik): " Alguns livros trazem a expressão 0^0 como indefinida, porque as funções x^0 e 0^x têm limite diferentes quando x tende a zero. Mas isto é um engano. Nós temos que definir: x^0 = 1 para todo x, se o Teorema Binomial é válido quando x=0, y=0, e/ou x=-y O teorema é muito importante ser arbitrariamente restringido! Ao contrário, a função 0^x é de pouca importância ". Publicado por Addison-Wesley, Segunda edição Dezembro de 1988. Referências Bibliograficas: H. E. Vaughan, The expression '0^0', Mathematics Teacher 63 (1970), páginas 111-112. Louis M. Rotando & Henry Korn, "The Indeterminate Form 0^0", Mathematics Magazine, Vol. 50, No. 1 (Janeiro 1977), pag. 41-42. L.J. Paige, A note on indeterminate forms, American Mathematical Monthly, 61 (1954), 189-190; reimpressão na Mathematical Association of America's 1969 volume, Selected Papers on Calculus, páginas 210-211. 4.13 Que é RPN? Nota do tradutor: RPN vem do Inglês: Reverse Polish Notation Jan Lukasiewicz escreveu um livro sobre lógica formal em 1951 que mostrava como expressões matemáticas podiam ser escritas sem o uso de parênteses colocando-se os operadores antes (Notação Polonesa) ou depois dos operadores (Notação Polonesa Invertida). Por exemplo, a seguinte expressão: (4 + 5) * 6 pode ser expressa em RPN como: 4 5 + 6 * 6 4 5 + * A Notação Polonesa é também conhecida como notação prefixada e a Notação Polonesa Invertida como notação posfixada. 4.14. Porque a HP usou a RPN em suas calculadoras? Nos dias que se seguiram ao livro de Lukasiewiczk, cientistas da Computação perceberam que RPN ou notação posfixada era muito eficiente para a matemática computacional. Como a notação posfixada é lida da esquerda para direita os operadores são simplesmente colocados em uma forma último a entrar, primeiro a sair (last-in, first-out ou LIFO se abreviado) e os operadores podem então ser aplicados aos operandos. Ao contrário, expressões com parênteses e precedentes (notação infixada) exigem que os operadores sejam colocados em algum ponto depois. Então os compiladores em quase todos os modernos computadores convertem expressões em RPN para execução. (de fato alguns fabricantes projetaram seus computadores baseados na notação posfixada.) Na época que a HP-35 foi lançada, outras calculadoras portáteis usavam um modelo algébrico parcial. Isso significava que elas podiam operar com expressões simples tal como 4+5, mas não podiam operar com expressões que envolvessem parênteses ou precedentes algébricos. A tecnologia da época não permitiu compiladores algébricos mais completos em calculadoras portáteis. A RPN permitiu à HP produzir uma calculadora de bolso que poderia operar com expressões arbitrárias que usavam a tecnologia disponível na época. Para muitos, aprender uma nova forma de entrada de dados era um preço pequeno a pagar a fim de poder operar e evaluar expressões arbitrárias em uma calculadora. Quando a tecnologia capaz de produzir compiladores algébricos pude ser colocadas em uma calculadora de bolso, a maioria dos usuários de RPN já havia decidido que a RPN era mais eficiente e consistente tanto para o usuário como para a para a calculadora. Também, porque sub-expressões são evaluadas da maneira que são "entradas" na calculadora; erros de entrada são mais fáceis de serem notados quando se usa RPN. Outra vantagem da RPN é compatibilidade entre máquinas. Os primeiros modelos tinham diferentes limite quanto a complexidade das expressões que poderiam ser operadas. Por exemplo, catálogos da TI dos últimos anos da década de 70 diziam com quantos níveis de parênteses e operações pendentes cada modelo poderia operar. Até mesmo hoje se você a usar uma calculadora algébrica, você precisa pelo menos saber como a expressão algébrica realmente é. Por exemplo, algumas mudanças de RPN para operadores unários (i.e. 5 SIN em vez de SIN(5)); e algumas calculadoras algébricas não é possível entrar uma expressão como a abaixo diretamente: 4+5 ----- 6+7 4.15 Há alguma alternativa para a RPN? Muitas pessoas não conseguem se acostumar com o uso dos níveis da pilha para fazer cálculos. Uma alternativa simples é colocar a equação entre apóstrofos, tal como ' 8+10*3 ' e usar EVAL como tecla de igual. Desta forma você pode trabalhar com expressões numéricas da forma que as escreve no papel. 4.16 Porque tenho resultados inesperados ao somar temperaturas? Exemplo: Ao somar duas temperaturas: 34 F e 11 F, e eu obtenho como resultado 504.67 F. Por que eu não obtenho 45 F? Isto só acontece com a S/SX. Este comportamento foi mudado na G/GX. Na G/GX, somando-se 34 F e 11 F resultará 45 F, usando-se TINC e TDELTA. Porém, a G/GX só somará ou subtrairá temperaturas se as unidades forem as mesmas; haverá erro se não forem as mesmas. Se as unidades associadas ao número forem de uma só grandeza de temperatura e nada mais, as operações são feitas usando-se uma escala absoluta de temperatura (relativa ao zero absoluto). Se as unidades se referem a uma temperatura e qualquer outra coisa, como graus/minutos, a operação não será feita usando uma escala de temperatura absoluta. Também não tem sentido físico para somar duas temperaturas. Você não pode somar uma xícara de água a 20 graus C com uma xícara de água a 30 graus C e obter duas xícaras de água a 50 graus C. 4.17 Como posso somar as unidades que desejar? Para que serve o " 1_ "? Nota: algumas edições mais antigas do manual da serie G/GX tem informações sobre este tópico. Outra característica é a unidade genérica, 1_?. Parece ser uma unidade genérica, a fim de permitir criar novas unidades, que não se baseiam nas unidades incorporadas. Você pode usar isto, por exemplo, para criar um fator de conversão de moedas ou de bits em bytes. Antes de você criar algo, confira os sites de FTP para ver o que outros já fizeram. o Unidades do usuário podem ser definidas criando-se uma variável de qualquer nome (o nome da nova unidade) na qual você armazena sua definição em termos de outras unidades, por exemplo 2_mph 'passeio' STO; você também pode usar outra unidade de usuário em uma definição, por exemplo 3_stroll 'correr' STO. o você pode usar o novo nome da unidade em qualquer menu do usuário da mesma forma que qualquer outra unidade incorporada. Por exemplo, { 1_passeio 1_correr ... } TMENU Aqui está um exemplo. Converta este programa usando ASC\\-> e salve-o Com o nome de 'sample'. "69A20FF78E000000005046F6E6574750ADA209C2A2C2A2070000F368B01B2130 E20005046F6A756E650ADA20339201000000000000210C2A20F000046F6E6574 768B01B2130640005086F6D6562750ADA20339200000000000000510C2A20F00 0046F6E65747C2A20B0000D696E686B0168B01B2130B5000303435453047A204 7A20C2A20F000046F6E65747ADA209C2A2C2A20F000046F6E6574768B01B2130 B213047A20C2A20F000046F6A756E6ADA209C2A2C2A20F000046F6A756E668B0 1B2130B213047A20C2A20F000086F6D65627ADA209C2A2C2A20F000086F6D656 2768B01B2130B2130B2130F0DA" Este é um diretório com menu personalizado. Entre no diretório e pressione CST. Você verá três unidades (as palavras não aparecem inteiras nas teclas de menu): donut, dozen, e homer. Um dozen é definido como 12_donut, e um homer é uma taxa de 1.5_donut/min (que não faz parte do sistema internacional de unidades). Estas unidades podem ter prefixos do SI descritos na página 10-5 do Guia do Usuário, assim você pode converter o valor 3_MW*h/kdonut em unidades de erg/mdozen utilizando CONVERT, por exemplo. Os itens no menu CST tem as propriedades do menu de objetos, como descrito nas páginas 10-2 e 10-3 do Guia do Usuário. Estas unidades podem ser usadas para as operações matemáticas descritas na página 10-7 do Guia do Usuário, tal como somar 2_donut a 1_dozen. Examplo: Em sua estação de força, você tem quatro operadores de controle com uma taxa de consumo combinada de 2.28 homers. Quantos donuts eles irão usar em 5 minutos e 17 segundos? o Entre com a taxa. 2.28 [homer] o Entre com o tempo (time). Right-shift UNITS [TIME] 5 [min] 17 [s] + o Multiplique o tempo pela taxa (*) o Converta para "duzias" (dozen): CST Left-shift [dozen] o A resposta é pouco mais de 1.5 dúzia (1.5 dozen). 4.18 Eu quero o valor numérico de 'pi', não um símbolo. Você está utilizando o "Numeric Constants Mode" (Modo Constante Numérico). Para ativar ou desativar este modo faça o seguinte: SX: Digite -2 SF. Isto ativa o modo Constante Numérico. Para desativar digite -2 CF. GX: Acesse o menu MODES (pressione shift-direito MODES). Pressione a tecla FLAG, no menu. Marque a segunda flag "Constant -> symb", para ativar ou desmarque para desativar. 4.19 Que são os números pequenos que aparecem no topo do visor? Os números pequenos números são conhecidos como "user flags" (flags do usuário). Quando você ou um programa ativa uma flag do usuário (da flag 1 até a flag 5) o número correspondente a cada flag ativada aparece na parte superior do visor. A HP usa flags negativas para ativar vários modos ou funções. As flags positivas são reservadas para uso do usuário. Para ativar uma flag do usuário digite o numero da flag e depois SF. Para desativar uma flag do usuário digite o número da flag e depois CF. Alguns programas utilizam flags do usuário sem avisar. Então se você ver um número "1" na parte superior do visor digite 1 CF para eliminá-lo. 4.20 Quais os truques e macetes para manipular matrizes? SX: Você pode construir uma matriz por colunas usando \GS+. Você também pode "quebrar" uma matriz usando \GS- . Estes dois comandos (\GS é o Sigma ("E" grego)) referem-se ao somar e subtrair linhas da matriz SigmaDAT, do modo STAT. \GS+ toma um vetor linha e o soma com SigmaDAT, enquanto \GS- manipula a última fila de SigmaDAT. \GS+ pode ser acessado pelas teclas do menu STAT. \GS- pode ser obtido pressionando-se shift-esquerdo /GS+, ou digitando-o na linha de comando. GX: A GX tem muitas funções de matrizes incorporadas. Veja o Apêndice B-1. 4.21 É possível usar a HP48 como controle remoto? Há muitos programas disponíveis para usar a HP48 como controle remoto. Contudo a compatibilidade do controle depende também da unidade que vai ser controlada. A HP48 é capaz de reproduzir muitos dos controles de infravermelho de muitas marcas de eletrodomésticos. Alguns controles remotos operam a velocidades que a HP48 não consegue atingir. Devido a velocidade de processamento mais alta de certos controles remotos as calculadoras G/GX podem ser compatíveis com muitos tipos, entretanto podem ser incompatíveis com outros. Com programas de controle remoto comuns você tem que "ensinar" a HP48 enviando varias vezes sinais de infravermelho com o controle remoto original. Há vantagens de se utilizar a HP48, entretanto. o Você pode impressionar seus amigos dizendo que você usa sua calculadora para controlar a TV o Você pode definir alarmes para ativar ou desativar seus aparelhos em uma hora que você quiser o Você pode usá-lo como controle remoto universal. O melhor programa de controle remoto é o Remote, de Bjorn Gahm. Ele possui um vasto banco de dados de controles remotos, o que quer dizer que você não precisa "ensinar" a HP48 com o seu controle remoto porque ele já tem os dados necessários no programa. Alem disso ele também consegue aprender novos códigos. Veja na lista dos melhores programas desta FAQ o endereço da home page. 4.22 É possível usar a HP48 para discagem de DTMF? Para fazer telefones que discam por tons é preciso emitir dois tons simultaneamente. Os tons usados na discagem telefônica são conhecidos como tons DTMF (dual tone multi frequency - duplo tom de freqüência múltipla) que consistem em duas freqüências emitidas simultaneamente. O fone da HP48 não é capaz de suportar os tons DTMF porque ele só pode emitir um único tom por vez. O máximo que a HP48 pode fazer é mudar rapidamente de uma freqüência para outra. Muitas tentativas foram feitas usando-se linguagem de máquina para dar suporte a DTMF, contudo não deram certo. Portanto, não é possível usar a HP48 para discagem telefônica. 4.23 Como executar um programa em partida à quente ou em partida rápida? Você pode usar alguns dos utilitários dos Goodies Disk da Educalc (veja o apêndice E.5 para saber onde obtê-los): o AUTOBOOT (GD #7) faz uma partida a quente quando liga a calculadora. o AUTOEXEC (GD #10) Roda o 'GO' a cada partida a frio o AUTOPORT (GD #7) Roda o &:AUTOEXEC a cada partida a quente o AUTOSTRT (GD #7) Roda o AUTOEXEC a cada partida a quente Algumas LIBS são compatíveis com o AUTOEXEC ou um comando embutido equivalente por exemplo, a biblioteca Java é compatível com o AUTOEXEC. Se uma das bibliotecas instaladas for compatível você não precisa dos utilitários acima citados. Nota do tradutor: Partida a quente, em Inglês warmstart Partida a frio, em inglês coldstart 4.24 Eu podia aumentar a velocidade da minha HP-28S. Como eu poderia aumentar a velocidade da minha HP48? Na verdade você não pode. Ao contrário da HP-28S, a velocidade do clock da CPU da HP48 SX é 2 MHz e velocidade do clock da CPU da HP48 GX é 4 MHz. Contudo, em alguns casos você pode aumentar a velocidade da HP48 desativando O atualizador do visor (display refresh), que por pressuposto toma quase 11% do tempo da CPU. Detlef Mueller enviou um programa chamado SPEED para o comp.sources.hp48 que desliga o atualizador do visor (display refresh). Naturalmente, uma vez que ele desliga o visor, só é satisfatório para operações não interativas complexas como integrais, compilações, etc. Procure por ele em sites da HP48. 4.25 É possível fazer gráficos mais rápido na HP? Tente diminuir a resolução da plotagem usando #2 RES. Você pode usar valores grandes para maiores velocidades as custas da diminuição do número dos pontos plotados. Na opções do menu de plotagem da GX isto é conhecido como "STEP rate" (taxa de passos). 4.26 Como plotar inequações (desigualdades)? No Guia do Usuário inequações são designadas como "TRUTH PLOTS". Elas são definidas como expressões que retornam "true" (verdadeiro) para qualquer numero real ou "false" (falso), para resultados nulos. Na plotagem tipo Truth um pixel é ativado se a expressão é verdadeira e fica inalterado isto é, não é ativado, se a expressão for falsa. Por exemplo, para plotar o gráfico da inequação 'x>0' faça: TRUTH -20 20 XRNG -10 10 XRNG ERASE DRAX DRAW Para exemplos mais complexos veja o manual. N g/gx também é possível digitar TEACH e procurar por um dos exemplos. Também pode ser útil plotar as linhas definindo um campo verdade fora das linhas. Isso pode ser feito facilmente mudando o modo de plotagem para FUNCTION ou CONIC e plotando-se novamente, tomando-se cuidado para não apagar o gráfico original. Note que a menos que seja redefinido cada pixel no visor precisa ser evaluado. Então plotagem do tipo TRUTH podem der demoradas. Se você tem uma idéia dos valores que devem retornar um resultado verdadeiro, Você pode aumentar a velocidade de plotagem definido limite X e Y menores. Você pode refazer isso definindo "LO" e "HI" usando as lacunas de entradas de dados na G/GX. Estes valores podem ser diferentes dos valores atualmente em uso. Se você esta plotando a área entre duas equações você pode aumentar a velocidade evitando-se uma plotagem completa. Armazene as duas equações nos dois primeiros itens da EQ LIST. Usando NXEQ no menu de funções a lista será rotacionada como desejar para plotar as duas funções então a área entre elas pode ser "desenhada" rapidamente usando a tecla de sombra (SHADE) no menu, no modo PICTURE Outra sugestão para aumentar a velocidade de plotagens tipo TRUTH é fixar a resolução, isto é, por exemplo para 2 pixels ou mais, que também resulta em uma tonalidade padrão diferente. A resolução pode ser fixada com o comando RES. 4.27 Que é um diretório escondido e como acessá-lo? O "diretório escondido" é um sub-diretório do HOME. Ele é criado quando a calculadora é ligada e contem dados de alarmes e configurações das teclas. Você pode usar o diretório escondido para armazenar tudo o que quiser entretanto não é possível ordenar o conteúdo deste diretório, isso causa perda de memória. O nome do diretório é um caracter nulo ''. A única maneira de se "fazer" um caracter nulo é usando SYSEVAL. Você pode usar o seguinte programa para acessar o diretório escondido: << home (acessa o diretório HOME) #15777h (SYSEVAL para obter um caracter nulo) syseval (coloca o '' na pilha) eval >> (acessa o diretório escondido) Para sair do diretório escondido, use HOME UPDIR. Isso fará você voltar ao diretório HOME. Também colocando um caracter nulo como parte do seu diretório CST. Você pode acessar o diretório pressionando a tecla correspondente no menu. Nota: o comando de SYSRPL NULLID retorna um caracter nulo na pilha; É o mesmo que usar #15777h SYSEVAL. 4.28 Como chamar um objeto diretamente da memória? de: Joe Horn Há um método pouco conhecido para chamar os objetos de onde estão arquivados. Basta fazer uma lista com o endereço completo do objeto e colocar no final da lista o numero da porta correspondente. Depois pressione RCL ou EVAL. Por exemplo, se o seu arquivo que está na porta 1 é chamado BKUP e ele contém um diretório chamado GAMES que por sua vez contém um programa chamado REVERSI é e possível rodar o programa diretamente, sem que haja uma cópia do REVERSI em outro lugar!. Veja a seguir: :1: { BKUP GAMES REVERSI } EVAL ou, use RCL em vez de EVAL e ele aparecerá na pilha. o Este método funciona somente nas Portas O e 1 da GX e em todas as portas da SX. o Este método funciona com objetos de diretórios armazenados como objetos de back up, bem como com os resultados do comando ARCHIVE, porque eles são a mesma coisa. 4.29 Como achar um logaritmo de uma base diferente de 10 ou e? Para achar o logaritmo de um número que a base é diferente de 10 ou e, Isto é log x base y, Use a formula: ln x -------- onde ln é o logaritmo natural (também é válida para log) ln y Um programa simples pode ser: << swap ln swap ln / >> A entrada de dados deve ser: 2: x 1: y 4.30 Há combinações de teclas que não estão nos manuais? de: John Meyers Sim, na G/GX há algumas teclas que não são mencionadas. São elas: o [Shift-direito] [seta pra baixo] = revê as teclas de menu o [Shift-direito] [right-arrow] = server mode kermit o [Shift-direito] [view] encontra-se no Guia do Usuário, no Apêndice G indice de operações, quarta edição, que vem com a calculadora, para as citações do comando VIEW. O AUR, primeira edição, capítulo 3, mostra as teclas alternativas [Shift-direito] [cursor para direita]; entretanto o AUR não vem com a calculadora. Estes comandos também podem ser encontrados no apêndice G do Guia do Usuário. O HP48 Handbook de James Donnelly, Segunda edição, também faz menção a este assunto. 4.31 Como descobrir comandos que não estão no manual da GX? de: john meyers Além de comprar o AUR (Advanced User's Reference Manual), você pode olhar no Apêndice G do Guia do Usuário, que expõe brevemente cada comando disponível na G/GX, incluindo todos os comandos não mencionadas no Guia do Usuário. Mesmo as breves descrições contidas neste Apêndice são suficientes para você usar os comandos e saber que eles existem. Alguns comandos que são omitidos: o VERSION e "_" (unidade de ATTACH) não estão presentes na edição 4. o Trabalhos com sub-matrizes na G/GX; este comando não se encontra nos manuais da HP, nem no HP48 Handbook de Donnelly, segunda edição de 6/93. Você pode definir dois "cantos" de uma sub-matriz retangular (como com O comando GET) e ele faz a sub-matriz. Também é válido para vetores. 4.32 Como apagar um diretório inteiro? o Para apagar um diretório inteiro inclusive todo o seu conteúdo digite o nome do diretório entre apóstrofos e depois digite PGDIR. o Para apagar todas as variáveis de um diretório, mas não o nome do diretório digite CLVAR. Observe que com CLVAR, se o diretório atual contiver um subdiretório que não esteja vazio ocorre um erro e as variáveis não serão apagadas. 4.33 Como o tamanho do inteiro binário (binary wordsize) afeta meus cálculos? de: john meyers Alguns dos seguintes tópicos, mas não todos estão no capitulo Binary Arithmetics and Number Bases" (Aritmética binaria e Bases Numericas"), capitulo 15 do Guia do Usuário da G/GX. O sistema de flags contem um segmento que define o tamanho binário (binary word size). Este "word size" limita o numero de bits de um valor binário que será mostrado na pilha e da mesma forma determina qual a menor ordem de tamanho resultante de operações de aritmética, lógica ou trans- formações são usadas. É curioso, mas o tamanho do binário não tem efeito sobre valores entrados na linha de comando - o que você entrou no começo é mostrado de forma truncada na pilha, mas quando você o vê de novo na linha de comando, que reverte temporariamente para o formato STD e tamanho binário de 64 bits, você vai notar que os valores que foram digitados anteriormente não se alteram. Tão logo você comece a usar funções com estes valores os argumentos de funções binárias ficam truncadas antes das funções a serem executadas e então o valor final da função também é truncado. Você pode recuperar o tamanho de binário atual usando RCWS e definindo o tamanho usando STWS. STWS aceita um numero real como argumento, com limite entre 1 e 64. (valores fora dos limite serão tomados como 0 ou 64) e também aceita argumento em binário. Neste caso o valor absoluto menor que 20 bits é usado (somente se você quiser pois #1048576d STWS RCWS retorna como resultado 1. Não tente ajustar o tamanho do binário na esperança de economizar memória usando valores menores. Cada binário inteiro do usuário feito em User RPL ocupa 13 bytes, o tamanho do binário atual não causa problemas. A HP48 transforma os números da frente em zeros quando estes são exibidos na pilha ou quando executa cálculos. 5. Questões sobre cartões, transferências de dados, pilhas e hardware 5.1 Minha HP parece fazer ruído de alta freqüência! de: Dave Arnett As partes internas do teclado da HP48 compõe-se de várias camadas de milar e materiais semelhantes. Algumas das camadas tem tinta condutiva para os contatos, outras são isolantes, com orifícios localizados pelos quais os contatos se encontrarem. Algumas tem área em forma de hemisférios ou domos, para permitir o barulho de click quando você pressiona a tecla. Todo o "sanduíche" de múltiplas camadas é montado sobre cavilhas de plástico na parte de trás da HP48 e então as cavilhas são "soldadas a quente", fixando-se à matriz. Estes planos paralelos podem atuar como um fone capacitivo. A maioria dos alto-falantes de eletrodomésticos são indutivos: Uma lâmina ou um cone podem mover-se porque a corrente passa através de uma bobina fixa posicionada em um campo magnético. Um fone capacitivo cria som movendo uma lâmina ou diafragma devido a forças de cargas elétricas, atraindo-se ou se repelindo. O teclado da HP48 tem as características necessárias para ser um fone indutivo, ainda que muito ineficiente (mudo, neste caso). Quando a HP "faz a varredura" do teclado surgem cargas elétricas nas Lâminas paralelas de milar. Estas tendem entrar em movimento devido as cargas e dão origem a um ruído. O ruído depende de vários fatores, e pode variar significativamente de uma HP48 para outra. Alguns usuários informam que em suas HP48, o ruído é mais forte na parte de trás que na frente; outros informam o contrário. 5.2 É possível atualizar minha S ou G para mais de 32k? É possível fazer isto abrindo a caixa e implantando alguns chips de memória. Há um arquivo zip, disponível em FTP, que contém instruções e esquemas : Há uma home page que explica como abrir sua HP48: Este é um guia ilustrado de como abrir a HP48 pela parte de trás. Tem instruções completas, como também 15 fotos da calculadora em várias fases do processo. Uma alternativa para abrir a HP48 e expandi-la para 256K é descrito no endereço abaixo, com muitas fotografias: ADVERTÊNCIA: É possível danificar a HP no processo de execução de expansão de memória . Não tente nada a menos que você seja perito em trabalhar com microeletrônica. O mantenedor desta FAQ e os autores das instruções não são responsáveis por danos causados a sua HP! 5.3 É possível acrescentar uma bateria de lítio, como reserva? de: Lee Studley Recentemente eu fiz uma modificação na minha 48G substituindo a RAM de 32K por um conjunto de RAM de 128x8. Depois, eu intercalei o 2º e o 3º chip de RAM colocando-os um sobre o outro e soldando-os. O 2º CS foi conectado sobre o pino de expansão 21a. O código do cartão, de fabricação independente, foi fácil de entender. Eu também implantei uma bateria de lítio para manter a memória. Isto nos dá 128K de memória de usuário, 128K na porta 1, e 128K na porta 2. Um chip de porta 2 pode ser facilmente implantado. A bateria de lítio de 3 volts usada era de tipo comum, semelhante a uma moeda. Deixei lugar para o suporte e para a bateria removendo a proteção de alumínio até perto do plástico, perto do elemento piezelétrico. O terminal positivo da bateria conecta-se com um resístor de 470 ohms e este ao ânodo de um diodo schotky (só 0.2 volt de queda de tensão). O cátodo do diodo alimenta o pólo positivo do capacitor de 1000 microfarads, próximo ao 74HC00 implantado. O capacitor mantém a memória caso as pilhas sejam retiradas. Deste modo, a bateria de lítio só é usada se as baterias forem retiradas ou estiverem muito fracas. Parece funcionar bem. A conexão com o terra, danificada ao se cortar a camada de alumínio prejudica o reset e o contato com o piezo. Para evitar isto, eu estirei a mola de contato do piezo e a cortei pela metade. Então eu soldei o pedaço cortado ao terra do circuito, perto da mola original; os leitores podem checar o terra com um multímetro. Isto restabeleceu as funções perdidas. 5.4 Como posso conseguir ou fazer um cabo para a HP48? Alguns estabelecimentos onde se vende a HP48, vende-se também o cabo de conexão para conectar o PC. Infelizmente, a maioria não tem. Para informações de como construir seu próprio cabo, veja o Apêndice D-1. Se você quer comprar um, há algumas opções. Estabelecimentos como a Educalc e ElekTek vendem cabos a preços que variam de 20 a 25 dólares. Há alguns internautas que também fazem cabos e vendem: o Chris Edmunds Web page: o Joel Kolstad o Ofer Asif Se você mora em uma cidade grande, você pode procurar nas Páginas Amarelas um revendedor autorizado da HP que possui cabos em estoque ou pode encomendá- los no mesmo tempo que demora uma remessa feita pelo correio, mas por preço menor. 5.5 A HP parece oferecer dois kits de conexão com preços diferentes. A HP oferece dois kits de cabos, um que custa aproximadamente US$ 20 e outro que custa aproximadamente US$ 50. A única diferença entre os dois é que o kit mais caro vem com software e manual. O cabo, entretanto, é o mesmo nos dois kits. Como citado na próxima pergunta, alternativas grátis deste software estão também disponíveis. O software da HP inclui também diversos programas e jogos, todos estão disponíveis na HP por FTP ou WWW. 5.6 Há algum software para comunicação disponível? No Windows 3.x você pode usar o Terminal (de Acessórios). No Windows 95 e OS/2 WRAP pode ser usado o HyperTerminal. Você também pode usar qualquer outro "emulador de terminal" compatível com o Kermit. Porém, uma versão mais completa e funcional está disponível com o Kermit completo que pode ser encontrado em ou na HP. A Universidade de Columbia mantém o site oficial do Kermit e tem versões para quase todos sistemas operacionais, inclusive todas as formas de Unix, Amiga, e Macintosh. É claro que se você tem uma G/GX você pode usar um X-modem em vez do Kermit (o X-modem é geralmente mais rápido). O [Hyper]Terminal também funciona bem com o X-modem. Softwares alternativos para transferências de arquivos estão disponíveis nos sites de FTP citados no apêndice ou podem ser comprados (como por exemplo o "Donnelly's HP48 File Manager"). Também há vários programas freeware/shareware incluindo o HP48 Explorer para uso no Windows 95. Ele pode ser obtido no endereço . 5.7 Por que a porta de I/R não alcança mais que algumas polegadas? É porque a parte que recebe é "incapacitada ". O alcance do transmissor é da ordem de vários pés (1 pé = 32,48 cm), e algumas pessoas têm de fato programas escritos para fazer a HP48 emular controles remotos (veja o Apêndice E-1 para programas de controle remoto). Há duas histórias que falam o porque disto. Eu vou apresentar as duas versões, com o intuito de mostrar todas as faces da história. Você decide na qual acreditar. 1. O chefe de projeto do HP48 Team, Dr. William Wickes, durante a "Chicago Handheld Conference", falou que o IR tinha seu alcance intencionalmente reduzido devido às preocupações por parte de certos indivíduos da academia que os estudantes pudessem "trocar informações" com suas 48 durante exames. (de Rick Grevelle) 2. A razão por que a recepção de IR é pequena deve-se a bateria. O transmissor infravermelho é como um semáforo: Só é ligado quando é preciso, e o protocolo de transmissão é definido para minimizar o tempo que ele fica ligado. O receptor, ao contrário, deve estar ligado continuamente quando uma transmissão está em processo, ou enquanto aguarda uma transmissão. Se você configura a HP48 para o modo Server o receptor estará drenando corrente. Se você acionar o controle para ativar o receptor por qualquer outra razão, ele estará drenando corrente. O pico de corrente drenado pelo transmissor é muito mais alto que o do receptor. Mas no final das contas, o receptor drena mais energia das pilhas. O aumento da sensibilidade de receptor implica em maior consumo de energia. 5.8 É possível a HP48 se comunicar com a HP100LX via Infravermelho? Sim, é possível, embora lentamente. Configure a HP100LX para 2400 baud e ponha-a em modo "server", no menu de comandos do Kermit. Então você pode enviar material da HP48 para a HP100LX. 5.9 É possível usar minha HP48 para comunicação com dispositivos de IrDA? Não, mas teoricamente não há nenhuma razão para isso. Eu não tenho relatos que deram certo no que toca ao uso da HP48 em comunicação por IR em computadores mais novos (PCs e Macintosh). Se você tem alguma informação sobre isto, avise-me e eu atualizarei esta pergunta/resposta. 5.10 É possível imprimir em uma impressora LaserJet com uma HP48? de: Derrik Pates Sim você pode, mas é preciso a HP PCL library disponível na hpcvbbs.cv.hp.com. Ela permite comunicação com qualquer impressora que suporte PCL (todas as DeskJets e LaserJets da HP), como também algumas outras impressoras a laser e jato de tinta). Você pode controlar a resolução e ligar/desligar a PCL com comandos de software. O URL para a extensão PCL é: http://hpcvbbs.external.hp.com:80/software_archives/calc / System_Extensions/pclprint.html Embora impressoras da HP mais novas como as 5P e 5MP têm uma porta de IR, você não pode usa-las para imprimir diretamente de sua HP48. 5.11 Eu carrego um programa mas o que aparece é "HPHP48-..."! Algumas versões do Kermit fazem distinção entre arquivos ASCII e binários, e então você deve tomar cuidado com o modo de transferência nos dois terminais da conexão; o da HP48 SX e o do computador. Por exemplo, quando se recebe arquivos ASCII, o kermit para Unix tem que traduzir pares de CR/LF em LF. Se a HP48 SX está transmitindo um arquivo binário, mas o Kermit para Unix estiver esperando um arquivo ASCII, qualquer par CR/LF no arquivo binário será traduzido para LF corrompendo o arquivo binário. Infelizmente, você não pode reverter este processo "descorrompendo" o arquivo binário simplesmente fazendo a operação inversa esperando que o Kermit traduza LF em CR/LF. Isto ocorre porque o arquivo binário pode conter ocorrências de LF que não faziam parte da seqüência original do CR/LF. Quando um arquivo binário é corrompido, ele aparece na pilha como uma string que começa com os caracteres " HPHP48 -", e continua com uma seqüência de caracteres incompreensíveis. Graças a dois programas, estas strings podem ser reconvertidas em arquivos binário na HP48. Estes programas são: FIXIT, de Joe Horn e Mika Heiskanen, ou OBJFIX, escrito por nossos amigos da HP. Eles se encontram no Apêndice A-2. O FIXIT pega a string corrompida " HPHP48 (-do nível 1 pilha e a substitui pelo objeto binário correto. O OBFIX pega o nome da variável (na qual a string " HPHP48 - " está armazenada) do nível 1 da pilha e coloca o objeto binário correto diretamente na variável onde o objeto corrompido foi armazenado. Você é quem decide de qual gosta mais. Eu sugiro que você leia a documentação de ambos antes de usá-los. Também há uma solução rápida disponível de autoria de Dan Kirkland: Aqui está um programa simples, utilizando SYSEVAL, que faz o cursor aparecer nas strings de transferências de dados que começam com " HPHP48 -" Checksum: # 8FEh << "12" SWAP + # 402Bh SYSEVAL # 62B9Ch SYSEVAL >> Isso é tudo! Simples hein? Nome? O que você quiser!! Funciona em todas as séries de HP48 (S/SX, G/GX) 5.12 Qual a estrutura dos cabeçalhos ASCII da HP48? de: Jorge Costa Cabeçalhos de arquivos ASCII como %HPHP: T(3)A(D)F (.); são criados pela HP48 quando um arquivo ASCII é enviado ao PC e é lido quando um arquivo ASCII da HP48 é recebido do PC. Eles servem para manter várias definições na sua HP que afetam as transferências em ASCII. Eles não afetam transferências em modo binário. Três parâmetros são salvos: (T)ranslation Mechanism, (A)ngle Mode, e (F)raction Mark. Translation Mechanism: Os esquemas possíveis de tradução ASCII são mostrados a seguir. T HP48 -> PC PC -> HP48 --------------------------------------------------------- 0 sem tradução sem tradução 1 carac. 10 -> carac. 10,13 carac. 13,10 -> carac. 10 2 realiza 1 e traduz realiza 1 e traduz carac. 128 - 159 \000 - 159\ para carac. da HP48 3 realiza 1 e traduz realiza 1 e traduz carac. 128 - 255 \000 - \255 para carac. da HP48 Para escolher a opção desejada, digite o número seguido do comando TRANSIO na linha de comando da HP48. Dependendo do esquema de tradução que você está usando, a HP48 converterá diferentes tipos de caracteres para o formato ASCII PC. Eu aconselharia usar a opção 3, uma vez que isto faz com que a calculadora traduza todos os símbolos para ASCII puro (veja a tabela da página 27 - 16 do Guia do Usuário da HP48G ) Se você escolher a opção 0 ou 1, todos os caracteres com códigos entre 128 e 255 serão interpretados de acordo com os parâmetros definidos no PC. - será ilegível! Se você está recebendo arquivos ASCII em sua máquina e aparecer quadrados pretos, pode estar certo que você está usando o modo zero de tradução que faz com que a HP receba e armazene todos os caracteres de nova linha em vez de eliminá-los. Modo de Angulo: o A(D) representa graus. o A(R) representa radianos. o A(G) representa grados Marca decimal A HP48 pode exibir dois tipos de marcas decimal - o ponto ou a vírgula. Esta opção está disponível através do MODES (48G/GX) ou do menu 64.01. Em relação ao cabeçalho ASCII temos: o F(.) significa que o formato é ponto. o F(,)significa que o formato é vírgula. Se você tentar editar um arquivo ASCII manualmente no PC sem o cabeçalho, e então tentar enviá-lo para a HP48 usando o Kermit, você pode obter os seguintes resultados: Formato do número Texto enviado Resultado(objeto armazenado) . 3.4 3.4 . 3,4 3 4 , 3.4 3 4 , 3,4 3,4 Como esperado, enviar arquivos com cabeçalho ASCII para a HP48 com marca de fração incompatível, faz ocorrer um erro de "Invalid Syntax" durante a transferência. Agora dê uma olhada nas linhas 2 e 3 da tabela acima - o objeto recebido pela HP48 é armazenado como um objeto de programa, sem o << e o >>, composto de dois números reais - bem, isto normalmente não pode ser feito em User RPL! De fato, o objeto resultante é um objeto de programa system RPL (a linguagem interna da HP48) muito simples. A conclusão é que quando um arquivo é enviado sem um cabeçalho ASCII, a HP48 traduz números com formatos incompatíveis em secundários de system RPL da forma: :: %IntegerPart %FractionalPart ; 5.13 Por quê as transferencias com o Kemit parecem demorar? de: Dan Kirkland A razão porque as rotinas do Kermit da HP48 são lentas é porque eles são escritas em System RPL. Cada vez que a HP48 recebe um pacote (recebido como uma string), copia o pacotes previamente recebido (string 1) e o novo pacote (string 2) para uma nova string (que se torna a string 1 quando o próximo pacote é recebido). Isto é por que o Kermit da HP48 fica mais lento e mais lento ainda em transferências de grandes quantidades (a string 1 fica maior). Sobre uso de janelas... Janelas não ajudam muito em uma conexão sem erros e sem atraso. Como a maioria das pessoas conecta a HP48 diretamente no computador, a transferências é feita com um cabo curto e quase sempre não da erros nem atrasa. Então o uso de janelas têm muito pouco a oferecer nas transferências da HP48. Sim, rotinas de Kermit corretamente escritas deveriam ser pelo menos tão boas quanto o Z-Modem, até mesmo sem janelas. E com uma conexão dificil e lenta, o Kermit com janelas desativará o Z-modem. Mas isto não acontece muito freqüentemente com conexões da HP48. Alguns afirmam que a HP48 não pode fazer conecção com Z-modem sem o uso de muitos artifícios porque não tem um buffer de entrada suficientemente grande. Se isto é correto, não deveria ser muito difícil faze-lo; e também é válido para o Kermit se este alcançar velocidade de Z-modem! Pacotes pequenos são mais confiáveis, mas é preciso pacotes maiores para se alcançar maior velocidade. 5.14 Por quê o XRECV algumas vezes não funciona (GX)? A Pre-revisão R da série G, das calculadoras HP48, tinha uma falha que às vezes causava uma falha do XRECV se não houvesse um ambiente duas vezes maior para o arquivo que ia ser recebido. FXRECV, uma correção para esta falha está disponível no Horn 9, no diretório \HP, como FXRECV. Há mais informação lá sobre esta falha. Note que o FXRECV não é preciso para a ROM R, e de fato não roda corretamente em uma versão com de Rom R. 5.15 Outras sugestões de transferências Para usar menos memória ao fazer transferências, é uma boa idéia usar o modo de transferência somente para definir parâmetros (wire, Baud, etc) mas sem realmente usá-lo na transferência. Ao invés disso, pressione ENTER, ou então RECV (Kermit) ou 0 FXRECV (X-modem). Evitando-se que apareça o quadro de opções mais memória fica disponível na hora da transferência. Para uma melhor transferência de inicio rápido, comece pelo o modo de recepção do Kermit antes do modo de transmissão. Para X-modem é valido o inverso: comece pelo modo de transmissão antes do modo de recepção, com um intervalo pequeno entre o começo de cada modo. Experimente um pouco para descobrir o que é melhor para você. Aqui está um programa para o Kermit que permite receber diretamente em uma porta: \<< -36 SF 1 \-> a \<< 'a' RECN a \>> SWAP STO \>> Para o argumento use apenas um número (se estiver recebendo uma biblioteca) ou um nome de porta como ":0: nome" (para outros objetos, e de fato também para bibliotecas, entretanto só o número da porta é usado). Este programa pode ser mais simples do que seguir que as instruções do Guia do Usuário para instalação de bibliotecas, uma vez que inclui os passos de armazenando na memória, coloca o programa na pilha, apaga a variável e finalmente a grava em uma porta. Até mesmo se você esquecer do argumento do nome da porta, o objeto recebido ainda aparecerá na pilha (contanto que a flag -55 esteja desativada (CF), o que possibilita a você poder terminar de gravá-lo mais tarde. 5.16 O que significam símbolos esquisitos (tal como: \-> e \GS+) neste documento? Os símbolos \ -> e \GS+, neste documento, são representações em ASCII carateres gráficos especiais da HP48. Veja a seção "Character Translations" no manual e veja a tabela completa de símbolos e representações de ASCII. SX: Capítulo 33 (Volume II, se tiver 2 volumes) GX: Páginas 27-16 do Guia do Usuário da HP48 Série G 5.17 Qual a disposição dos pinos da conexão serial da HP48? A pinagem da HP48. O diagrama seguinte mostra a pinagem da HP48, como se vê na calculadora: _________ | o o o o | \_______/ ^ ^ ^ ^ | | | \------ 4 TERRA | | \-------- 3 RX (entrada para a HP48) | \---------- 2 TX (saída da HP48) \------------ 1 MALHA Visto de outro modo: HP48 IBM 9 PINOS IBM 25 PINOS (De fora -> dentro) MALHA------------------- MALHA---------------- MALHA TX (saída)<--------------2 RX (entrada)------------3 RX (entrada) RX (entrada)------------>3 TX (saída)------------->2 TX (saída) TERRA--------------------5 TERRA------------------7 TERRA Esta informação também se encontra na pagina 27-7 do manual da G/GX. 5.18 Há informações de como fazer conexão com a HP48? A HP disponibilizou um documento SEM ASSISTÊNCIA chamado "HP48 I/O Technical Interfacing Guide" que contém informação sobre hardware de conexão a cabo serial e I/O. Também, há vários guias, que são contribuições de usuários para fazer seu próprio hardware serial ou IR. Veja em como também em outros sites de ftp listados no apêndice. Se você achar um bom documento, avise-me e eu o divul- garei aqui. 5.19 Como posso transferir programas e dados da HP-28S para a HP48? Use um programa chamado " INPRT " que está disponível no GD #9. Qualquer versão anterior causará pane na GX. O checksum da versão nova é #EDF3h e a checksum da versão antiga, somente para a SX, é #2280h. Para cada programa que você transferir, use a HP 28S para imprimi-lo para a sadia I/R; o INPRT, rodando na HP48, lê a saída I/R da HP 28S e a converte para um programa em forma de string. 5.20 Posso usar pilhas recarregáveis na HP48? As pilhas "renováveis" da Rayovac provaram que são confiáveis na HP48, mas há alguns problemas com pilhas de Níquel-Cádmio (Ni-Cad). Você deve decidir se usar pilhas recarregáveis vale a pena levando-se em conta os problemas que podem ocorrer. o Você terá que mudar as pilhas mais freqüentemente se usar pilhas recarregáveis; pilhas alcalinas podem fornecer carga por um período de tempo maior, comparado a das pilhas recarregáveis. o Quando o aviso de low-batt aparece, você tem que mudar as pilhas recarregáveis imediatamente. Com pilhas recarregáveis, você tem apenas alguns minutos antes que a calculadora apague; dizem que perto de 15 minutos ou algo assim. Com pilhas alcalinas, você tem uma quantidade de tempo que é supostamente da ordem de horas. o Pilhas de Ni-Cad perdem a carga com o passar do tempo, até mesmo se você não as estiver utilizando. Até mesmo se uma pilha nova de Ni-Cad ficar sem ser usada ela perde carga lentamente. Pilhas alcalinas mantêm a carga por um tempo bem maior. 5.21 Como posso saber, com um programa, se a pilha está fraca? O seguinte programa para a 48 relata o estado do sinalizador de ALERTA. O sinalizador de ALERTA é ativado por alarmes ou se as pilhas estão fracas. Este programa verifica a carga "como é " e não tem nenhuma garantia. Ninguém é responsável por qualquer dano conseqüente. Preston %%HP:T(3)A(D)F(.); \<< RCLF 8 STWS #FFh #0h + #10Bh #6595Ah SYSEVAL #8h AND #0h > SWAP STOF \>> 5.22 Perdi as informações do meu cartão de RAM quando troquei as baterias! Você esqueceu de desligar a calculadora antes de trocar as pilhas. A HP só mantém a alimentação para cartões de RAM enquanto ela estiver ligada. Enquanto a calculadora estiver desligada, não há fornecimento de energia pela calculadora, e toda a alimentação vem da bateria do cartão de RAM. Se você retira a bateria do cartão de RAM enquanto a calculadora estiver desligada, o cartão de RAM fica sem alimentação e todo o conteúdos do cartão de RAM será perdido. 5.23 Porque aparece "Invalid card data" quando conecto um cartão de RAM? Esta mensagem é normalmente exibida quando se insere um cartão de RAM novo na HP48. Neste caso, esta mensagem é normal e inofensiva. Isto so quer dizer que não há nada armazenado no cartão GX: Esta mensagem pode aparecer quando um cartão de RAM possui portas que nunca foram usadas. Pressione LIBRARY; pressione NXT e então a tecla PINIT, no menu. Isto inicializará todas as portas disponíveis do cartão de RAM. Os dados já armazenados no cartão não serão afetados. Se você notar esta mensagem em condições distintas das anteriormente citadas, pode ser por causa de uma das razões listadas a seguir. 1. Você retirou a bateria do cartão de RAM enquanto o cartão estava fora da calculadora, então a memória foi apagada. 2. Você retirou a bateria do cartão de RAM enquanto o cartão estava na calculadora, mas a calculadora foi desligada. Note que a calculadora só fornece energia para o cartão de RAM quando estiver ligada. Também neste caso a memória é apagada 3. A bateria do cartão de RAM está sem carga. 4. Há um problema coma calculadora, com o cartão de RAM, ou com ambos. Se a bateria estiver operacional, tente gravar algo no cartão. Se a mensagem de erro persistir, faça um back up de toda a memória em um computador ou outra HP48 e faça o reset de hardware. 5.24 Ouvi falar sobre outros fabricantes de Cartões de RAM. Eles funcionam? Enquanto alguns cartões podem funcionar, há chance de você ter sua HP danificada. Você deveria usar somente cartões especialmente projetados para a HP48. Naturalmente, a HP vende estes cartões e outros fabricantes também fazem cartões para a HP48. Alguns cartões funcionam com a S/SX e a G/GX. Alguns, porém só funcionam na S/SX ou só na G/GX. Certifique-se que o cartão é projetado para funcionar na versão que você possui antes de usá-lo. SX: A S/SX, é claro, só é compatível com carões de até 128K por porta. A HP vende cartões de RAM de 32K e 128K. Porém a TDS, usando software tipo "banco de comutação" (bank switching) produz cartões de RAM de 256K e 512K. Estes cartões, que usam " banco de comutação", não funcionam na série G/GX. A CMT também fabrica cartões que funcionam em todas as calculadoras HP48. GX: Uma vez que você não pode usar os cartões da TDS de 256K e 512K, a Sparcom lançou cartões de RAM para a G/GX de 256K e 512K. A HP também vende cartões de RAM de 1MB que funcionam na G/GX. A G/GX é capaz de aceitar cartões de RAM de 4MB, mas estes não estão disponíveis no mercado. 5.25 Como funciona o dispositivo de bloqueio dos cartões de RAM? de: Dave Arnett A HP48SX tem três níveis proteção contra gravação: o os cartões da Seiko-Epson possuem proteção contra gravação. A Seiko-Epson é o fabricante de OEM para cartões de RAM da marca HP. Eles desenvolveram o formato, o conector e a pinagem para a interface do cartão de memória. Nós temos uma versão padrão, ligeiramente modificada, em que o aviso de "LOW BATT" foi mudado levemente. Em um cartão de RAM da marca HP, quando você troca a posição da chave de proteção contra gravação para a posição "protegida" duas coisas acontecem. Primeiro, o próprio cartão ignora os ciclos de gravação. Este é o primeiro nível de defesa a fim de garantir a integridade dos dados. O cartão também muda o nível de voltagem de um de seus pinos de saída para avisar a HP que está na posição protegida contra gravação. O chip da CPU da HP detecta a linha de proteção contra gravação do cartão. Se ela informa que não é para gravar, o hardware cancela a gravação através do chip da CPU. Este é o segundo nível de defesa. Se a linha informa que o cartão é gravável as operações de gravação são permitidas no hardware. Se a linha de detecção nada avisa, o hardware assume que não há cartão instalado. o O sistema de rotinas da HP checa o status dos bits de proteção contra gravação antes de gravar no cartão de memória. Se o status dos bits indicar que o cartão não pode ser gravado (ROM ou RAM protegida), então o codigo do sistema não permite a gravação no cartão. No desenvolvimento da HP48GX, nós mudamos o manuseio do cartão em alguns aspectos significativos. Eu postei informação recentemente no newsgroup sobre como a metade superior da ROM e o card slot 2 são controlados por um pino do circuito integrado da CPU Yorke, à moda multiplex. Há alguns detalhes sobre o chip Yorke, relacionados a várias configurações e desconfigurações de dispositivos Saturn Bus que foram necessárias para fazer as seguintes "mudanças" no hardware. Recurso de Hardware HP48SX HP48GX CE1- Controlador de Cartão 1 Cartão 1 Controlador Bank Select CE2- Controlador de Cartão 2 Cartão 2 Cartão 1 CE3- Controlador de Cartão 3 Não Usado Cartão 2 CDT1- Detector de Cartão 1 Cartão 1 Cartão 2 CDT2- Detector de Cartão 2 Cartão 2 Cartão 1 É obvio, nós tivemos que "mudar" os Controladores de Cartão e os detetores de Cartão em pares, como possível. Caso contrário o bloqueio de hardware faria uma "bagunça" de coisas. Um cartão protegido contra gravação no slot 1 da GX tem proteção por bloqueio de hardware, uma vez que o CDT2 pode bloquear gravações no CE2. Um cartão protegido contra gravação no slot 2 da GX não tem o mesmo tipo de proteção por hardware da HP. O CDT1 está acoplado por hardware ao CE1, que guia o controlador Bank Select. Agora sabemos: uma operação de GRAVAÇÃO para o controlador Bank Select não surte efeito se um cartão for protegido contra gravação ou se um cartão de RAM estiver no slot 2! A melhor aproximação de linhas de hardware é a linha BEN (Bank Enable) que é o bit 6 do Bank. A menos que seja definido alto, todas as tentativas para acessar o slot 2 não são permitidas. O BEN é o pino numero 10 do chip 74HC174. Esta trilha conduz ao pino 5 do chip NAND, para previnir o pino 21 do cartão de ficar ativo. O protocolo da implementação do sistema opreracional RPL da HP48GX é para deixar o BEN baixo, a menos que seja necessária atividade no slot 2. O BEN deve ser definido em valores baixos novamente depois que o acesso ao cartão for completado. Assim a HP48GX também tem três tipos de proteção contra gravação de cartões. o O cartão impede a gravação se a chave de proteção estiver corretamente selecionada. o O Slot 1 tem o mesmo dispositivo de trava da SX. O slot 2 tem um processo de multiplos-passos necessários para permitir o acesso. o O código de system RPL checa o status da proteção contra gravação antes de gravar no cartão. Ele reconhece o mapa de CDT1 e de CE3 para o slot 2. 5.26 Por que o visor da HP48 SX pisca? O piscar do visor normalmente é causado por luzes de lâmpadas fluorescentes. A vibração rápida de luzes fluorescentes (60 Hz nos EUA e Canadá), que normalmente é imperceptível, interage com a freqüência de vibração do LCD da HP48 (64 Hz), a qual também é normalmente imperceptível. A freqüência de 60 Hz das luzes fluorescentes interage com os (64 Hz) do visor e produz uma cintilância de 4 Hz. Isso é normal e não perigoso. Fora dos EUA e Canadá é fornecida energia elétrica a uma freqüência de 50 Hz em vez de 60 Hz. Isto significa que o visor "pisca" a uma taxa de 14 Hz, que é ainda mais perceptível. 5.27 Quebrei o LCD. É fácil conseguir outro? Infelizmente, que eu saiba, você não pode substituí-lo, a alternativa mais barata é enviar a calculadora em para a assistência técnica da HP, o que é um pouco mais barato que uma calculadora nova. Abrir a HP48 é, de qualquer forma, muito difícil. 5.28 Como proteger o LCD? Há muitos modos de proteger o LCD da HP48 . As soluções incluem: o Inserir um pedaço de papelão na capa. o Cortar um pedaço de vidro e colocá-lo na capa Esta alternativa é um pouco melhor que papelão. o comprar uma capa dura da Educalc. Uma grande variedade de tipos está disponível, inclusive uma de couro duro ou outra totalmente impermeável. o Usar uma capa de fita de videocassete ou caixa de lápis durante o transporte. o Usar a capa de uma calculadora TI-8x velha e ajustá-la na HP48. Algumas pessoas tiveram sucesso fazendo isso, mas eu acho que isto são apenas ajustes. 5.29 Há algum estojo rígido para proteger a HP48? Uma solução barata para isto é ir a Sears e comprar uma Black Plastic Tool Box #9 65283 Black (uma caixa preta para ferramentas) no departamento de ferragens. É vendida por 4.95 dólares. A caixa é grande bastante para caber a calculadora e algumas pilhas extras. A caixa é de bom tamanho para a calculadora. Se você quer ir um pouco mais além, você pode comprar um pouco de espuma e cola-la na caixa na parte de cima e nos lados e fazer uma abertura do tamanho da calculadora no fundo. O resultado é uma caixa leve, forte, segura e ainda sobra espaço para você guardar pilhas extras, um cabo e ou cartões. Outra solução é usar um porta-cheques como caixa. Alguns porta-cheques se ajustam a HP48 e proporcionam uma boa proteção. A alternativa final é comprar uma caixa. Eric Finley vende caixas duras para proteger calculadoras HP48. Elas são de aço inoxidável, muito forte, e de aparência agradável. O custo é de 30 dólares. Para mais informação, ou mandar um e-mail pro Eric, visite a página no endereço. . 5.30 É possível usar radio amador (em associação) com a HP48? Sim, porém você precisa de algumas coisas, a primeira é ter uma licença de de rádio amador. A próxima é um controlador de nodo terminal. Se for possivel, adquira um controlador de nodo terminal que suporte software de controle de fluxo XON e XOFF. Isto é recomendado porque a HP48 tem um buffer de somente 256 caracteres. Quando o buffer está cheio, a HP48, envia um aviso de "buffer full" (buffer cheio) e o controlador de nodo terminal com controle de fluxo de software pode deixar de enviar dados até que a HP48 possuir novos dados no buffer. Se você não tem um controlador de nodo terminal com controle de fluxo de software mesmo assim ainda pode usa-la, mas irá perder alguns dados. A próxima coisa que você vai precisar são alguns software para usar com o términal controlador de nodo. Você poderia fazer seu próprio software usando comandos de User-RPL como BUFLEN, SRECV, e XMIT. Porém, há softwares disponíveis. Então tudo o que você precisa é um software que envie e receba dados através de portas seriais. Aqui estão alguns programas que você pode experimentar: Programa Endereço ------- -------- term2 ftp.cis.com hp48pack mande um e-mail para "info@arrl.org" com a mensagem "get hp48pack" no corpo da mensagem. dterm ftp.cis.com/pub/hp48g/utilities/dterm.zip Também há um site que possui muitos programas de HP48 relativos a rádio amador. Conecte . Por favor informe o mantenedor desta FAQ se você achar algum outro software, assim o software poderá ser incluído nesta lista. 6. Questões Sobre Programas 6.1 Onde encontrar programas e informações sobre a HP48? Veja o Apêndice E-1 para maiores informações. 6.2 Que são os Goodies Disks e onde posso encontra-los? Veja o Apêndice E-5 para maiores informações. 6.3 Como acessar a BBS da HP48? Você pode acessar a BBS da calculadora HP via modem (observe que esta chamada é interurbana ou internacional): (208)-344-1691 2400 baud, 8N1 (541)-715-3277 9600 baud, 8N1 para quem tem acesso a Internet também é possível acessar a BBS via ou Veja o Apêndice E-4 para maiores informações sobre sites de BBS. 6.4 Que são arquivos que tem extensão ".zip", ".Z" ou ".gz"? Arquivos que terminam com " .zip " são arquivos pkzip que tem origem no ambiente MSDOS. Um programa que pode abrir arquivos " .zip " é o Info Zip "unzip". Binários bem como fontes podem ser encontradas em Arquivos com extensão ".Z" são os que foram compactados usando o comando "compress" do Unix. Para descompactar estes arquivos é preciso usar o comando "uncompress", em plataforma Unix. Arquivos com extensão ".gz" foram compactados utilizando-se o comando de decompactação "gzip". Para descompactar estes arquivos você pode usar tanto o comando "gunzip" como o comando "gzip -d". O programa "gunzip" também pode descompactar arquivos ".Z". Binários deveriam estar presentes em todos os sistemas de Unix, mas se não estiverem disponíveis em seu sistema você pode tentar o endereço Nesse endereço também se encontram informações sobre o uso de binários em outras plataformas. 6.5 Que é um arquivo "ship"? Inicialmente programas para a HP48 postados no newsgroup comp.sources.hp48 eram postados no formato "ship". Este formato é mais fácil para o moderador do newsgroup distribuir os programas, mas torna-se mais difícil para os usuários abrirem e usarem estes programas. Algumas pessoas ainda usam o formato "ship" Par abrir programas distribuídos em formato "ship", você precisa o seguinte: 1. Fazer uma copia do programa "ship", compilado para a plataforma na qual você vai usar. o Fontes para "ship" podem ser encontradas em: que inclui o executável em DOS. o Binários para outras plataformas também podem ser encontradas em: 2. Uma cópia da última versão do InfoZip "unzip" ou um descompactador compatível com o formato pkunzip v2.04g. Observe que você não deve utilizar programas unzip mais antigos, uma vez que eles não surtem efeito em programas com formatos de compactarão mais recentes. Veja o item anterior para maiores informações de como conseguir fontes e binários. De posse de uma cópia dos programas "ship" e "unzip", use o "ship" para converter o arquivo ship codificado em um arquivo .zip, e então use o "unzip" para abrir os arquivos da HP48 que estão compactados em arquivos .zip. 6.6 Que é o padrão ASC e como editá-lo? As funções ASC \ -> e \ - >ASC foram escritas por William Wickes para facilitar a transferência de objetos binários da HP48 em formato ASCII (útil quando se transferem objetos por e-mail ou BBS). Alguns objetos da HP48, como bibliotecas, por exemplo, ao contrário de objetos de programa, normalmente não podem ser convertidos em ASCII e estas funções tornam isto possível. A função \ - >ASC converte um objeto no nível 1 em uma cadeia de caracteres ASCII, que pode então ser carregada no computador para transferencia. A função ASC\-> converte uma cadeia de caracteres no nível 1 de novo em objeto. Faz-se a checagem da soma (checksum) para confirmar se a dacodificação foi feita corretamente. Há uma cópia destes programas no Apêndice A-1, próximo ao fim deste arquivo, entretanto, estes padroes não são muito usados atualmente. O padrão no newsgroup parece ser primeiro zipar o programa e postá-los Descodificados. Mas é possível que você ainda venha utilizar estes utilitários para abrir arquivos mais antigos, quando fizer algum download. 6.7 Que é uma biblioteca HYDE, e como livrar-se dela? A biblioteca HYDE (HYDE library) é uma biblioteca que muda as mensagens da sua HP48. Ela funciona em todas as versões da HP48 e está disponível nos Goodies Disk 2. O programa (HYDE.TXT), que está no diretório DNICKEL e precisa ser convertido com ASC\->. As instruções (HYDE.DOC) encontram-se no diretório HORN2. A biblioteca tem 3679.5 bytes, pequena o bastante para caber em sua HP48. Você pode instalar a biblioteca na calculadora de um amigo sem que ele perceba. Siga as instruções para instalação de biblio- tecas (LIBS), depois acesse o menu de bibliotecas e rode a biblioteca HYDE. Porém, para livrar-se da biblioteca HYDE é um pouco mais complicado. Primeiro você deve digitar JEKY na linha de comando. Isto cancela a biblioteca HYDE fazendo com que retornem as mensagens padrão. Depois disso você já pode seguir as instruções normais para apagar uma biblioteca. 6.8 Que é o jogo de caça-minas (Minehunt) e como joga-lo? O jogo de caça-minas ( Minehunt ) é um jogo residente na memória da G/GX. Ele também era parte do cartão de Bibliotecas de Equações da HP48 SX. GX: Localiza-se no menu UTILS, com acesso por shift-esquerdo (roxo) EQ LIB (Shift-esquerdo {EQ LIB}, {UTILS}, {MINEHUNT}). Veja a pagina 25-14 do manual para explicações e ilustrações sobre o jogo. SX: Localiza-se na biblioteca UTILS. Você pode gravar um jogo apertando a tecla STO. A HP cria então uma variável com o nome MHpar. Se você está no diretório contendo aquela variável, você pode voltar ao jogo que havia interrompido anteriormente, bastando para isso rodar novamente o caça-minas (MINEHUNT). Para selecionar o número de minas para seu próximo jogo grave um numero na variável, Nmines (N é maiúsculo e as outras letras são minúsculas) e você definirá o numero de minas. Se você armazenar um número negativo, você estará definindo o numero de minas e todas as minas se tornarão visíveis. Você também pode mover o cursor diagonalmente usando os números como setas: 1 eqüivale a seta pra baixo + seta pra esquerda, 2 à seta pra baixo, 3 à seta pra baixo + seta para a direita, 4 nada altera, 6 eqüivale à seta para direita, 7 à seta pra cima + seta para à esquerda, 8 à seta pra cima e 9 à seta pra cima + seta pra a direita. 7. Questões sobre Programação e Funções do Usuário Avançadas 7.1 Ouvi os termos RPL, Saturn, STAR, GL etc. O que significam? ASAP É um saturn assembler simples ,escrito em linguagem Pearl. Chip8, Chip48, Schip, Schip8 Este é um programa em código de máquina que foi inspirado no intérprete de vídeo game chip8 para o microprocessador RCA CDP1802 alguns anos atrás. O Chip8 permite escrever programas gráficos simples para a SX. Entre os jogos escritos estão " clones " de Breakout, PacMan, and Pong, entre outros. Chip48, Schip e Schip8 são dois nomes diferentes para uma versão melhorada do chip8 especificamente projetada para a HP48 SX. Escreveram-se programas para unir a linguagem Assembly Schip em uma forma padrão americano para Schip em algumas HP48 GL (Game Language) é uma linguagem para o programador que quer uma linguagem quase com a velocidade do Assembly, mas que não que perder tempo aprendendo todas os "truques" desta linguagem para a HP48. GL tem a sintaxe próxima a do Assembly e um conversor para o PC e um para a HP48. Sendo o GL um intérprete, a biblioteca de GL (3 KB em tamanho) deve ser instalada na HP48 para rodar programas de GL. O conjunto de instruções é poderoso apresentando movimentação de imagens, gráficos, rolagem de tela, som, controle de teclado entre outros. Ha registradores 256 1-byte que podem ser usados em pares como palavras de dois bytes. Um programa feito em GL pode Ter até 64 KB O GL foi inspirado no SCHIP, mas é muito melhor, em todos os aspectos. É satisfatório para muitas aplicações, não só para jogos que Requerem velocidade alta. O GL funciona tanto na HP48 S/SX como na G/GX. O GL é escrito por Erik Bryntse. ML Machine Language. Esta é a designação da linguagem de programação Assembly da HP48. MLDL Machine Language Development Library. (biblioteca para desenvolvimento de linguagem de máquina) Esta é uma biblioteca que lhe permite depurar (debug) linguagem de máquina na HP48. PDL "Program Development Link". (conexão para desenvolvimento de programas) Este é um programa para DOS, comercializado pela Hewlett-Packard, que permite desenvolver varias aplicações em seu clone IBM PC. Os programas são escritos no PC, transferidos para a HP48, e testados no PC, não na HP48. RPL RPL é o nome da linguagem usada para programar as calculadoras HP48 e HP-28. RPL é a abreviatura de "Reverse Polish Lisp". É interessante notar que um artigo do HP Journal descreveu incorretamente RPL como "ROM-based Procedural Language". SASS SASS é um simples conversor Saturn, escrito em C/yacc (BSD Unix & Bison).Usa os minemonicos de Alonzo Gariepy. Saturn "Saturn" é o nome do codigo interno do processador usado na HP48. HP-28 series, e muitas outras calculadoras e quase todas as calculadoras da HP desde as séries HP 18/28. STAR Este é o "Saturn Macro Assembler" (como "STAR" originou-se daí eu não sei), um conversor que usa os mnemonicos de Alonzo Gariepy. É escrito em C e roda em diversas máquinas (PCs, Amigas,Unix, etc). O STAR está disponível via ftp no endereço: System RPL Este é o nome para a "operating system/language" usada para programar a CPU da calculadora HP48. System RPL é um super-conjunto dos comandos normais de RPL; além do RPL normal, comandos acessíveis ao usuário, system RPL inclui muitos funções de baixo nível. System RPL é uma linguagem um grau mais alto que o Assembly. A HP lançou um kit de ferramentas de desenvolvimento (para o IBM PC) contendo um compilador de System RPL , conversor, e utilitário para carregar programas, com cerca de 200 páginas de documentação. Este kit de ferramentas enquanto registrado é para a maioria dos casos livre para copiar. Se você tem acesso a uma BBS ou site de arquivos que possuem este kit disponível, você pode transferir todos os arquivos RPL bem como as documentações. USRLIB USRLIB é um programa que pega os conteúdos de um diretório da HP48 e o transforma em um objeto de biblioteca. Roda no MSDOS. Voyager Voyager é um "decodificador interativo" para clones IBM PC que decodificam o RPL da HP48 SX e código de máquina. Você transfere uma cópia da RAM e da ROM de sua HP48 SX para seu PC e roda o Voyager. Usando o Voyager, você pode ver o código decodificado ou desalinhado. Infelizmente (ou felizmente), o Voyager usa os mnemonicos da HP e não os de Alonzo Gariepy. O Voyager está disponível na HP BBS e em varias BBS (o forum da HP handhelds na CompuServe também tem copias). A ultima versão é a "1.07". 7.2 Há compilador de linguagem C para a HP48? Sim. Alex Ramos escreveu um conversor GNU-C para o processador Saturno. Binários estão disponíveis para Linux e Windows 95/NT, e fontes estão também disponíveis para compilação em outras plataformas. Veja o endereço abaixo para a versões atualizadas. 7.3 Porque programas feitos em SysRPL rodam mais rápido que os feitos em UserRPL? SysRPL é uma linguagem residente, projetada para o processador Saturno usado na família de calculadoras HP48. UserRPL é um "subconjunto" de SysRPL. A razão principal para a diferença de velocidade é o fato de que os comandos de UserRPL tem argumento de verificação de erro incorporados. Em SysRPL, o programador é o único responsável pela checagem dos erros que podem causar perda de memória. Note que System RPL é uma linguagem compilada e então você precisa de um programa como o Jazz ou o GNU-TOOLS para poder programa-la. Isto quer dizer que você não pode executar SysRPL diratamente na HP48 como UserRPL. Porém as duas linguagem são equivalentes. 7.4 Qual uma boa fonte de referência para aprender SysRPL e ML? O livro de Jim Donnelly "An Introduction to HP48 System RPL and Assembly Language Programming" contém 230 páginas de instruções passo a passo para programadores iniciantes com bastantes exemplos. O livro vem com um disquete de 3.5 contendo os exemplos em forma de fonte e ferramentas da HP para desenvolvimento no DOS. Custa em média 25 dólares. o numero do ISBN é: 1-879828-06-5 Também útil é o RPLMAN.DOC e o SASM.DOC disponível no Goodies Disk 4 Veja o Apêndice E-5 para mais informações. Dê também uma olhada no seguinte endereço: 7.5 É possível fazer minhas próprias bibliotecas (LIBS)? É possível "dividir" outras? Sim, você ou pode usar o USRLIB das ferramentas de desenvolvimento da HP para criar bibliotecas no DOS, ou você pode fazê-las em sua HP utilizando utilitários como o D->LIB e o L->DIR, de Rick Grevelle, que podem criar diretórios e/ou dividir bibliotecas. Estes podem ser achados na Mika Heiskanen HACK Library ,no endereço: 7.6 Como saber qual numero de identificação da biblioteca (LIB) para usar em meus programas? Nota: onde este documento menciona HP48 SX, refere-se também à GX. HP48 SX Library ID Numbers Paul Swadener, HP Developer Support. 03 Sep 1993 A HP48 ficará confusa se duas ou mais bibliotecas tem os mesmos números de identificação. Para auxiliar desenvolvedores independentes a HP mantém uma lista de números de identificação de bibliotecas alocadas. A seguir apresentam-se as "regras". A penalidade para a violação destas regras é que suas bibliotecas podem não rodar se outra biblioteca, com o mesmo número de identificação esta armazenada na calculadora. 1. Não use números entre 000h e 300h. Estes são reservado para o uso da HP 2. Não use números entre 301h e 5A0h a menos que você tenha este numero registrado pela HP. Estes números são reservados para desenvolvedores que são do ramo de distribuição de softwares, isto é, desenvolvedores de software independentes. Para registrar um numero ID# Contacte Paul Swadener, Hewlett-Packard Company, 1000 NE Circle Blvd., Corvallis, OR 97330, fax number 541-715-2192,e-mail: paul_swadener@hp6400.desk.hp.com. Você precisa ser um desenvolvedor registrado e informar o nome e a natureza do seu produto e seu endereço atual para remessa; Fone/fax/e-mail etc. 3. Use um número entre 5A1h e 600h para trabalho experimental e software. A HP não monitora o uso destes números. 4. Use um número entre 601h e 6F6h para suas aplicações pessoais, para programas que você compartilhará com outros usuários para uso pessoal. A HP não monitora o uso destes números. 5. Não use nenhum número no intervalo de 6F7 a 6FF, pois estes números foram alocados antes do processo de distribuição formal ser instituído. 6. Não use nenhum número acima de 700h. Estes também são reservados para uso da HP. Espero que isso ajude a entender como funcionam os números das bibliotecas (LIBs) 7.7 Que informações há sobre os comandos internos da HP48? Os documentos mais importante fazem parte das ferramentas de desenvolvimento de "System RPL", um conjunto de ferramentas para IBM PC sem suporte, criado pela HP Corvallis (os criadores da HP48). As ferramentas que rodam somente no DOS, contém documentação sobre: o System RPL (que inclui informações sobre gráficos da HP48 SX, controle de teclado, etc.). o Saturn assembly language ("Saturn" é o nome da CPU da HP48), incluindo informações sobre o Saturn assembler. o Um compilador de system RPL o Um conector de arquivos para objetos Saturn Contudo a documentação é também útil para muitos das novas ferramentas de desenvolvimento de programas como o Jazz e o GNU-Tools. (veja na questão seguinte onde obte-los) 7.8 Onde posso encontrar ferramentas para desenvolvimento de programas? As ferramentas sem suporte técnico da HP para desenvolvimento de System RPL bem como sua documentação estão disponível gratuitamente a fim de auxiliar o usuário no desenvolvimento de aplicativos para a HP48. Estas estão sujeitas a alguns temos legais, que acompanham as ferramentas. ( os mesmos são muito grandes e complexos para aborda-las aqui) Você pode obter uma copia em uma seguintes formas: o ftp anônimo: o Goodies Disk 4. Para informações veja o Apêndice E-5. Como alternativa você pode usar alguns dos "pacotes" desenvolvidos por membros da comunidade da HP. Em especial, Jazz é uma biblioteca feita por Mika Heiskanen que possibilita programar em System RPL e Linguagem de Máquina diretamente na HP48! A biblioteca Jazz exige uma SX com cartão de RAM ou uma GX. Jazz esta disponível no endereço: Há também O GNU-Tools de Mario Mikocevic (Mozgy). O GNU Tools é um conjunto substituto das ferramentas de desenvolvimento da HP que roda não somente no DOS mas também em sistemas típicos Unix como o Linux e o Solaris. Pode ser encontrado em forma de fonte ou binário. O GNU-Tools esta disponível no endereço: o o 7.9 Eu sei UserRPL. Por onde começo em SysRPL? Apresento aqui uma forma rápida para aprender System RPL. Vejas as demais questões para maiores informações de como obter os utilitários abaixo citados. o Aprenda primeiro UserRPL, e torne-se familiar com os comandos. o Pegue o Goodies Disk 4 (HPTOOLS) ou GNU-Tools se você tem o Lunix, etc. o pegue as novas edições dos Entries com suporte, disponível com o GNU-Tools (não é o Entries do Goodies Disk 4). o leia o RPLMAN.DOC e/ou o livro do Jim's Donnelly book; pra facilitar as coisas. o Pegue o ENTRIES.SRT no canal de IRC da HP48 o Pegue as tabelas do SAD via ftp na cvbbs.cv.hp.com o pegue o Jazz para a sua HP, quando estiver pronto. o Você pode aprender bastante estudando a ROM e programas de outros usuários com o Jazz. 7.10 Há algum vírus para a HP48? Há vários e muitos deles são franceses. Nos Estados Unidos, um vírus chamado "Michigan virus" surgiu há alguns anos atras. Há um programa no Goodies Disk 8 que procura por este vírus. Atualmente os vírus não causam muito problema na HP48. 7.11 Como armazenar (compactar) programas grandes de maneira eficaz? Veja o Apêndice A-5, no final deste arquivo. 7.12 Que é "Vectored Enter", e como usa-lo? de: Bill Wickes Os manuais da HP48 não mencionam muitas características importantes e poderosas que chamamos "Vectored ENTER," que permite redefinir ou evitar a analise da linha de comando e ter problemas com a pilha, etc. depois que a linha de comando foi executada. Teclas que executam ENTER automático atuam em um processo de dois-passos: 1. A linha de comando é analisada e é evaluada. 2. A definição chave é executada. Quando as flags -62 e -63 estão ambas ativadas o sistema executa este processo como a seguir: 1. Uma variável global chamada *aENTER onde " *a " é a letra grega alfa --caráter 140) é procurada no caminho. Se presente, a linha de comando é entrada como uma string e *aENTER é executado. Se ausente, a linha de comando é analisada e é evaluada normalmente. 2. A definição chave é executada. 3. Uma variável global chamada *bENTER é procurada no caminho atual (*b " é a letra grega beta --caráter 223). Se presente, então uma string, representando a definição chave é posta na pilha, e *bENTER é executado. A string é o nome do objeto de definição chave se for um comando, nome de XLIB, nome global ou local, ou uma string nula para outros tipos de objeto; seu propósito principal é implementar coisas como o modo TRACE em outras calculadoras onde você pode imprimir um registro do que você faz. Um exemplo simples do uso de *aENTER é criar uma calculadora binária mais conveniente onde *aENTER coloca um " #" na frente da linha de comando, assim você não tem se aborrece quando tiver que entrar números. 7.13 Que é "WSLOG"? É uma característica até recentemente não documentada que significa "Warm Start Log" (é listada no apêndice de comandos dos manuais das calculadoras HP48G mais recentes e também é bem explicado no AUR. Digite WSLOG em maiúsculas, e a calculadora vai listar a hora e a causa das quatro ultimas partidas a quente (warmstarts). Esta característica ajuda o suporte técnico da HP a corrigir erros em caso de pane. 0 - log cancelado por 1 - pilha fraca, o "modo de sono" entrou em ação para economizar bateria 2 - hardware falhou durante (transferência)IR ( tempo esgotado) 3 - rodou em um endereço nulo 4 - tempo do sistema corrompido 5 - saída do modo de sono(alarme?) 6 - não usado 7 - o "CMOS test word" na RAM foi corrompido 8 - anormalidade foi detectada no dispositivo de configuração 9 - lista de alarme corrompida A - problema com movimentação de RAM B - erro no módulo de cartão C - reset de hardware D - erro em system RPL; O handler não foi encontrado durante a execução E - tabela de configuração corrompida F - erro no sistema de cartão de RAM 7.14 Que é SYSEVAL? SYSEVALs são endereços que levam diretamente a uma localização da ROM da HP48. Muitas das strings hexadecimais SYSEVAL são comandos de System-RPL. Uma vez que não há checagem de argumentos, é fácil ocorrer perda total da memória RAM da HP48. No arquivo SYMBOLS.GX, a HP designa três tipos de entradas. O primeiro tipo é "suportado" . Isto significa que uma entrada particular funciona em TODAS as versões da HP48 e a HP dá suporte a este tipo de entrada. O segundo tipo de entrada é "sem suporte". Isto significa a HP não dá suporte ao uso desta entrada e que ela pode não ser a mesma nas diversas versões das HP48. O terceiro tipo é "estático sem suporte". Esta é uma entrada que a HP não da suporte ao seu uso, mas é a mesma para todas as versões. 7.15 Quais são os SYSEVALs mais úteis? Para uma lista completa veja: Em System-RPL, diferentes tipos de objeto são representados por símbolos. Estes símbolos são usados para elaborar diagramas de pilha, que dizem ao usuário como utilizar comandos de System-RPL. Aqui estão alguns dos símbolos: Símbolo Tipo Exemplo ------ -------------------- ----------------- $ string "ABCDEFG" id Nome Global 'A' arry Tabela [[ 1 2 ] [ 3 4 ]] grob Objeto gráfico da HP48 Graphic 131x64 # Numero binário <1h> symb Objeto simbólico 'A^2+B^2' Para Interpretar o diagrama de pilha: Tudo à esquerda da seta -> é o dado ou elemento de entrada. É preciso que isto esteja na pilha antes de executar o SYSEVAL. Os símbolos mostram quais são tipos de dados que devem estar na pilha. Uma vez você que se execute o syseval (veja o próximo parágrafo), a HP devolverá o tipo de dado que está indicado no lado direito da seta. Para usar estes dados de entrada faça o seguinte: 1. Certifique-se que os argumentos corretos estão nos níveis da pilha. 2. Pressione shift-direito / (barra de divisão). Você obterá o caracter # (cerquilha) na linha de comando. 3. Entre com ao número hexadecimal exatamente como mostrado na coluna abaixo 4. coloque uma letra "h" minúscula no final do numero hexadecimal 5. Pressione enter. 6. digite SYSEVAL. Eis alguns exemplos: Hex nome Sys-RPL Categoria Diagrama da pilha --- ------------ -------- ------------- 15777 NULLID Suportado ( -> '' ) 30794 VERSTRING Suportado ( -> "HPHP48-?" ) 3A328 MakeStdLabel Suportado ( $ -> grob ) 3A3EC MakeDirLabel Suportado ( $ -> grob ) 3A38A MakeBoxLabel Suportado ( $ -> grob ) 3A44E MakeInvLabel Suportado ( $ -> grob ) 3A1FC DispMenu.1 Suportado ( -> ) 05F42 GARBAGE Suportado ( -> ) 41F65 WaitForKey Suportado ( -> #KeyCode #Plane ) 353AB SYMB>IDS Não-suport-estat ( symb -> list ) 40D25 LockAlpha Suportado ( -> ) 40D39 UnlockAlpha Suportado ( -> ) 3AA0A 1A/LockA Suportado ( -> ) 44C31 DoNewMatrix Suportado ( -> arry ) 44FE7 DoOldMatrix Suportado ( arry -> arry' T/F ) 1314D TOADISP Suportado ( -> ) 13135 TOGDISP Suportado ( -> ) 39531 ClrDA1IsStat Suportado ( -> ) 130AC RECLAIMDISP Suportado ( -> ) 4E347 TURNMENUON Suportado ( -> ) 05B15 $>ID Suportado ( $ -> id ) 05BE9 ID>$ Suportado ( id -> $ ) 3A1E8 DispMenu Suportado ( -> ) 39BAD DispStack Não-suport-estat ( -> ) 7.16 Que é LIBEVALs? De : Joe Horn (Copiado do "libeval.doc" do GD 9) A G/GX tem um comando novo: LIBEVAL. É parecido com o SYSEVAL, mas em vez de levar a um endereço de memória (que poderia ser ambíguo devido a necessidade da G/GX em relação a bank switching (banco de comutação), ele usa números de XLIB. É uma " porta de trás" para nós hackers. Ao contrário do comando ELSYSEVAL na "HP Solve Equations Library Card" que só funcionava para bibliotecas (LIBs) daquele cartão, LIBEVAL funciona com qualquer biblioteca, inclusive as escondidas do sistema operacional. CUIDADO: LIBEVAL, assim como SYSEVAL, são tão poderosos como perigosos Se utilizados com uma entrada incorreta ou em ambiente impróprio pode apagar toda a sua memória. LIBEVAL toma um binário inteiro da forma #LLLFFFh, onde LLL é o numero de identificação da biblioteca, em hexadecimal e FFF é o numero da função (também em hexadecimal, com zeros se necessário). Por exemplo, o comando R->B é a XLIB 2 9. Assim você pode executar um R->B executando #2009h LIBEVAL. Tente: 10 #2009h LIBEVAL -> #Ah. Usar isto para comandos nomeados é desnecessário, mas a G/GX é altamente composta de XLIB (novamente, devido à necessidade de bank switching (banco de comutação) e há muitas características interessantes acessíveis somente com o uso de LIBEVAL. Um primeiro exemplo é a incapacidade da HP48G/GX exibir quadros de opções em um programa. Imagine um programa que precise imprimir; seria maravilhoso poder mostrar o quadro de opções do I/O PRINT na tela. O guia do usuário neste caso é inútil, e de fato parecia ser impossível fazer isso. Mas #B4197 LIBEVAL é tudo o que precisamos! Experimente! Bom, não é? 7.17 Quais são os LIBEVAL mais úteis? Veja no apêndice B-3 algumas LIBEVALs da GX. 7.18 Qual é o formato de um objeto GROB? Nota: Eu recebi duas respostas muito boas sobre esta pergunta então eu vou citar ambas. A maneira mais fácil: Primeiro, insira pixels para a extremidade direita para fazer da dimensão horizontal um múltiplo de 8, então separe o objeto horizontalmente em grupos de quatro pixels . Por exemplo, suponha você quer faça isto em um GROB de 22 x 8 ---------****--------- --------**--**-------- -------**----**------- ********------******** ********------******** -------**----**------- --------**--**-------- ---------****--------- Quebre ele desta forma: ---- ---- -*** *--- ---- ---- ---- ---- **-- **-- ---- ---- ---- ---* *--- -**- ---- ---- **** **** ---- --** **** **-- **** **** ---- --** **** **-- ---- ---* *--- -**- ---- ---- ---- ---- **-- **-- ---- ---- ---- ---- -*** *--- ---- ---- Note que você adicionou duas colunas de pixels para fazê-lo 24x8. Agora, cada grupo de 4 pode se representado por um digito hexadecimal. ---- 0 --*- 4 ---* 8 --** C *--- 1 *-*- 5 *--* 9 *-** D -*-- 2 -**- 6 -*-* A -*** E **-- 3 ***- 7 **-* B **** F Agora, substitua cada grupo de quatro pixels pelo digito hexadecimal correspondente: 00E100 003300 081600 FF0CF3 FF0CF3 081600 003300 00E100. Assim, seu grob será: GROB 22 8 00E100003300081600FF0CF3FF0CF308160000330000E100 A maneira Técnica: 1. Todo objeto no formato da HP é descrito no RPLMAN.DOC, consulte este arquivo para mais informações. 2. todos os objetos da HP são (naturalmente) baseados em nibbles (1 nibble=4 bits). Quando vistos em um PC que é baseados em bytes (1 byte=8 bits), o nib de menor ordem é sempre lido e escrito primeiro. 3. Os objetos da HP começam com um prólogo de 5 nib que identifica o tipo do objeto (e outras coisas). Este é o prólogo de um objeto grob... 02B1E pr HP:DOGROB 02B1E @ Graphic prologue (/U GROB) 4. cada campo de 5 nib de um objeto, tal como o prólogo, comprimento, etc é lido em ordem inversa, o nib mais baixo primeiro . O grob do prólogo deveria ser E1B20 ou 1E 2B x 0 em hexa em um PC. O último nibble significativo do próximo campo começa x no x0. 5. É habitual sempre trabalhar com objetos da HP no PC cabeçalho HPHP48-E (substitua sua versão favorita da depois de ROM) precedendo o prólogo. Assim não ocorrem problemas em transferências via Kermit ou X-modem. PC hex dump of a grob object.. ( lembre-se que cada campo de 5 nibs está em ordem inversa) 1. "HPHP48-E"; string ASCII de 8 bytes com o msb desligado 2. prologo de 5 nib, 02B1E (hex) 3. comprimento de campo de 5 nib, inclui o comprimento do corpo e o comprimento e a altura dos campos! Não inclui o prólogo de 5. Assim o número total de nibs que um objeto grob ocupa na memória da HP48 é este número mais cinco. Importante! 4. altura de campo de 5 nib ( sim, tanto altura quanto largura) 5. largura de campo de 5 nib 6. corpo (descrito abaixo) O objeto de grob usando o comando EDIT na HP. GROB < body > O corpo é exatamente o mesmo se visto em um PC ou na linha de comando EDIT. Apenas lembre-se de ler o nibble de baixo primeiro. Por causa de restrições de hardware, o número de nibs necessários para representar uma linha horizontal deve ser o mesmo (byte alinhado). Assim sendo é possível usar este método para calcular o número de nibs em uma linha.. (exemplo em Pascal) nibs := width div 4; if nibs mod 4 <> 0 then nibs := nibs + 1; if odd(nibs) then nibs := nibs + 1; Então para adquirir o número de nibs no corpo inteiro, multiplique-o pela Altura. Lembre-se, lembre-se que o comprimento do campo deve ser este total mais quinze. Por exemplo, um grob de 131 requer 34 nibs em uma linha horizontal, onde 5 bits não são usados. O primeiro nib na segunda linha, para este grob, começa no nib 35 , etc. Se o grob é de 64 linhas, então o corpo contém 2176 nibs. Some 5 para o prólogo, 5 para comprimento ou tamanho do campo, 5 para altura e 5 para a largura. O tamanho total do objeto (na HP) é 2196 nibs, ou 1098 bytes. O campo de tamanho deve conter 2196 menos 5 (do prólogo) = 2191 (0088F hex) Note que para cada nib, o bit mais a direita é o pixel mais à esquerda da tela. Este quase sempre é o caso da memória gráfica. 7.19 o que é o AUR e que informações ele contém? de: Jarno Peschier Neste texto eu tentarei responder várias perguntas freqüentes sobre o HP48 G Series Advanced User's Reference Manual No texto usarei a abreviação AUR quando se referir este livro. As questões que tentarei responder são: o O que é o AUR? o Que informações estão contidas no AUR? o Eu preciso do AUR? o Porque a HP não fornece o AUTR com a HP48? o Onde posso conseguir o AUR? o O AUR contém SYSEVALs e/ou LIBEVALs? o O AUR trata de assuntos como SysRPL e/ou ML (linguagem de máquina)? O que é o AUR? O AUR é, tal como o nome diz, é um manual de referência da HP48 Série G.Ele tem a mesma aparência do Guia do Usuário da HP48 Série G (o manual que você vem junto com a HP48G ou HP48GX quando você compra), entretanto bem mais espesso (quase 4 cm). O AUR tem aproximadamente 650 páginas de informação útil sobre sua calculadora. Que informação contêm o AUR? O AUR contém informação sobre programação em UserRPL, muitos exemplos de programação, uma referência de comando completa para todos os comandos da série G (UserRPL) e listas de referência sobre todas as equações, erros e mensagens, unidades, etc. e é claro, ele também tem um índice à parte, na parte final. Capítulo 1: Programação Contém: Programação compreensiva, Entrando e Executando Programas, Vendo e Editando Programas, Criando Programas em um Computador, Usando Variáveis Locais, Uso de Testes e Estruturas condicionais, Usando Estruturas com loops, uso de Flags, uso de subrotinas , simples passos para programas, Evitando Erros, Programação de teclas Input (entrada), output (saída), Usando menus com Programas, desligando a HP através de programas. Capítulo 2: Exemplos de programação Contém: números de Fibonacci, Exibindo um Inteiro Binário, Mediana de Dados Estatísticos, Expandindo e Colecionando, Máximo e Mínimo de uma tabela de elementos., Aplicando um Programe a uma Tabela, Conversão entre Bases Numéricas, Argumentos de verificação de Programa, Procedimentos de conversão de Algébrico para RPN, Funções de Bessel, Animação de Polinômios de Taylor, Uso Programático de Estatística e Plotagens, Modo de Rastreamento (trace), Solve para função inversa, Animando uma imagem gráfica. Capítulo 3: Referência de Comandos Este capítulo contém um item para todos os comando (com exceção de RULES) desde ABS até ZVOL e desde + até ->. Cada seção contém: o Uma descrição do que o comando faz (com diagramas de pilha). Maneiras de acesso nos quais você pode ter acesso ao comando via teclado (com submenu do que você precisa, ou se você pode somente digita-lo no modo alfanumérico o Quais as flags que afetam o comando o Comentários, e uma lista de comandos relacionados. Freqüentemente um comando tem um ou mais exemplo de programa. Este capítulo é a maior parte do livro, com 424 páginas. Capítulo 4: Referências de Equações Este capítulo contém um item para toda a seção da Biblioteca de Equações (EQLIB). Cada item contém: uma tabela das variáveis usadas e então para cada conjunto de equações um item com um pouco mais informação sobre a equação, a respectiva figura (se disponível), todas as equações e um ou mais exemplos numéricos e soluções. No final do capítulo ha uma lista de referências de todas as equações. Apêndice a: Erro e Mensagens de Status Este capítulo contém duas tabelas com todas as mensagens possíveis. Uma é ordenada alfabeticamente e mostra a mensagem, o significado e o número do ERRN em hexadecimal. A outra está ordenada em números de ERRN (e assim por diante, em categoria) e só contém o número em hex e a própria mensagem. Apêndice B: Tabela de Unidades Este capítulo contém uma Tabela com todas as unidades apresentadas pela HP48 Série G. Contém a unidade (com o nome que é usada na calculadora e também o nome completo) e o respectivo valor no SI. Apêndice C: Sistema de Flags (indicadores) Este capítulo contém uma tabela com todo o sistema de flags da HP48 Série G. A tabela contém o número da flag seguido por uma descrição de seu uso e o que acontece quando a flag está ou não ativada. Apêndice D: Variáveis reservadas Este capítulo contém uma tabela com todas as variáveis reservadas da HP48 Série G (ALRMDAT, CST, " der"-nomes, EQ, EXPR, IOPAR, MHpar, Mpar, n1/n2 /..., Nmines, PPAR, PRTPAR, S1/s2 /..., VPAR, ZPAR, SigmaDAT e SigmaPAR) com completa informação sobre seus usos e os possíveis parâmetros que lhes podem ser atribuídos. Apêndice E: Novos Comandos Este capítulo lista todos os comandos que são novo na HP48 Série G, com uma descrição breve do que estes comandos fazem. Esta lista também pode ser encontrada nesta FAQ. Apêndice F: Referência técnica Contém: Tamanhos de objeto, regras de simplificação Matemáticas usada pela HP48, padrões de diferenciação Simbólicos usados pela HP48, regras de expansão do EquationWriter, Referências usadas como fontes para constantes e equações na HP48 (diferente das da Biblioteca de Equação (EQLIB). Apêndice G: processamento paralelo com Este capítulo contém informações sobre processamento paralelo Que faz o UserRPL parecer com uma linguagem de programação funcional deixando (quase) bem como deixando todos os comandos funcionarem em listas de parâmetros (i.e. mapeando os comandos internos). Eu preciso do AUR? Sim, você precisa. Em minha humilde opinião o AUR é na verdade " O Manual, Parte II " e todo dono de uma HP48 G ou HP48 GX deveria ter um deles, especialmente se você é (ou pretende ser) programador de UserRPL para qualquer objetivo. Muitos das perguntas mais freqüentemente que aparecem no comp.sys.hp48 são simples perguntas que são respondido no AUR. Por que a HP não fornece o AUR com a HP48? Considerando que você está lendo este FAQ, você é provavelmente talentoso: você não é como a média de usuários da HP48. O universo dos "usuários" comuns provavelmente consiste principalmente de pessoas que simplesmente nunca programam a HP48 (Uau, tudo isso?!). Neste caso, eles possivelmente nunca se interessariam pelo AUR, e seria desperdício de dinheiro, arvores, meio-ambiente, transporte e frete incluir um AUR em cada caixa de HP48. Provavelmente esta é a razão pela qual a HP fez do AUR um acessório extra para pessoas que "realmente precisam " dele. Eu acho... Onde eu posso adquirir o AUR? Você deveria poder comprar (ou fazer o pedido do mesmo) na mesma loja onde comprou sua calculadora. O código dele na HP é 00048-90136. O AUR parece não ter ISBN; é um manual da HP, não um livro. O AUR contém informações sobre SYSEVALs ou LIBEVALs? Sim, contém exatamente uma. O exemplo para o comando SYSEVAL que diz que #30794h SYSEVAL retorna a versão de sua HP48. Minha versão da HP48 revisão P retorna a string " HPHP48-P ". O AUR faz alguma menção sobre RPL ou ML? Não, não faz nenhuma menção. 7.20 Qual é a sintaxe para INFORM, CHOOSE, e MSGBOX? (GX) Baseado em um artigo da HPCVBBS, feito por Cary McCallister. Revisado por Joe Horn. Ré-formatado por Andre Schoorl INFORM - cria uma entrada personalizada ENTRADA: 5: "titulo" 4: { campos } 3: 2: { reset_de_valores } 1: { Valores_iniciais } SAIDA: Um destes: 2: { novos_valores } 1: 1 ou: 1: 0 PROPÓSITO: INFORM cria uma tela de entrada personalizada, semelhante a dos comandos de aplicações incorporados. ARGUMENTOS: título É exibido em fonte 1 (pequena) no centro, no topo da tela. Pode conter qualquer número de caracteres, inclusive nenhum. Serão exibidos no máximo 31 carretares. Strings maiores que 31 caracteres serão truncadas no caractere 30. Line feeds são mostrados como caixas. { campos } É uma lista da forma { campo1 campo2 ... campon } onde cada Campo pode se apresentar como qualquer uma destas formas: 1. "label" 2. { "label" "ajuda" } 3. { "label" "ajuda" digitado1 digitado2 ... digitadon } 4. { } Aqui "label" é uma string de texto qualquer que pode conter desde 0 até 26 caracteres (strings maiores serão truncadas no caractere 25). A " ajuda " é exibida imediatamente sobre a área de menu como um lembrete útil para o usuário. A lista de especificações do tipo de objeto lista um ou mais tipos de objeto que são permitidos no campo, na forma que o comando TYPE devolve. Se não especificado, o texto de ajuda assume como padrão uma string em branco e aceita todos os tipos de objeto. Se um campo for uma lista vazia, não é definido campo algum, ao invés disso, o campo da esquerda (se existir) é ampliado para preencher o espaço do campo omitido. Isto permite uma personalização adicional como por exemplo, ter dois campos em uma linha e três campos na próxima. Pode ser um dos seguintes objetos: 1. { } 2. colunas 3. { colunas } 4. { colunas Larguras } Onde é o número de colunas em que será dividido o visor, por exemplo, se é 2 e há dois campos, eles serão exibidos lado a lado em vez de um sobre o outro. é a largura da tabulação entre a extremidade esquerda de cada título e seu campo; isto torna o alinhamento de campos vertical possível. Títulos mais longos que uma tabulação farão com que a tabulação seja automaticamente. Se não especificado, a coluna assumida como valor padrão é um e o padrão para a largura de tabulação é três. { reset_de_valores } É uma lista de valores para campos de entrada que substitui os valores de todos os campos quando o {RESET} pressionado e "Reset all" é selecionado. Esta lista pode tanto ser vazia como conter um item por campo correspondente ao {campo} listado acima. Se vazios, então todos os campos serão aceitos como não definidos (isto é, em brancos). Cada valor de reset deve ser igual ao tipo exigido pelo campo. Campos selecionados podem ser marcado como não especificados usando-se NOVAL como valor de reset. { valores_iniciais } É uma lista de valores para campos de entrada que especifica os valores iniciais de cada campo quando o comando INFORM é solicitado. Esta lista pode ser vazia, bem como conter exatamente um ítem por campo correspondente a lista {campos}. Se vazia, todos os campos serão assumidos como não definidos, isto é, em branco. Cada valor inicial deve ser igual ao exigido pelo campo. Campos selecionados precisam ser especificados usando-se NOVAL como valor inicial. RESULTS: INFORM retorna os novos valores { novos_valores } como uma lista no nível 2 da pilha e o número real 1 no nível 1 se for pressionado {OK} ou [ENTER]. A lista apresentará um item por campo. Cada item terá o ultimo valor entrado como dado para o respectivo campo ou NOVAL se o valor não for definido. INFORM retorna o numero real 0 (zero) no nível 1 se o usuário interromper a execução com {CANCL} or [CANCEL]. COMENTÁRIOS: NOVAL é basicamente um comando(um nome de XLIB) que não faz nada quando evaluado. Porém, pode ser comparado por ==, SAME e POS. CHOOSE - cria um quadro de escolha definido pelo usuário. ENTRADA: 3: "titulo" 2: { itens } 1: < número_inicial_do_item > SAÍDA: ou: 2: { item_escolhido } 1: 1 or: 1: 0 OBJETIVO: CHOOSE cria um quadro de escolha de opções, isto é , um quadro de opções no qual o usuário pode fazer uma escolha. CHOOSE mostra um quadro de opções de escolha (normal,não maximizado); De escolha simples, não de escolha múltipla) com uma linha de título adicional. ARGUMENTOS: titulo Se existir, é exibido em fonte 1 (pequena) no centro e no topo do quadro de opções. Pode conter qualquer número de caracteres, incluindo 0, mas, no máximo, 22 caracteres serão exibidos. Strings maiores que 22 caracteres serão truncadas no caractere 21 e será exibido reticências. Avanço de linha são exibidos em forma de retângulos. Se há mais de quatro itens serão exibidas setas de rolagem e o número máximo de caracteres é reduzido para 21. O título é mostrado na área do título em fonte 1( fonte do menu) Se o título não for definido, não será criada uma área para título no quadro de opções, e todo o quadro de opções será destinado aos itens. { itens } É uma lista de objetos arbitrários. Cada item ocupa uma linha no quadro de escolha e é mostrado na linha de comando do quadro de escolha. Somente os 14 primeiros caracteres do objeto serão mostrados(13 se as setas de rolagem estiverem presentes). Se um item contiver mais de 14 caracteres ele será truncado e mostrará 13 (12) e o caractere final será substituído por reticências. Se cada item da lista for a lista de dois objetos o primeiro será mostrado e o segundo mostrado como resposta se o item for selecionado. Se o número de itens incluindo o título for maior que 4 ou 5 sem incluir o título, serão exibidas setas de rolagem que permitem a movimentação e rolagem do cursor aos itens que não aparecem no quadro. Especifica o campo inicial a ser destacado quando o visor é mostrado pela primeira vez (em geral é o campo 1). O valor 0 (zero)indica que nenhum campo será destacado e que o {CANCL} será omitido do menu o que torna o quadro de opções simplesmente informal sem possibilidade de seleção. RESULTADOS: CHOOSE retorna o item escolhido (ou o segundo resultado em um item de uma lista de dois elementos) e o numero real 1 se o usuário pressionar {OK} ou [ENTER]. CHOOSE retorna o numero real 0 se o usuário cancelar o quadro de escolha pressionando {CANCL} ou [CANCEL]. MSGBOX - Cria uma caixa de mensagem ENTRADA: 1: "Texto" SAIDA: Nenhuma PROPÓSITO: MSGBOX cria uma caixa de diálogo sobre a tela com sombra em 3D para torna-la fácil de ser visualizada, podendo conter qualquer tipo de texto. ARGUMENTOS: Texto É qualquer string. O texto é exibido em fonte 2 (tamanho médio), justificada à esquerda, com uma linha de no máximo 15 caracteres. Linhas mais longas são quebradas em outras linhas automaticamente, em outras linhas de 15 caracteres quando possível, até um máximo de 5 linhas. Avanços de linha podem ser incluídos para forçar quebras de linha. O número mínimo de linhas é dois, assim mensagens de uma só linha terão uma linha em branco na parte de baixo da caixa de mensagem. RESULTADOS: Nenhum. A HP sai do MSGBOX quando se pressiona CANCEL, ENTER, ou OK não ficando nada fica na pilha. Para exemplos de INFORM, CHOOSE, e MSGBOX veja o apêndice B-2. 7.21 Como colocar botões de seleção em menus INFORM? de: Matt Willis Você normalmente não pode fazer isto diretamente em User RPL. Você pode fazer isto em System RPL (veja o livro de Jim Donnelly para detalhes), ou você pode usara biblioteca disponível no endereço. Eu achei que a versão System RPL de DoInputForm era muito desagradável para se usar normalmente, então escrevi uma biblioteca simples que permite usar quadros de opções e escolher listas (de User RPL). Tudo que ela faz e parar a execução do comando INFORM antes do DoInputForm, então,procura na pilha e muda os tipos de objetos para checar e escolher os objetos. Então reinicia o comando INFORM . No final, organiza os valores TRUE/FALSE para 1/0 etc... Exemplo de Sintaxe: "Test" { "A" "B" "C" } 1 {} { :CHECK: 1 :CHOOSE: { 1 2 3 } NOVAL } IF INFORM2 THEN ...insert code here... END 7.22 Qual é a sintaxe do comando INPUT? de: John Meyers INPUT permite exibir uma mensagem e então editar uma determinado string usando o editor de linha de comando; a string editada é o resultado. Argumentos: Nivel 2: "mensagem" A mensagem é exibida em "fonte de tamanho médio" na parte superior Da área de exibição de pilha (a própria pilha não é visível durante o comando INPUT). A mensagem pode ser uma string em branco, ou pode conter novas linhas para uma mensagem de mais de uma linha. Nível 1: O formato mais geral é uma lista não vazia que contém até três especificações opcionais que podem aparecer em qualquer ordem: { "string" { linha coluna} modo(s) } "String" é o texto inicial que aparecerá na linha de comando; pode ser uma string em branco, ou pode conter novas linhas para um texto com mais de uma linha. Se você não precisa especificar outro tipo de argumento, você pode omitir a lista e exibir so a string do nível 1. Se a string é omitido de uma lista de argumento o valor assumido é uma string em branco. Mode(s): zero ou mais de um dos nomes reservados names: o Digite o símbolo da letra grega Alfa (Alfa Shift direito A) para iniciar o modo de edição com o teclado alfanumérico ativado. Você pode selecionar este modo se você quer que o usuário a digite algum texto; você não precisa digitar aspas ao redor do texto digitado, porque o INPUT automaticamente devolve como uma string todos os caráter nos que são digitados na linha de comando. o A palavra ALG inicia o editor em modo de entrada Algébrico ( o anunciador ALG aparece ligado); modo de PRG está sempre ativado, pois este é o default. o A letra V conferirá a sintaxe da linha de comando inteira quando ENTER for pressionado, exatamente do mesmo modo que o o editor de linha de comando regularmente faz e impede a execução se há erro de sintaxe em RPL. Porém, ao contrario das edições normais na linha de comando, o texto de linha de comando ainda é devolvido como uma string e não é compilado por você (você executar o comando OBJ -> manualmente depois, se você quiser compilar a string). Por exemplo, se você está esperando dois valores numéricos como dados de entrada, e se você entra 123 456, o INPUT devolve " 123 456 "; se executa o comando OBJ -> no resultado, você obterá 123 e 456 como valores separados, na pilha. Linha e coluna especificam onde o cursor vai inicialmente aparecer (o valor padrão é no final string),e se o cursor vai aparecer inicialmente em um dos modos "insert" or "replace" o modo padrão é o "insert" ). Os números das Linhas começam em 1;linha mais alta. Os números das colunas começam em 1; primeiro caractere da linha. Linha zero significa a linha mais debaixo e coluna zero o final da linha Em vez de {linha coluna} você também pode simplesmente contar as posições dos caracteres do argumento da string original, obtendo apenas um número em vez de uma lista de dois números. Para fazer o cursor entrar no modo "replace" em vez de modo "insert", o primeiro numero, que especifica a posição de cursor deve ser negativo. Se o usuário aperta CANCEL durante o a execução do INPUT, quando há algum texto na linha de comando, todo o texto será apagado sem cancelar o INPUT; se CANCEL é pressionado novamente (ou sem texto), então o INPUT é cancelado. Examplos de usos em programas: "Enter A, B, C" { ":A: :B: :C:" { 1 0 } V } INPUT Nota: de uma nova linha entre as três linhas iniciais da string. Quando executado deve aparecer: Enter A, B, C :A:(o cursor aparece aqui) :B: :C: Se você pressionar agora 1 Seta-pra-baixo 2 Seta-pra-baixo 3 ENTER, a string nos níveis da pilha será: ":A:1 :B:2 :C:3" se você então executar o comando OBJ-> nesta string você obterá (em níveis separados da pilha) :A: 1 :B: 2 :C: 3 Os caracteres "opcionais" não interferem se usarmos valores numéricos em funções, ou os armazenando (eles são removidas automaticamente em cada caso). Outro exemplo: "Digite um novo numero" { Alpha} INPUT Isto permite ao usuário digitar qualquer texto o qual é devolvido como uma string após se pressionar ENTER. O exemplo mais simples possível: "" "" INPUT (sem mensagem, comando inicial em branco ou vazio) Problemas que podem ocorrer com o comando INPUT (se o comando OBJ -> for usado depois para a obtenção dos valores entrados em forma de dados): o Você não pode forçar o usuário a entrar com o número exato de valores esperados, assim sendo você pode querer programar defensivamente, a fim de prever erros (conferindo os níveis da pilha, argumentos, etc.) o Entradas como nomes de comandos (por exemplo CLVAR), nomes de programa, etc. serão executados por um OBJ-> subseqüente, produzindo efeitos indesejáveis (métodos para lidar com este problema estão disponíveis). Para aplicações que esperam valores de entrada que não são textos, o comando INFORM da HP48G/GX, é mais imune a estes problemas, e dispõe de um controle mais rígido sobre os dados de entrada, além de proporcionar uma forma de entrada mais elegante, uma entrada para cada campo, etc. A sintaxe do comando INFORM também está detalhada nesta FAQ. 8. Apêndice A: Varias Funções Úteis 8.1. Funçoes ASC Nota: Embora este documento só menciona a SX, ASC \ -> e ASC \ -> funcionam tanto para a SX como para a GX. Por Bill Wickes Codificação em ASCII de objetos da HP48 SX Enviar um objeto da HP48 SX por e-mail pode ser difícil se o objeto não estiver em formato ASCII, como é o caso dos objetos de bibliotecas (Libs). Há muitos codificadores disponíveis em diversos sistemas operacionais entretanto isso exige que quem envia e quem recebe a mensagem tenham computadores compatíveis ou pelo menos mecanismos para codificação e decodificação. Os programas listados abaixo executam a codificação e decodificação na HP48 SX , por isso, tem como vantagem o fato de serem completamente independente de qualquer computador. Os programas são chamados \->ASC e ASC\->. O anterior pega um objeto da pilha e o converte em uma string no qual cada nibble (conjunto de 4 bits) do objeto e sua checksum (checagem de soma) são convertidas em um caracter de 0 a 9 ou A-F.( o objeto deve estar na RAM, caso contrário, haverá um erro de objeto de RAM). Para facilitar a inclusão fácil em mensagens de email, a string é separada por quebras de linha a cada 64 caracteres. ASC\-> é o comando oposto do \->ASC: ele pega uma string criada pelo \->ASC e a converte em um objeto. Quando você transmitir uma string codificada tome cuidado para não trocar as strings; O comando ASC\-> usa a checksum (checagem da soma)codificada na string para verificar se a decodificação esta correta. Aparecerá a mensagem "Invalid String", acusando erro, se o objeto não for o objeto originalmente codificado com o comando \->ASC. Quando você transferir uma string para seu computador, use a conversão modo 3 da HP48, assim a HP48 converterá CR/LF novamente em LF quando a string for transferida de volta. Duas versões do ASC\-> são aqui apresentadas. A primeira (P1) é em linguagem do usuário da HP48, usando SYSEVAL para executar objetos do sistema. P2 é uma string cujo programa de configuração (setup) usa P1 para decodificar em um programa executável ASC\ ->.Então P1 é descartado. A Segunda versão é mais compacta que a primeira e não pode ser editada e por isso é mais segura (mas não pode ser transmitida em forma de ASCII, o que ajuda a praticar este exercício). Eis os programas, contidos em um diretório: %%HP: T(3)A(D)F(.); DIR P1 @ ASC\-> Versão 1. \<< IF DUP TYPE 2 \=/ THEN "Not A String" DOERR END RCWS \-> ws \<< 16 STWS #0 NEWOB SWAP DUP SIZE IF DUP 4 < THEN DROP SWAP DROP "Invalid String" DOERR END DUP 65 / IP - 4 - # 18CEAh SYSEVAL "" OVER # 61C1Ch SYSEVAL SWAP # 6641F8000AF02DCCh # 130480679BF8CC0h # 518Ah SYSEVAL # 19610313418D7EA4h # 518Ah SYSEVAL # 7134147114103123h # 518Ah SYSEVAL # 5F6A971131607414h # 518Ah SYSEVAL # 12EA1717EA3F130Ch # 518Ah SYSEVAL # 280826B3012808F4h # 518Ah SYSEVAL # 6B7028080BEE9091h # 518Ah SYSEVAL # BE5DC1710610C512h # 518Ah SYSEVAL # 705D00003431A078h # 518Ah SYSEVAL # 3D8FA26058961431h # 518Ah SYSEVAL # 312B0514h # 518Ah SYSEVAL # 18F23h SYSEVAL DUP BYTES DROP 4 ROLL IF == THEN SWAP DROP ELSE DROP "Invalid String" DOERR END ws STWS \>> \>> P2 @ ASC\-> Versão 2. Para ser convertida por ASC\-> na versão 1. "D9D20D29512BF81D0040D9D20E4A209000000007566074726636508813011920 140007FE30B9F060ED3071040CA1304EC3039916D9D2085230B9F06C2A201200 094E66716C696460235472796E676933A1B21300ED30FD5502C230C1C1632230 CCD20FA0008F14660CC8FB97608403104AE7D814313016913213014117414317 414706131179A6F5C031F3AE7171AE214F8082103B6280821909EEB0808207B6 215C0160171CD5EB870A13430000D50713416985062AF8D341508813044950B9 F06BBF06EFC36B9F0644230C2A201200094E66716C696460235472796E676933 A1B2130B21300373" P3 @\->ASC. Para ser convertida por ASC\->. "D9D20D2951881304495032230FD5502C230A752688130ADB467FE30322306AC3 0CB916E0E30CBD30F6E30C1C1632230CCD20DC0008F14660CC8FB97608403104 AE7D8143130169174147061741431311534AC6B4415141534946908D9B026155 4A6F53131F3AE731A014C161AE215F08082103A6280821939EEC08082170A621 4C161170CD56B870A18503430000D5071351796A9F8D2D02639916D9D2085230 C2A209100025F4D402F426A6563647933A1B2130A2116B213033C0" SETUP @configuração automatica \<< P2 P1 'ASC\->' STO P3 ASC\-> '\->ASC' STO { P1 P2 P3 SETUP } PURGE \>> END Instruções de instalação: 1. Edite o texto acima. Ele esta entre (start) e (end) em um arquivo de texto com o nome CONV (por exemplo). Certifique-se que as strings e caracteres estão exatamente iguais aos ai descritos, sem espaços em branco a mais ou a menos nos inícios e nos finais de linhas. 2. defina o modo de transferência da HP48 SX para ASCII. 3. Use o Kermit, transfira o arquivo de texto CONV para a 48. Verifique a checagem da soma - checksum (6C8Ah). 4. Execute CONV para faze-lo diretório atual. 5. Execute SETUP. 6. O diretório CONV deve então conter os arquivos ASC\-> e \->ASC prontos para uso Para rearquivar as versões decodificadas do ASC\-> e do \->ASC em seu computador, definia o modo de transferencia de sua HP48 SX para binário. Declarações: o Use os programas correndo o seu próprio risco. Uma vez no mundo SYSEVAL, sempre ha perigos e riscos. Faça uma cópia da memória de sua HP48 antes de testar estes programas! Antes de executar ASC \ -> verifique a checksum (checagem da soma) dos objetos descritos acima para ter certeza que eles foram transferidos corretamente o Eu não responderei questões sobre como estes programas funcionam. Isto não é porque há ai algum segredo, mas é difícil dar respostas que não levam a mais perguntas , e mais, e mais... o 48 hackers estão convidados para procurar alguma "pepita de ouro" nos programas, e ver que de fato \ - >ASC é um modo conveniente para desopilar um objeto. 8.2. OBJFIX Quando um objeto binário é recebido pelo Kermit na HP-48 ele fica sobrando na forma de uma string que começa com HPHP48; OBJFIX extrai o objeto se o único problema for os bytes anexados na parte final. OBJFIX pega um nome de variável do nível 1 da pilha e modifica o conteúdo da variável se naõ for detectado outro problema. Nota: Este é idêntico ao FIXIT de Horn e Heiskanen presente no Goodies Disk 8, Mas é da HP e eu suponho que é mais confiável. Embora haja falhas em testes com o FIXIT pode ser porque se tratavam de casos de testes propositalmente inventados. Tente ambos em transferências reais que precisam de correções. De qual gosta melhor você OBJFIX.ASC %%HP: T(3)A(D)F(.); "D9D202BA81D9F81B2040D9D20F2A26DA91629C8145126489162C23072C80CCD2 0BD0008FB9760147108134164142C2818F24D534501008B2F41643150D73B840 58405438314A161966D2BF6BF6A6F5BE16314213114334CF8208A6F58F235A04 55136D7D4EA494D231A1CA101110131CA130DBE284F8FC0760D41198F29960D4 130142119EA1408F5E0108D341503223072D70B2130B21301460" 8.3. FIXIT Por: Joe Horn e Mika Heiskanen PROPÓSITO: Converter uma string ruim no objeto original. TEORIA: Muitos pessoas fazem transferencias de objetos da HP48 precariamente, de tal forma que quando você os transfere obtém objetos com lixo parecidos com isto: "HPHP48-E#c&r$a%p@!*!..." [parece familiar, não é?] isso é porque eles foram transferidos usando-se XMODEM, ou foram instalados de alguma outra forma. O O programa FIXIT mostrado a seguir pega a tal cadeia de caracteres e abre o objeto real da HP48 que deveria ter sido transferido (se possível). A extração do objeto pode ser feita manualmente, mas é muito perigoso. FIXIT faz diminuir os riscos de perda total de memória. Ele confere se o objeto extraído é válido, e se não, o retira da pilha antes da HP48 mostra-lo. Todas as transfer~encias com falhas que arquivei durante os anos puderam ser corrigidas com FIXIT. Aproximadamente a metade deles causa perda de memória quando extraídas manualmente. Não ha garantias portanto. É preciso correr o risco. A extração real é feita por um "objeto código" escrito por Mika Heiskanen. O ambiente User RPL (User RPL "shell") em torno deste objeto código, que reduz o risco de perda de memória, foi escrito por Joe Horn. INSTRUÇÕES: o Faça uma copia back up da memória, por via das duvidas pois a string pode conter uma bomba lógica. Coloque programa ruim na pilha (veja " HPHP48 -...") e rode o FIXIT. Possíveis resultados: o Nenhum erro: o objeto foi extraído corretamente e está no nível 1. o Erro de "Bad Argument Type": não há string no nível 1. o Erro de "Bad Argument Value": A string não é do formato correto; deve ser uma string "HPHP48-..." transferida. o Erro de "Invalid Definition": o objeto sofreu perdas consideráveis durante a transferência; o objeto não pode ser recuperado. o Erro de "Undefined Result": não há objeto da HP48 na string. o "Recover Memory? YES/NO": A string continha uma bomba e o FIXIT a detonou. Pressione YES para tentar safar-se dos estilhaços da bomba em uma tentativa singela para ressuscitar o morto. Pressione NO pare enterra-lo. EXAMPLOS: Para praticar os seguintes exemplos transfira o diretório FIXIT para a HP48 e torne-o diretório atual. o Pressione HI. Veja então: "HPHP48-E...", um arquivo mal transferido. Antes de pressionar FIXIT para corrigi-lo tente fazer o que todos nós tentamos: pressione EDIT para ver se consegue reconhecer alguma coisa. (normalmente esta é uma tentativa fútil). Você vai ver: "HPHP48-E... << Melancholy Baby >>" Mas as aparências podem ser enganadoras; pressione ON para sair do editor e pressione FIXIT para extrair o programa desejado. << Happy Camper >> o Pressione WTAV; você vai ver lixo transferido. Mas o EDIT não funciona; A string contém caracteres nulos. Aperte FIXIT; Aparecerá com sucesso o diretório extraído. o Pressione BAD1. Observe que ele parece exatamente com o WTAV. Pressione WTAV, compare, e depois pressione DROP). Mas suas partes estão muito danificadas. A extração manual do WTAV com o BAD1 pode causar perda de memória. Pressione FIXIT e você verá a mensagem "Error: Invalid Definition" indicando que o objeto dentro de BAD1 está tão mutilado que suas partes não podem ser localizadas o Pressione BAD2.Pressione BAD2. Parece com o WTAV novamente. Mas seu corpo é desordenado; A extração manual pode criar um objeto do tipo External que pode apagar a memória se evaluado. Pressione FIXIT e você verá: "Error: Undefined Result" indicando que não há nada reconhecível dentro de BAD2. FIXIT.ASC %%HP: T(3)A(D)F(.); "69A20FF7CE20000000402414442340C2A203B000840584054383D25403A20FF7 2500000000403535947440D9D20E16329C2A2DBBF13013216DF1406A1C42328D BF193632B213034000407545146540D9D20E163292CF1EFFB1DBBF1EBFB150FA 193632B2130003030303034C000402414441340C2A203B000840584054383D25 469A20FF72500000000403535947440D9D20E16329C2A2DBBF13013216DF1406 A1C42328DBF193632B213034000407545146540D9D20E163292CF1EFFB1DBBF1 EBFB150FA193632B2131313131313134C000407545146540C2A203B000840584 054383D25469A20FF72500000000403535947440D9D20E16329C2A2DBBF13013 216DF1406A1C42328DBF193632B213034000407545146540D9D20E163292CF1E FFB1DBBF1EBFB150FA193632B2130003030303034C00020849420C2A20570008 40584054383D254D9D20E163284E2050841607079784E20603416D6075627936 32B2130A0BA02D456C616E63686F6C697022416269702BB28000506494859445 50D9D20E16323CE2278BF168BC1ED2A2167E1AFE22D9D203CE2278BF19C2A274 3A2C58C1C2A2031000840584054383D2167E1AFE22D9D2078BF18B9C1DBBF1AA F028DBF1CCD201200014713717917F137145142164808C5BF22D9D2033920200 0000000005150933A1B21305DF22B21305BF22D9D20339202000000000004150 933A1B21305DF223CE2278BF168BC1D8DC1167E1AFE22D9D203FBF1339202000 000000002770933A1B21305DF223CE2278BF19D1A1DBBF18DBF1E0CF1D5CE1AF E22D9D208DBF1339202000000000000030933A1B21305DF22CB2A193632B2130 B21303D4F" 8.4. LASTX A função LASTX é muito útil em cálculos em que um número ocorre mais de uma vez. Para recuperar um número usando LASTX você não precisa digitar o número novamente na calculadora. Observe contudo que o LASTX usa as informações contidas nos últimos argumentos, assim se você usar LASTX ira perder o conteúdo do LASTARG. Por exemplo, calcule: 96.704 + 52.394706 -------------------- 52.394706 Teclas Pressionadas: Pilha: ----------------- -------------------- 96.704 ENTER 96.704 52.304706 + 149.098706 LASTX 149.098706 52.304706 / 2.84568265351 @ Esta é a versão do LASTX para a HP48 @ %%HP: T(3)A(D)F(.); \<< DEPTH \-> n \<< LASTARG DEPTH n - DUP \-> s \<< ROLLD s 1 - DROPN \>> \>> \>> 8.5. Compactação e Armazenamento de Dados Por: Jim Donnelly Uma técnica simples de codificação pode ser posta em uso para livre- formato, um sistema de armazenamento multi-campo muito compacto. Dois pequenos programas, SUBNUM e STRCON para auxiliar no processo se encontram no final deste artigo. No final deste artigo há um diretório, com exemplos, que pode ser transferido para a HP48. O princípio é armazenar índices iniciais no começo de uma string que apontam para campos armazenados subseqüentemente na string. Os índices são armazenados por ordem de campo, com um índice adicional no final para acomodar o último campo. Há vários pontos que valem a pena ser mencionados: o os campos podem Ter tamanho nulo quando usada esta técnica. o O tempo de execução é uniforme através dos campos o Esta técnica economiza aproximadamente 4 bytes por campo depois do primeiro campo, porque o começo e o tamanho da string são omitidos por campos de 2->n.(dois até n) EXAMPLO: Índices | campos Posição do | 1 11111111 12222222222 Caracter : 1 2 3 4 |567890 12345678 90123456789 +--+--+--+--+------+--------+-----------+ String : | 5|11|19|30|campo1| campo2 | campo 3 | +--+--+--+--+------+--------+-----------+ Esta é uma string que contem 3 campos, e por conseqüência 4 índices de entrada. O primeiro campo começa no caracter 5, o segundo campo começa no caráter 11, e o terceiro campo começa no caráter 19. Para manter o padrão consistente, note que o índice para o campo 4 é 30 que é um a mais que o tamanho dos 29 caracteres da string. Para extrair o segundo campo coloque a string na pilha, use SUBNUM no caracter 2 para extrair a posição inicial, use SUBNUM No caracter 3 para extrair a (posição final +1), subtraia 1 da (posição final+1), então execute SUB para ter um campo de dados. NOTA: O índice para o campo 1 é armazenado como o caractere 5, e NÃO como a string "5"! Para colocar o índice de campo para o campo 1 na string, você deve executar "dados " 1 5 CHR REPL. PROGRAMA: O programa a seguir aceita um dado codificado em forma de string no nível 2 e um campo numérico no nível 1: DECODIFICAÇÃO: "dado" campo# --> "campo" << --> f << DUP f SUBNUM ; "dados" inicio --> OVER f 1 + SUBNUM ; "dados" inicio final+1 --> 1 - ; "dados" inicio fim --> SUB ; "campo" --> >> >> CODIFICAÇAO DE DADOS: O programa seguinte espera uma série de ' n' strings na pilha e os codifica em uma string de dados capaz de ser lido pelo primeiro exemplo acima Os programas SUBNUM e STRCON são usados para agrupar os índices. CODIFICAÇÃO fcampo n ... campo 1 n --> "dados" << DUP 2 + DUP 1 - STRCON --> n data << 1 n FOR i data i SUBNUM OVER SIZE ; ... campo índice tamanho do campo + data SWAP ; ... campo "dados" índice' i 1 + i + SWAP CHR REPL ; ... campos "dados"' SWAP + 'data' STO ; ... NEXT data ; "dados" >> >> Neste exemplo, quatro strings são codificados: Entrada: 5 : "String" 4: "Str" 3: "STR" 2: "STRING" 1: 4 Saída: "xxxxxSTRINGSTRStrString" (string de 23 caracteres) (os cinco primeiros caracteres tem códigos 6, 12, 15, 18, e 24) VARIAÇÃO: A técnica acima tem um limite prático de acumular 254 caracteres em uma string. Para superar isto, basta alocar dois bytes para cada posição de campo; o código para extrair o índice inicial para ficar um pouco mais ocupado. Neste caso, o índice é armazenado como dois caracteres em hexadecimal. Índices | campos Posição do | 11111 11111222 22222223333 Caractere: 12 34 56 78|901234 56789012 34567890123 +--+--+--+--+------+--------+-----------+ String : |09|0F|17|21|Campo1| Campo2 | Campo3 | +--+--+--+--+------+--------+-----------+ << --> f << DUP f 2 * 1 - ; "dados" "dados" indx1 --> SUBNUM 16 * ; "dados" 16*inicio_esquerda_byte --> OVER f 2 * SUBNUM + ; "dados" inicio OVER f 2 * 1 + SUBNUM ; "dados" inicio fim_esquerda_byte --> 16 * 3PICK f 1 + 2 * SUBNUM + 1 - ; "dados" inicio fim --> SUB ; "campo" --> >> >> DOIS PROGRAMINHAS MUITO ÚTEIS: SUBNUM "string" posição --> código << DUP SUB NUM >> STRCON código conta --> "string repetida" << --> code count << "" code CHR 'code' STO 1 count START code + NEXT >> >> Solução alternativa para o Problema: por: Matjaz Vencelj Jim alocou dois bytes para cada índice de entrada (para manipular strings grandes, mas por outro lado obviamente só usa os valores 00 ...FF como pares de índice, o que não faz sentido. Ele está limitado a um numero de 16*16 = 255 caracteres! Eu desenvolvi um conjunto de comandos que suporta strings de até 65K, usando indexação de dois bytes. O codificador (Encode) é um programa em User-RPL que chama o binário N2C que converte o nível 1 em uma string de dois caracteres. @*** Encode *** %%HP: T(3)A(R)F(.); \<< IF DUP TYPE 0 = THEN 514 DOERR END \-> N \<< N 1 + 2 * #18CEAh SYSEVAL #45676h SYSEVAL 1 N FOR I I 2 * 1 - OVER SIZE 1 + N2C REPL SWAP + NEXT N 2 * 1 + OVER SIZE 1 + N2C REPL \>> \>> @*** N2C, cksum=#8919h *** %%HP: T(3)A(R)F(.); "D9D202BA812BF819FF30D9D20AEC8111920001007FE3057A50C57463223057A5 0EE250B2130B21307206" ASCII os transfere com tradução de código tipo 3, então chama o programa 'Encode' com dados em string nos níveis 2 ..n+1 e um real n no nível 1 indicando o número de strings.. O decodificador de string (Decode) que é normalmente velocidade-crítico é o seguinte \ - >ASC codificado em binário: @*** Decode, cksum=#38E1h *** %%HP: T(3)A(R)F(.); "D9D20D8A81D9F811192013000D9D20AEC8113D26CA130F6E30CA130E0E305080 311920001002CE30CAF0650803CBD30CAF06FED30F6E30CA130E0E3050803119 20001002CE30CAF0650803CBD30E0E3033750B2130B21309534" Ele aceita uma string de dados no nível 2 e um real (registro de posição) no nível 1 e então retorna a uma substring (registro). 8.6. Códigos da Impressora HP82240B de: Jarno Peschier Tamanho físico das linhas Uma linha impressa tem 24 caráter normais, 12 se expandidos 168 pixels de largura. Isto significa que um caractere normal tem uma largura de 7 pixels. Qualquer dado impresso fora dos limite da linha será truncada e será ignorada pela impressora. Reset ESC 255d Este comando Reseta a impressora como dito a seguir: com o caracter Roman8 ativado(veja que o caracter de ligado é o ECMA94), com os comandos de expandido e de sublinhar desligado, reseta o buffer. Auto teste ESC 254d A impressora imprime o padrão de auto-teste. Isto consiste em a impressora imprimir fora do padrão Roman8. Impresssão Expandida ESC 253d Ativa a impressão expandida. Isto é, quando este código for acionado todos os caracteres serão impressos com o dobro do tamanho normal porque cada coluna de pixels é impressa duas vezes. Não tem efeito se a impressão expandida já estiver ativada. ESC 252d Desativa a impressão expandida. Isto é, todos os caracteres serão impressos novamente em tamanho normal. Não tem efeito se a impressão expandida já estiver desativada. Impressão Sublinhada ESC 251d Ativa a impressão sublinhada. Isto é, todos os caracteres impressos serão sublinhados porque o pixel mais baixo de cada coluna de pixel esta agora ativado. Não surte efeito se o comando de sublinhar já estiver ligado. ESC 250d Desativa a impressão sublinhada. isto é, todos os caracteres não serão mais sublinhados. O pixel mais baixo de cada coluna é impresso como ele é definido pelo caracter de impressão. Não surte efeito se o comando de sublinhar já estiver desligado Ativar Caracteres ESC 249d Faz a impressora usar os caracteres tipo ECMA94 .Estes caracteres são 100% idênticos aos caracteres usados nas calculadoras HP48 . Este é o valor default da impressora Não surte efeito se o conjunto de caracter ECMA94 já estiver em uso. ESC 248d Faz a impressora usar os caracteres tipo Roman8. Estes caracteres tem os últimos 128 caracteres diferentes dos pelas calculadoras HP48. Até onde eu sei estes caracteres são usados em impressoras antigas como as HP82240A e pelas calculadoras HP28 (consequentemente é preciso usar o comando OLDPRT na sua HP48 se você estiver imprimindo em uma HP82240A). Este tipo de caráter é ligado se ao se resetar a impressora com o código de reset. Não tem nenhum efeito se o tipo Roman8 for o caracter em uso. Gráficos ESC n dados (com n entre 1 e 247) Faz com que a impressora imprima gráficos de acordo com dados especificados (um byte por coluna de pixels). O valor n especifica o número de bytes dos dados que seguem o código da impressora os quais serão interpretado como dados de gráficos. Qualquer dado depois da coluna de pixel 168 será truncado e ignorado. 9. Apêndice B: Informações especificas da GX 9.1. O que há de novo na HP48 G/GX? De: Joe Horn PROCESSAMENTO AUTOMÁTICO DE LISTAS Quase todos comandos que não aceitavam list(s) como seus argumentos podem faze-lo agora. Aqui estão alguns exemplos: { 1 2 3 } SF define a flags 1, 2, e 3 { 1 2 3 } SQ --> { 1 4 9 } { 2 4 } 10 / --> { .2 .4 } 10 { 2 4 } / --> { 5 2.5 } { 10 12 } { 2 4 } / --> { 5 3 } { .1 .2 .5 } ->Q --> { '1/10' '1/5' '1/2' } { freq freq ...} { dur dur ... } O BEEP pode tocar uma canção sem intervalo audível entre os tons. O símbolo + sempre foi usado para concatenar listas, agora existe uma nova função, a função ADD, para somar os elementos de duas listas, como exemplo a seguir { 1 2 3 } { 4 5 6 } ADD retorna { 5 7 9 }, enquanto { 1 2 3 } { 4 5 6 } + retorna { 1 2 3 4 5 6 } como era antes. Os únicos comandos que não tem processamento de Listas Automático são: o os que nunca acusam erro de Bad Argument Type (como DUP), o comandos de meta-object (como ROLL), o programas tipo estruturas de desvio (como FOR) e o comandos que trabalham com listas (como GET). Algumas vezes os resultados são inesperados, por exemplo: 5 { A B C } STO --> A=5, B=5, C=5 { 5 6 7 } 'A' STO --> A={ 5 6 7 } (tal como na SX) { 5 6 7 } { A B C } STO --> A=5, B=6, C=7 O processamento de lista é recursivo somente para ->Q e ->Qpi. PORTAS E MEMÓRIA A HP48 G, tal como a 48 S, possuem somente 32K RAM. A GX, ao contrário da SX, possui 128K de RAM. O slot 1 permite expansão para mais 128K (máximo), mas o slot 2 permite até expansão para até 4 megabytes de RAM. Somente a porta 1 pode ser incorporada na GX. O slot 2 que permite cartões de RAM de grande capacidade permanentemente " livre ", e é dividido automaticamente em portas de 128K e cada uma delas se torna Porta 2, Porta 3, Porta 4, etc. Até 4 megabytes podem ser conectados no slot 2 que assume então valores para portas desde a porta 2 até a porta 33. (Embora mantendo-se os comandos FREE e MERGE para ser compatível com a HP48 SX, os usuários da GX vão preferir os comandos FREE1 e MERGE1. Então o máximo de memória principal incorporada é 256K (diferente da SX que permitia até 288K) devido a MERGE1; O máximo de memória independente é 4224K devido a FREE1. VARIÁVEIS LOCAIS Nome de variáveis que começam com um <- (caráter de seta para a esquerda) são compilados como objetos de nome local (temporário) de variável até mesmo se eles não estão explicitamente depois de um FOR ou ->. Isto permite aos programas compartilhar valores através das variáveis locais , o que é muito mais rápido que compartilhar valores através de variáveis globais e além disso elas são automaticamente apagadas. VELOCIDADE A velocidade do clock da CPU é dobro do da S/SX, mas o processamento é calculado para ser só 40% mais rápido, principalmente devido ao fato de toda RAM & ROM ser agora por comutação de dados (bank switching) (na S/SX apenas 32K da ROM precisaram de comutação de dados e ainda ter o mesmo dispositivo de barramento de dados de 4 bits. COMANDOS APERFEIÇOADOS: o AXES pode agora definir o intervalo da marca de verificação. o DEPND pode agora definir os valores iniciais e de tolerância para o novo tipo de plotagem DIFFEQ . o REPL e SUB agora trabalham com matrizes (arry). COMANDOS DE BIBLIOTECA DE CARTÃO HP SOLVE EQUATION : o AMORT, cálculos de amortizações o CONLIB, inicia o catalogo da Biblioteca de Constantes (Constants Library) o CONST, retorna o valor de uma CONLIB pré-definida o DARCY, calcula o fator de atrito de Darcy o EQNLIB, inicia o catalogo do Equation Library o F0lambda, calcula a potência de emissão total do corpo negro o FANNING, calcula o fator de atrito de Fanning o LIBEVAL é uma forma generalizada do ELSYSEVAL, do cartão de Equações; Executa uma XLIB a partir de seu numero. o MCALC, declara uma variável MSOLVR como "não definida pelo usuário" o MINEHUNT, inicia o jogo de caça minas o MINIT, inicializa o Mpar de 'EQ' para MSOLVR o MITM, personaliza título e menu da Mostra tela de MSOLVR o MROOT, soluciona para variáveis no MSOLVR o MSOLVR, mostra o menu Multiple Equation Solver o MUSER, declara uma variável MSOLVR como "definida pelo usuário" o SIDENS, densidade do silício em função da temperatura o SOLVEQN, inicia a resolução de uma equação da EqLib especificada o TDELTA, subtrai temperaturas como o "-" deveria fazer mas não faz o TINC, soma temperaturas como o "+" deveria fazer mas não faz o TVM, mostra o menu financeiro (Time Value of Money) o TVMBEG, define o modo payments-at-beginning-of-periods (pagamento no inicio do período) o TVMEND, define o modo payments-at-end-of-periods (pagamento no final do período) o TVMROOT, resolve para a variável TVM. o ZFACTOR, calcula o fator de compressibilidade de gás Nota: A tabela Periódica e o Tetris do cartão de Equações não estão presentes na memória residente da HP48 G/GX, mas o cartão de Equações pode ser usado na GX se for preciso. O Tetris não foi incluído porque não ouve acordo sobre direitos autorais. A Tabela Periódica está disponível na HP Corvallis BBS (HPCVBBS). NOVOS COMANDOS DE MATRIZES: o COL+, insere uma coluna em uma matriz ou um número em um vetor ( como INSCOL/PUTCOL da Donnelly's Tool Library) o COL-, deleta uma coluna de uma matriz ou um número de um vetor (idêntico ao DELCOL da Donnelly's Tool Library) o COL->, combina múltiplos vetores-colunas em uma matriz o ->COL, desdobra uma matriz em múltiplos vetores-coluna ( como a repetição de GETCOL repetido da Donnelly's Tool Library) o COND, estima o número de condições de uma matriz quadrada o CSWP, troca a posição de duas colunas de uma matriz (como EXCOL da Donnelly's Tool Library) o ->DIAG, retorna um vetor com os elementos da maior diagonal da matriz o DIAG->, cria uma matriz a partir de elementos de uma diagonal o EGV, autovalores e autovetores corretos de uma matriz quadrada o FFT, calcula a transformada de Furier discreta o IFFT, calcula a transformada de Furier discreta inversa o LQ, retorna a fatoração LQ de uma matriz o LSQ, solução de mínimos quadrados de norma mínima para um sistema sub-determinado e super-determinado de equações lineares. o LU, retorna a fatoração Crout LU de uma matriz quadrada o PCOEF, retorna um polinômio dadas as raízes(inverso de PROOT) o PEVAL, evalua um polinômio em x o PROOT, acha todas as raízes de um polinômio (inverso de PCOEF) o QR, calcula a fatoração QR de uma matriz o RANK, calcula a ordem de uma matriz retangular(usa a flag -54) o RANM, cria uma matriz com números aleatórios o RCI, multiplica os elementos em uma fila de uma matriz por um escalar o RCIJ, executo o RCI e então soma o resultado a uma fila o ROW+, insere um linha em uma matriz ou um número em um vetor (como o INSROW/PUTROW da Donnelly's Tool Library) o ROW-, deleta um linha em uma matriz ou um número em um vetor (idêntico ao DELROW da Donnelly's Tool Library) o ROW->, combina múltiplos vetores-linha em uma matriz o ->ROW, desdobra uma matriz em múltiplos vetores linhas (como a repetição de GETROW na Donnelly's Tool Library) o RSWP, troca de posição duas linhas em uma matriz (idêntico ao EXROW na Donnelly's Tool Library) o SCHUR, calcula a decomposição de Schur de uma matriz quadrada o SNRM, norma espectral de uma matriz o SRAD, raio espectral de uma matriz quadrada o SVD, decomposição de valor singular de uma matriz o SVL, calcula os valores singulares de uma matriz o TRACE, soma dos elementos da diagonal de uma matriz quadrada COMANDOS DE GRÁFICOS E PLOTAGEM: o ANIMATE, mostra grobs seqüencialmente na pilha. Você pode usar os valores padrões ou definir seus próprios valores para O tempo de exibição dos quadros (pode ser muito rápido), o numero de vezes de repetição da seqüência e até as coordenadas em pixels. È como um loop de ROLL REPL... Mas muito mais ripado. Nota: Charlie Patton converteu 17 segundos do vídeo da caminhada na lua do Apollo, em GROBs da HP48 e os rodou usando ANIMATE. Ficou muito bom! o ATICK, define o espaçamento da marca de verificação nos eixos de plotagem o EYEPT, define as coordenadas do ponto de visão num gráfico em perspectiva o GRIDMAP, seleciona o novo tipo de gráfico "gridmap" o PARSURFACE, seleciona o novo tipo de gráfico "parametric surface" o PCONTOUR, seleciona o novo tipo de gráfico "pcontour" o PICTURE, o mesmo que o comando GRAPH o SLOPEFIELD, seleciona o novo tipo de gráfico "slopefield" o WIREFRAME, seleciona o novo tipo de gráfico "wireframe" o XVOL, define a largura de um gráfico 3D o XXRNG, define a largura da faixa 3D de mapeamento de destino para gráficos de gridmap e parametric surface o YSLICE, seleciona o novo tipo de gráfico "yslice" o YVOL, define a profundidade do volume de plotagem tridimensional o YYRNG, define a profundidade do mapeamento de destino para gráficos de gridmap e parametric surface o ZVOL, define a altura do volume de plotagem tridimensional COMANDOS USUÁRIO-INTERFACE: o CHOOSE, mostra uma caixa de diálogos em um tipo apontar e clicar (menu pint-and-click) o INFORM, entrada formatada em múltiplas linhas com campos nomeados (bom!!) o MSGBOX, mostra um texto centralizado em uma caixa de diálogo, depois espera. o NOVAL, lugar para valores não definidos em uma lista de argumentos do INFORM COMANDOS DE PROCESSAMENTO DE LISTAS: o ADD, adiciona duas listas, elemento por elemento (ver seção acima) o DOLIST, evalua um objeto em um numero especificado de listas o DOSUBS, evalua um programa ou comando a partir de argumentos de uma lista o ENDSUBS, retorna o numero loops que o DOSUBS atual vai fazer o HEAD, primeiro elemento em uma lista ou o primeiro caracter em uma string (identico ao CAR da Donnelly's Tool Library) o DeltaLIST, lista das primeiras diferenças finitas dos objetos de uma lista o SigmaLIST, soma dos elementos de uma lista o PiLIST, produtório dos elementos de uma lista o NSUB, retorna uma forma para acessar o número de estrutura atual durante um DOSUBS o REVLIST, inverte a ordem dos elementos em uma lista (como o REVERSE da Donnelly's Tool Library) o SEQ, lista de resultados pela execução repetida de um objeto (como um loop de FOR/STEP,mas o resultado é uma lista) o SORT, ordena os elementos em uma lista em ordem crescente, ou ordena uma lista de listas usando o primeiro elemento de cada como chave. (pode ser feito como com os comandos LSORT/QSORT, da Donnelly's Tool Library) o STREAM, executa um objeto nos dois primeiros elementos de uma lista depois novamente no resultado e no 3º elemento, etc. Permite criar coisas semelhantes a SigmaLIST e PiList. o TAIL, retorna os elementos de uma lista, exceto o primeiro (ver o comando HEAD, acima) (idêntico ao CDR da Donnelly's Tool Library) COMANDOS DO SISTEMA: o CLTEACH, apaga o diretório 'EXAMPLES' criado pelo comando TEACH o CYLIN, ativa o modo de coordenadas polar/cilíndricas o FREE1, tal como 1 FREE (ver seção acima) o MERGE1, tal como 1 MERGE (ver seção acima) o PINIT, inicializador de PORT, especialmente importante para usuários de cartões de 4 MB de RAM o RECT, ativa o modo de coordenadas retangulares o SPHERE, ativa o modo de coordenadas polar/esféricas o TEACH, carrega os exemplos do manual do usuário em um diretório, no home o VERSION, retorna a versão da ROM do sistema operacional e o copyright, desta forma: 2: "Version HP48-R" <-- significa versão "R" 1: "Copyright HP 1993" o XRECV, recepção de protocolo por X-Modem (modo binário somente) o XSEND, envio de protocolo por X-Modem (modo binário somente) COMANDOS MATEMÁTICOS: o LININ, testa se uma equação é linear para uma dada variável o NDIST, densidade de probabilidade normal o PCOV, covariança de população de SigmaDAT o PSDEV, desvio padrão de população de SigmaDAT o PVAR, variação de população de SigmaDAT o RKF, soluciona problemas de valores iniciais usando Runge-Kutta-Fehlberg o RKFERR, mudança na solução e erros absolutos usando RKF o RKFSTEP, passo da próxima solução com tolerância de erros usando RKF o RRK, soluciona problemas de valores iniciais usando Rosenbrock e RKF o RRKSTEP, próxima solução com tolerância de erros o RSBERR, mudança na solução e erros absolutos usando Rosenbrock NUMEROS de MENU e CÓDIGOS CHAVES Muitos números de menu mudaram, assim softwares que usavam #MENU ou #TMENU podem não funcionar na HP48 G/GX. (Em especial, os menus que tem os números 0-3, 28, 30, e 42-59 são os mesmos). Igualmente, quase todos os códigos de teclas correspondem a novos comandos e menus, os quais os programadores têm que levar em conta; por exemplo, o " RAD " na S/SX tinha como código 82.2, mas mudou para 21.2 na G/GX. A tecla de Shift esquerdo que era laranja na S/SX, é agora púrpura [oficialmente "lavanda"], e a tecla de Shift direito que era azul na S/SX é agora verde [oficialmente "cerceta"] na G/GX. Também, os menus de teclas de dígitos podem ser ativados por ambas as teclas shift; o shift esquerdo aciona os menus como na S/SX, mas o shift direito ativa menus de telas. As teclas de não acionadas com shift permanecem idênticas as da S/SX, com exceção da mudança de cor para contrastar com a cor verde escura da caixa da calculadora. MANUAIS O G/GX vem com dois manuais, um " Guia Referencia Rápida" para iniciantes, e um manual do usuário mais esbelto chamado User's Guide. O User's Guide tem só 21 páginas sobre programação, uma vez que a HP estima que a grande maioria dos usuários da 48 nunca faz programas. Os usuários avançados podem comprar Manual de Referência de Usuários Avançado (AUR - Advanced Users Reference Manual - nome original em Ingles) (semelhante ao manual de Referência do Programador, da S/SX ,o qual contém tópicos de programação e muitos comandos que não são mencionado no Guia do Usuário. Não há nenhum Guia de Referência Rápida como o que vinha com a com a S/SX , embora a capa de náilon venha com um bolso que pode caber um guia pequeno. Jim Donnelly comercializou um bom guia de bolso, mas é muito grande para caber no bolso da capa. O Users Guide (Guia do Usuário) não é em formato espiral, mas é feito para abrir completamente e durar muito tempo, uma vez que não é somente colado, mas costurado tal como livros, e é impresso em papel de qualidade. Outra possibilidade é o "The HP 48G/GX Pocket Guide " de Chris Coffin e Thomas Dick (Grapevine Publications) disponível na Educalc. Ele tem 80 páginas, contém uma referência de comandos completa (com diagramas de entrada e saída ), descrição do teclado alfa, sistema, flags, como também exemplos de como usar várias características da calculadora. Este guia é projetado para caber no bolso da capa da HP. FLAGS Algumas flags anteriormente não utilizadas agora são utilizadas. São elas: -14 Desativado (Clear) = modo de pagamento em final de período (end-of-period) para cálculos com TVM. Ativado (Set) = modo de pagamento em inicio de periodo (beginning-of-period) -27 Desativado (Clear) = mostra números complexos na forma simbólica em forma de coordenadas e.g. '(X,Y)' Ativado (Set) = mostra números complexos na forma simbólica usando 'i' e.g. 'X+Y*i' -28 Desativado (Clear) = faz gráficos de múltiplas equações como a S/SX faz (seqüencial) Ativado (Set) = faz gráficos de múltiplas equações simultaneamente -29 Desativado (Clear) = coloca eixos no gráfico (como faz a S/SX) Ativado (Set) = omite os eixos de gráficos 2D e gráficos estatísticos -30 não é mais usada (nunca fez nada de útil) -54 Desativado (Clear) = elementos pequenos da matriz são arredondados para zero Ativado (Set) = mantém os elementos como são O modo padrão de todas as flags é desativado (Clear) como na S/SX. BROWSER de FLAGs Há um browser de flags no sistema que mostra o número da flag, mostra se a flag está ativada ou não, permite a você definir as flags e mostra em inglês o que a flag atual significa. BROWSER de CARACTERES Enquanto se programa, se você quer digitar um caracter qualquer, pressione CHARS e aparecer uma tela de caracteres ASCII na qual você pode movimentar o cursor com as teclas de setas. Ela não só faz isso como também mostra o código em ASCII (valor numérico) e o proporciona um atalho para cada caráter. Se você pressionar ECHO o caractere será inserido em seu programa. Não há nenhuma necessidade qualquer mais para tabelas de caracteres. MANUTENÇÃO de DIRETÓRIO Pressione shift-direito VAR para acionar um Browser de variável que é um gerente de memória completo. Você pode marcar múltiplos objetos e pode copiar, mover ou apagá-los todos de uma vez com um único pressionar de tecla; há até mesmo um Marca Tudo e um Demarque Tudo, como em um computador. É lento entretanto, e ficou obsoleto depois da biblioteca PCT (program comprehension tool - ferramenta para entendimento de programas). POTENCIAS de UNIDADE FRACIONÁRIOS A S/SX só trabalhava com potências de unidades inteiras, mas a G/GX pode usar qualquer número real como unidade de potência. PLAQUETA de NOME A calculadora tem um local na parte de trás como a HP 95LX e a 100LX, e vem com uma plaqueta de metal adesiva que pode ser gravada com seu nome. (custa 5 dólares na EduCalc se pedido no momento de compra). NOMES de XLIB Todos os novos comandos da GX são nomes de XLIB, e então ocupam 5.5 bytes em programas. Os comandos comuns a SX e a GX ocupam 2.5 bytes cada, como eles eram na SX. TELA DE ENTRADA DE DADOS E JANELA DE OPÇÕESES Muitas operações têm dois tipos de menu: ao velho estilo da SX , e um novo menu em forma de caixas de dialogo de entrada que parecem as caixas de diálogo de computador. Especialmente útil para o HP48 iniciantes. PRECISÃO AUMENTADA A precisão interna de pelo menos algumas das rotinas de matriz foi melhorada; INV da melhores respostas, do que a SX, em matrizes quadradas. A HP não lançou informação sobre qual rotinas foram melhoradas rotinas, como, e em quanto. EXIBIÇÃO MELHORADA DO DISPLAY O LCD introduzido com revisão M da G/GX é mais fácil ler pois tem mais contraste entre os pixels ativados e desativados. Tem um tempo de resposta de ciclo mais lento, por isso fica mais difícil a movimentação rápida de jogos de vídeos ou qualquer outra animação rápida. 9.2. Exemplos de INFORM, CHOOSE, e MSGBOX De: Jarno Peschier Alguns exemplos de INFORM, CHOOSE e MSGBOX na HP48 GX. Basta transferir o diretório inteiro para sua calculadora e rodar os programas; mude-os, altere-os e faça com eles tudo o que quiser. SIMPLE: Este programa mostrará uma tela simples de entrada de 3 campos com INFORM (um sem restrições de tipo, um para números reais ou complexos e um para strings) com algo adicional. MSGBOX e CHOOSE (com o terceiro parâmetro igual a zero) são usados para mostrar o que são os resultados do comando INFORM. A lista que o comando INFORM retorna permanece na pilha, então você pode ver como é. ANGLE: Este programa demonstra o uso do CHOOSE. Ele permite a você escolher entre três medidas possíveis de ângulos (DEG, RAD, GRAD) e quando você seleciona um deles a medida de angulo correspondente é definido para evaluar um pequeno programa contendo o comando correto. ISOLATE: Este programa demonstrará o uso de INFORM tal como ele é usado na própria calculadora. O comando ISOL (isolamento de uma variável de uma expressão algébrica) é bastante fácil. Isso lembra que ele é armazenado em uma variável chamada IPAR e a próxima vez que o programa é rodado este será o valor padrão do comando INFORM, assim você pode isolar uma variável diferente que usa a mesma expressão algébrica que você usou antes sem ter que digitá-la novamente. O MSGBOX é usado para mensagens de erro. TYPELIST: Este programa demonstrará novamente o comando CHOOSE. Ele captura os nomes de todos os tipos internos da HP48 GX, da ROM, e os mostra em uma janela tipo CHOOSE (em ordem alfabética). Se você escolhe um deles o numero correspondente é exibido em uma caixa de dialogo (MSGBOX). MATHQUIZ: Este programa demonstrará o uso de INFORM com descrições de campos de variáveis e valores default/reset. Ele mostra 8 campos que são simplesmente questões matemáticas pra resolver (adição e subtração). Você pode entrar com todos os resultados e então verificar se sua resposta esta certa (em uma caixa de diálogos com MSGBOX). Você deve preencher todos os campos. Sugestão: Preencha todos os campos. Sugestão: você pode "colar" resetando um ou todos os campos. %%HP: T(3)A(D)F(.); DIR SIMPLE \<< IF "AN EXAMPLE OF INFORM" { { } { } { } { "OBJECT:" "ALL OBJECTS ARE ALLOWED HERE" } { } { "NUM:" "ENTER A (COMPLEX) NUMBER" 0 1 } { "NAME:" "ENTER YOUR FULL NAME" 2 } { } { } } { 3 1 } { \<< 440 1 BEEP \>> (0,1) "JARNO PESCHIER" } { NOVAL 0 "N.N." } INFORM THEN DUP "YOU ENTERED:" SWAP 0 CHOOSE DROP "The list that INFORM produced is still on the stack." ELSE "You cancelled the INFORM." END MSGBOX \>> ANGLE \<< IF "ANGLE MEASURE" { { "Degrees" DEG } { "Radians" RAD } { "Grads" GRAD } } 1 CHOOSE THEN EVAL END \>> ISOLATE \<< IF "A VERY SIMPLE VARIABLE ISOLATOR" { { } { "EXPR:" "ENTER THE EXPRESSION" 9 } { "VARIABLE:" "ENTER VARIABLE TO ISOLATE" 6 } } { } { } IF 'IPAR' VTYPE 5 \=/ THEN { } ELSE 'IPAR' RCL END INFORM THEN DUP 'IPAR' STO IF DUP NOVAL POS THEN DROP "You must enter an expression and a variable!" MSGBOX ELSE OBJ\-> DROP IFERR ISOL THEN DROP2 "Error: " ERRM + MSGBOX END END END \>> TYPELIST \<< IF "ALL HP48 TYPES (IN ROM)" 0 27 FOR msg IFERR msg 263 + DOERR THEN ERRM END msg 2 \->LIST NEXT 28 \->LIST SORT 1 CHOOSE THEN "That one has type number " SWAP + "." + MSGBOX END \>> MATHQUIZ \<< IF "A SIMPLE MATH QUIZ" 1 8 FOR i "'" RAND 100 * IP + IF RAND 0.75 < THEN "+" ELSE "-" END + RAND 100 * IP + "'" + "ENTER RESULT #" i + 0 3 \->LIST NEXT 8 \->LIST DUP \<< \-> X \<< X HEAD 2 OVER SIZE 1 - SUB "=" + X 1 ROT PUT \>> \>> DOLIST SWAP \<< \-> X \<< X HEAD OBJ\-> EVAL \>> \>> DOLIST 3 ROLLD { 2 5 } 4 PICK { } INFORM THEN IF DUP NOVAL POS THEN DROP2 "You didn't fill all the blanks." ELSE IF SAME THEN "All answers were correct!" ELSE "Not all answers were correct." END END MSGBOX ELSE DROP END \>> END 9.3. Alguns LIBEVAL Úteis De: Joe Horn Atenção: faça um backup da memória antes de usar algum dos códigos seguintes! LIBEVAL pode apagar toda a memória se usado incorretamente. Cuidado com os nomes: LIBEVAL, E NÃO SYSEVAL!!! Se você não sabe o que é um "bint" não use os codigos que mensionam "bint" Nota do tradutor: bint = binary integer Muitos LIBEVALs são relativos a nomes de comandos. Os nomes de comandos não serão traduzidos Examplo: "OUT OF RANGE Try Again" #B0091h LIBEVAL. Experimente! -----------------------------------------------------+---------- Função | LIBEVAL -----------------------------------------------------+---------- Mostra MSGBOX com desenho | #B1000h CMD (janela do ultimo camando do CMD) | #B2000h CHARS | #B2001h MODES | #B41C1h Flags (retorna lixos no level 1, dê um drop) | #B41CFh MEMORY(ou seja variable browser) | #B41D7h SOLVE , janela de opções | #B4000h Solve equation | #B4001h Solve diffeq | #B4017h Solve polynomial | #B402Ch Solve linear systems | #B4033h Solve TVM | #B4038h PLOT | #B4045h SYMBOLIC | #B4113h Integrate | #B4114h Differentiate | #B4122h Taylor Polynomial, expansão por | #B412Bh Isolate a variable | #B412Dh solve quadratic | #B4130h Manipulate Expression | #B4131h TIME, janela de opções | #B4137h Set alarm | #B4138h Set time and date | #B415Bh Alarm browser (ou seja, alarm catalog) | #B416Eh STAT, janela de opções | #B4175h Single-Var Stat | #B4176h Frequencies | #B417Dh Fit Data | #B417Fh Summary Stat | #B418Fh I/O , janela de opções | #B4192h Send to HP48 | #B4193h Print | #B4197h Transfer | #B41A8h Recebe de outra (imediato) | #B50FFh Chama o conteudo da variavel reservada Mpar | #E4012h -----------------------------------------------------+---------- LIBEVAL : diagrama da pilha/ o que faz ------- ----------------------------------------------------------- #B0091h : $ --> abre uma caixa de dialogos com um simbolo de alerta #E0044h : $ --> mostra uma linha de título, nocentro,na parte superior seguida de 1 FREEZE se você precisa que a calculadora permaneça neste estado depois que o programa terminar. #B2000h : inicia as aplicações do quadro de escolha do Last Command #B2001h : inicia as aplicações de CHARS; não retorna nada se não for pressionado ECHO #B2002h : l inicia as aplicações de CHARS; retorna "" se não for pressionado ECHO #B41CFh : launches Flag Browser; deixa um True ou False na pilha, então de um DROP depois desta LIBEVAL. #B50A3h : --> hora atual no formato min, seg ,em separado , e uma XLIB que representa AM/PM/24-hr (dê um DROP) #B50A4h : hh.mmss --> hh mm ss xlib (a xlib representa AM,PM, ou modo de 24 horas; dê um DROP) #B50A6h : --> data atual no formato mes, dia, ano (sempre nesta ordem e com o ano em dois digitos) #B50A7h : mm.ddyyyy (ou dd.mmyyyy) --> mes, dia,ano #B50A9h : #month #yr --> #days_in_that_month #número_de_dias_em_um_ mes; (os valores de entrada e saida são binarios inteiros; o ano tem dois digitos, interpretado como sendo entre 1991 e 2090,somente) #B50AAh : #yr --> %0.00yyyy (a entrada é um binário inteiro de dois digitos interpretado entre 1991 e 2090; a saida é um numero real) #B50ABh : #mon #day #yr --> #day_of_week (entrada e saida são bints; o ano tem dois co limite no intervalo 1991 & 2090; Sunday is #7; se você estiver no modo DMY então a entrada deve ser #day #mon #yr) #B50B2h : --> { 1 2 3 ... 59 } (não é muito rapido) #B50B3h : --> { 1 2 3 ... 10 } (muito rapido) #B50B4h : --> { 0 1 2 ... 23 } (muito rapido) #B50B9h : --> { " 1 January" " 2 February" ... "12 December" } #B50D5h : --> numero de alarmes atualmente ativados (como um bint) #E3063h : hxs --> grob (este é um descompressor RLL de grobs compactados usado pela EQ LIB e pela MINEHUNT; por exemplo, experimente: #E202Bh LIBEVAL 3 GET #E3063h LIBEVAL PICT STO PICTURE) #E202Bh : o primeiro dos grobs compactados da EQ LIB (ver acima) #E2069h : o último dos grobs compactados da EQ LIB (ver acima) #E7039h : grob compactado da MINEHUNT (borda esquerda da tela) #E703Ah : grob compactado da MINEHUNT (borda direita da tela) #E801Eh : obj --> obj T/F (true/false) (testa se um objeto está ou não temporariamente na memória; retorna valores de System-RPL True ou False- falso ou verdadeiro) 10. Aprndice C: Detalhes de Falhas 10.1. Falha do Equation Writer De: Joe Horn Comportamento da Revisão E Primeiro desative a flag -53. Em uma revisão E , ponha '((1+2)/(3+4))^5' na pilha e pressione seta pra baixo. Você vai ver: 5 / 1+2 \ | --- | (A) \ 3+4 / que é como deveria ser. Agora pressione [shift-laranja] [+]; Você verá a mensagem "Implicit () off" momentaneamente; pressione [seta pra esquerda] (não backspace)e então pressione [EXIT], no menu. A expressão ficará desta forma: 1+2 ----------- (B) (5) (3+4) que não é igual a espressão (A) acima! Falha? Pressione ON para cancelar. Agora ative a flag -53, então repita o procedimento. Primeiro você verá: 5 / 1+2 \ | --- | (C) \ 3+4 / Que é a mesma expressão que em (A), acima; mas continuando como anteriormente, você verá:: (5) / 1+2 \ | ----- | (D) \ (3+4) / que é igual a expressão original. Assim a falha pode ser corrigida mantendo-se a flag -53 ativada (não é uma boa solução). Comportamento da Revisão J Diferença principal: depois de pressionar seta pra baixo, a revisão J acessa diretamente o modo gráfico, então é preciso pressionar ON e depois EXIT para acessar o editor de equações (que na revisão E acessa direta- mente). Mas isso é ninharia se comparado com o seguinte. Execute a mesma sequência de operações primeiro com a flag -53 desativada,então faça, exatamente como detalhado acima, em uma revisão J: 5 / (1+2) \ | ----- | (A') \ 3+4 / (notou os parenteses extras?) e então: 5 / (1+2) \ | ----- | (B') \ (3+4) / que é igual a (A'); nada como na expressão (B'), acima e então : 5 / (1+2) \ | ----- | (C') \ 3+4 / que é igual a expressão (A') acima; e também: 5 / (1+2) \ | ----- | (D') \ (3+4) / que é igual a expressão (A'). Não tem falhas na Revisão J. SUMMARIO: As Revisões A-E tem uma falha no EquationWriter que podem alterar expressões se a flag-53 esta desativada (default) e se o modo "Explicit Paren- theses" estiver ativado. Esta falha foi corrigida na revisão J. Infelizmente, como podemos ver acima, a revisão J sempre coloca parenteses em torno de numeradores de polinômios. É então impossível usar o comando - >GROB, em uma revisão J para criar um GROB como o da expressão (A) acima; O mais simples que pode ser feito é a expressão (A'). Outra mudança secundária: as revisões de A a E não mudam o menu quando você aperta REPL; a Revisão J automaticamente muda para o menu RULES. 10.2. Falha na Conversão da Taxa de Rotação para Frequência Angular Sobra a falha: de: Wlodek Mier-Jedrzejowicz Há uma falha na conversão da taxa de rotação da HP48 G/GX que eu não vi aqui anteriormente, assim depois de discussão com o pessoal de Corvallis eu estou postando este artigo. Nota: são 159 linhas! Primeiro - um exemplo. Ponha a unidade de objeto 60_rpm no nível 2 e a unidade de objeto 1_r/s no nível 1, então execute o comando CONVERT. Você está pedindo para a HP48 converter uma taxa de rotação de 60 revoluções por minuto em uma freqüência angular em radianos por segundo. 60 rpm é igual a 1 revolução por segundo, ou 2pi radianos por segundo. Nenhuma HP48 G/GX dará esta resposta. Nem todo o mundo usa rpm ou está até mesmo sabe da existência desta unidadede - esta é um das unidades extras no menu UTILS da Biblioteca de Equação (Equation Library). Temos aqui um segundo exemplo - some 2pi radianos por segundo com um Hertz. Ponha 6.2832_r/s no nível 1, 1_Hz no nível 1, e some. Você está somando uma freqüência angular de dois pi (um ciclo) por segundo com uma taxa de rotação de 1 por segundo, assim o resultado deva ser uma freqüência de dois Hertz. Em uma HP48 S/SX, esta é a resposta. Em um HP48 G/GX, a resposta não é esta. Quando são convertidas unidades, pelo comando CONVERT, ou por aritmética em unidades de objetos, o objeto do nível 2 é primeiro transformado em "base de unidades ", e então o resultado é convertido nas unidades do objeto do nivel 1. Na HP48 S/SX, a " base de unidades " de ângulos é uma rotação (ou um " círculo de unidade" ou uma revolução ou um ciclo). Assim, a unidade de ângulo de rpm (uma revolução) ou de Hz (um ciclo se Hz é tratado como uma taxa de rotação) já está em base de unidades - conversões para ângulos que envolvem rpm e Hz automaticamente dão certo. Na HP48 G/GX, esta "base de unidades " é o modo de ângulo atual (DEG, RAD ou GRAD) - assim qualquer conversão de rpm ou Hz (ou qualquer fórmula que trabalhe em ciclos, rotações, revoluções) para ângulos deve ser precedida pela conversão da unidade de grandeza circular para o ângulo atual. Aparentemente ninguém notou que isto seria necessário, porque isto tudo funcionava na HP48 S/SX. Assim, quando você converte 60_rpm para unidades de _r/s, a HP48 G/GX, converte não 60 rotações, mas 60 "bases de unidades de angulo" por minuto para radianos/segundo. No modo RAD, você tem 1 radiano por segundo. No Modo DEG você tem 1 grau por segundo e no modo de GRAD você tem 1 grad por segundo (em cada caso expresso em radianos). Isso é, três respostas diferentes e nenhuma delas correta! Exatamente o mesmo acontece se você converte 1_Hz para ângulos por segundo, e o erro também acontece no processo inverso se você converter ângulos por tempo para ciclos ou rotações divididas por unidade de tempo. Eu soube primeiramente desta falha por Peter Embrey, um membro do HPCC (o clube britânico dos usuários das calculadoras portateis da HP). Ele descreve suas dificuldades em artigos das duas primeiras edições de 1994 no DATAFILE (no volume 13, número 1, páginas 12 a 14 e V13n2p6). Ele estava calculando a energia armazenada por um objeto dada pela fórmula (1/2)*I*omega^2 e depois de um tempo que ele considerou as respostas muito grandes quando ele CONVERTeu de kg*m^2*(r/s)^2 para W*h em uma HP48 GX. Se mostra que (r/s) é a unidade correta para se ter a resposta certa, mas a GX convertia em graus por segundo como estava em modo DEG, assim sua resposta era muito grande por um fator de (360/2pi)^2 - um fator de aproximadamente 3300. Neste caso, a sua HP48 SX não era muito melhor , pois converteu de radianos para "círculos" de unidade. A maneira de obter a resposta correta é usar uma HP48 G ou GX no modo RAD - ou para dividir os radianos da fórmula antes de usar CONVERT. Isto não é contudo uma falha, mas é preciso ter muito cuidado como quando se usa unidades de temperatura nas HP48. Mas quando o Peter tentou solucionar problema trabalhando em rotações por minuto, ele descobriu a falha descrita acima. Meus agradecimentos ao Peter por me pôr na pista do problema! Aparentemente esta falha não havia sido informada anteriormente - pelo menos meus amigo na HP me disseram que ela não estava em suas listas de problemas conhecidos até que eu os informasse. (isso significa que esta falha não foi corrigida na nova revisão R.) Por que não - todo o mundo sabe disto e soluciona o problema sem pensar em contar aos outros? Ou ninguem- usa a HP48 para fazer cálculos em corpos giratórios - ou a maioria das pessoas faz cálculos com corpos giratórios de tal um modo que eles não encontram este problema? Pode haver centenas de estudantes e engenheiros calculando e projetando coisas na HP48 G/GX e obtendo resultados grosseiramente inexatos? Tem alguém construído uma unidade de disco ou um motor a jato que giram tão rápido que podem desintegrar-se por causa disto? Não, claro que não, todos os engenheiros sabem que qualquer cálculo deve ser repetido em duas calculadoras ou programas de computador completamente independentes! :-| Talvez alguns estudantes perderam pontos em exames por causa disto, entretanto - mas por favor, isto não é, tem a intensão de reiniciar a discussão sobre se calculadoras deveriam ser permitidas em exames! Eu quero ressaltar novamente que aparentemente ninguem informou isto antes - o que leva a crer que poucas pessoas foram afetadas por isto. Não é portanto uma boa razão para jogar fora sua HP48 G/GX ou exigir que a HP substitua sua HP48 G/GX - mas eu penso que é importante que as pessoas saibam a respeito, assim eles podem prevenir-se. O restate desta mensagem entra em mais detalhes - se você nunca se preocupa com cálculos de rotação então você pode ignorar seguramente o resto desta mensagem - entretanto você pode achar interessante, não deixe de ler: -) Um modo de evitar isto seria incluir uma unidade nova na HP48 - chame-a como quiser - o "ciclo" ou "rotação" ou "revolução" ou "círculo" de unidade. Como eu escrevi acima, isto já vem incorporado na HP48 S/SX; para ver isto em uma HP48 S/SX, ponha 360 graus no nível 1 e execute UBASE - o resultado é 1 e significa que 360 graus são equivalentes a uma medida de unidade básica de ângulo, mas não há unidade correspondente pra isso na HP48S/SX. Por outro lado, UBASE na HP48 G/GX considera a medida da base de unidade de medida de ângulo como sendo o radiano, embora CONVERT se comporte como se a unidade básica fosse o modo de ângulo atual. Parece haver duas normas diferentes para unidades de ângulo básicas na HP48 G/GX! Este assunto é pouco citado nos manuais da HP. Nos manuais da HP48 SX (dois volumes, em espiral), a seção de "Dimensionless Units of Angle" no capítulo 13, página 198, avisa o leitor sobre o perigo de se usar unidades adimensionais e como as unidades de ângulo e escalares são abordadas. Nos manuais mais recentes da HP48 S e da HP48 SX (em um volume), o mesmo é citado em "Converting Dimensionless Units of Angle", na páginas 13-12. O manual do usuário da HP48 G traz em "Converting Angular Units" (Para Converter Unidades de Ângulo, no manual em português) na página 10-7, que na conversão um escalar será interpretado de acordo com o modo de ângulo definido (um escalar é um número puro, sem unidades). Para detalhes , veja a edição de "HP48 Insights Vol II ", da HP48 S/SX seções 21.4.3. Este livro escrito pelo Dr. Bill Wickes, que foi o chefe da equipe de projeto da HP48 SX e que escreveu os "Insights" a fim de prover explicações e detalhes que são omitidas nos manuais. Uma boa explicação sobre unidades de ângulo é exatamente o tipo de assunto que se pode encontrar lá! Ele explica as armadilhas e inevitáveis contradições ao se trabalhar com ângulos nos sistemas de unidades da HP48 e outros casos em que a HP48 S/SX faz escolhas arbitrárias ao usar 2pi como a unidade básica de ângulo, fazendo assim, conversões entre ângulos por tempo e Hertz funcionarem corretamente. Talvez ninguém da equipe da HP48 G/GX leu isto enquanto estavam fazendo mudanças a partir da HP48 S/SX! Por que eles mudaram a base de unidade? Provavelmente eles estavam tentando lidar com outra contradição: o sistema de unidades permite somar numeros admensionais com ângulos, desde que ambos sejam adimensionais. Se você soma o número 1 no nivel 2 com a unidade de objeto 0_r no nível 1 em uma HP48 S/SX, o numero 1 é tratado como uma base de unidade, ou 2pi radianos e o resultado é 6.2832_r - mas se você quiser o seno do número 1, ao contrário, não é tratado como 2pi, mas como uma unidade do modo corrente de ângulo. As mudanças feitas na HP48 G/GX não resolvem esta contradição, mas implicam na falha descrita acima. Como dito anteriormente, um modo de solucionar os problemas envolvidos seria incluir uma unidade de "ciclo" no sistema de unidades da HP48. Hertz (Hz) seria tratado então como ciclos por segundo quando usado em cálculos que envolvem rotações - rpm seria tratado como ciclos por minuto e conversões seriam feitas de ciclos para unidades de ângulo apropriadas. Esta sugestão foi feita por Peter Embrey em seus artigos, e o pessoal da HP considerou que isto é uma boa solução - mas eles não implementaram tal recurso, entretanto. Por isso seja muito cuidadoso quando converter unidades de taxa de rotação e unidades de freqüência angular. Eu solicito urgentemente a todos que ainda não tem uma cópia do Insights II que comprem e leiam a seção pertinente - talvez isso incentive até esmo Bill Wickes a publicar a versão tão esperada do livro para a HP48 G/GX Eu ainda não mencionei ângulos sólidos. Por princípio não deveria haver problema - tanto na HP48 S/SX como na HP48 G/GX a unidade base para ângulo sólido é a "unidade esférica", ou 4pi steroradianos. Na HP48 S/SX é possivel somar o número 1 (sem unidades) com 0_sr e obter 12.5664_sr (4pi steroradianos). O manual da HP48 G/GX diz que se obtém o mesmo resultado, mas na minha HP48 GX (versão L) isto retorna a mensagem de erro "Inconsistent Units". Esta é por enquanto outra diferença não documentada entre as séries S e G, mas pelo menos não é uma falha. Peço desculpas por fazer esta descrição tão longa, eu espero que a maioria das pessoas concordem que um assunto destes mereça uma descrição cuidadosa! Nas minhas próximas dicas - alguns detalhes sobre o gerador de Numeros aleatórios da HP48 (HP48 Random Number Generator). Um pouco mais... De: Eric Haas Nota: o símbolo < representa o simbolo de angulo. A falha de conversão angular está de fato na definição da unidade de rpm. Se você puser 1_rpm na pilha e digitar UBASE, você, terá 1.66666666667E-2_1/s. Veja que não há nenhuma unidade angular na definição. Se a unidade de rpm for porém definida como 6_ e Revisado por: Andrew Chen Agora que você tem sua HP, você quer conferir provavelmente o tremendo potencial de programas disponíveis. Mas como fazer isto? Você precisa de um cabo de conexão da HP para o PC. Você pode compra-lo, mas eles tendem a ser bastante caros. Ou você pode construir seu próprio cabo. O processo requer o seguinte: Material Necessário: o Ferro de soldar e pasta para soldar o conector RS232-9 ou RS232-25 o conector femea tipo RS232-9 ou RS232-25 (conector de porta serial) o Conector HP de 4 pinos, com soquetes espaçados em 2 mm (NÃO é o de 0.1 polegadas) o fio de cobre Do material acima, muitos são fáceis de conseguir e você pode encontra-los nas lojas de eletrónica. Contudo o conector HP de 4 pinos (i.e. macho) pode ser difícil de encontrar. Se por acaso você tem um drive de disquete estragado ou um drive de disco rígido ou um cabo de CD-ROM sobrando veja se você consegue um conector que sirva na HP48. Não use conectores de 0,1 polegada. Eles podem danificar sua calculadora. Conector da HP O conector da HP é a parte mais frustrante do cabo. A razão é porque provavelmente não vai ser encontrado em lojas de eletrônica, mas você pode achar outros produtos por lá. Você pode encontrar o conector em lojas de eletrônica ou faze-lo você mesmo. Modo Fácil Uma vez que com o conector pronto é muito fácil, eu lhe darei algumas dicas de onde encontrar o outro conector. Primeiro, confira as páginas de classificados de sua lista telefônica na parte de "computadores ". Você encontrará ai muitas lojas, mas é preciso procurar por "consertos de computadores" ou "componentes para computador ". Telefone para as lojas perguntando por um cabo de áudio de CD-ROM. Se a loja tiver o cabo vá até ela e peça pra ver o cabo. O que você precisa conferir é se o cabo tem duas pontas ou terminais e se cada ponta tem um soquete de 4 pinos. Um terminal deve ser um pouco mais espaçado que o outro e este não se ajustará nos pinos da HP. (não force, ou poderá entortar os pinos). O outro lado deverá ajustar-se com facilidade. Não se preocupe porque só há 3 entradas. Isto não tem problema porque o que falta é o terra. Uma vez que você possui este cabo, corte o terminal que não vai ser utilizado e continue na parte de conexão com o PC. Modo Difícil Se não há possibilidade de achar o cabo de CD-ROM , ou se você preferir fazer você mesmo, então faça. Sim é possível faze-lo você mesmo. O que você pode fazer é comprar um soquete de circuito integrado em alguma loja de eletrónica. Você normalmente vai achar soquetes de 8 pinos ou mais. Estes pinos são dispostas junto com um invólucro plástico que contém ainda partes que não são utilizadas. Então, é necessário retirar os pinos do soquete do invólucro. (não se preocupe em danificar os pinos do soquetes, estes pinos são rígidos e além disso tem 8 deles a disposição). Depois, solde o "garfo" nos fios, segurando os 4 pinos espaçados de 2 mm enquanto você os une com algum tipo de "supercola". Cole um plástico para poder segurar os 4 pinos e poder retirar o conector da HP48. Você também pode indicar ai o lado de cima do conector. Note que as entradas da HP48 nas quais será introduzido o conector não são simétricas; os pinos estão mais próximos da parte de cima do do que da parte de baixo, e você pode usar-se disto para impedir que o conector seja colocado invertido. Terminada esta etapa, proceda na parte referente a conexão com o PC. Conexão com o PC A parte de conexão com o PC é muito mais simples que a parte de conexão da HP. Tudo o que você tem que fazer é um conector padrão com as partes que você comprou. Porém, não faça isso ainda porque primeiro você tem que soldar os fios do conector da HP no outro conector. Fazendo as Conexões Agora que você tem as duas partes feitas, você pode começar a fazer as conexões para o cabo propriamente dito. Começando com a parte da HP, ponha no conector e marque o topo com um " PARA CIMA ". Se você tem um cabo de áudio de CD-ROM com um soquete a menos, certifique-se que o soquete que falta esteja alinhado e ocupe a posição do pino 1. Conector da HP48 Conector para a HP48 ______ ______ |....| |oooo| <-- o primeiro é \____/ \____/ nulo pino 1 pino 4 pino 4 pino 1 Caso você tenha optado pelo Modo Difícil você tem que soldar os terminais do soquete do circuito integrado que vão unir o conector serial á parte do PC. Com estes fios prontos, você precisa então soldar os fios individualmente em seus respectivos lugares na parte do cabo referente ao PC. Use esta tabela para conexão dos pinos: Da HP para o cabo do PC HP48 | RS232-9 | RS232-25 -----+---------+---------- 1 | malha | malha 2 | 2 | 3 3 | 3 | 2 4 | 5 | 7 Você pode Usar um conector de 9 ou 25 pinos para a parte do cabo do PC: 9-pinos RS232 25-pinos RS232 conector (F) conector (F) pino 5 pino 1 pino 13 pino 1 ------------- --------------------------- | o o o o o | | o o o o o o o o o o o o | \ o o o o / \ o o o o o o o o o o o / --------- ----------------------- pino 9 pino 6 pino 25 pino 14 Use um cabo flexível de 4 fios para conectar os quatro contatos do conector de sua HP48 ao conector do PC. O pino 1 da HP48 deve ser conectado ao invólucro de metal do RS232. Normalmente não é fácil de soldar este invólucro; fazer ranhuras no invólucro ( ela tem algum tipo de camada protetora) usando uma chave de fenda pode ajudar. Se isto não der certo, simplesmente deixe o pino 1 da HP48 desconectado. Note que os pinos 2 e 3 do RS232 devem ser trocados de posição quando você usar um conector de 25 pinos. Antes de conectar o cabo, já feito, na sua HP48, verifique com um ohmmimetro ou multímetro ajustado em ohms ou "teste de diodos" se há algum curto- circuito. A HP48 têm um comando de teste incorporado que também pode ser usado para testar o cabo serial (veja a questão sobre combinação da tecla ON com as outras teclas). Depois de você ter acabado, feche o invólucro e o conector colocando todos os parafusos Você tem agora um link HP<-->PC, que funciona nas portas seriais (COM). Usando o Cabo de Conexão Depois de terminado, o cabo esta pronto para ser testado. Faça download de programas (como os da lista de melhores programas) que você quer experimentar. Você também precisa ir para o endereço para pegar a versão do Kermit que melhor se adapte. Contudo, você também pode dispor de programas de comunicação alternativos (por exemplo, o Windows 95 vem com um HyperTerminal que você pode usar) pois pode demorar um pouco fazer o download do Kermit. Entretanto é recomendável tê-lo porque certos programas da HP48 usam algumas características do Kermit (como o server mode) não disponível em outros programas de comunicação. Concluído isso, você já pode começar as transferencias. Inicialize seu programa de comunicação e defina a parta para COM1 (ou a que seu cabo for conectado). No Kermit, digite "SET PORT COM1" e no HiperTerminal você deve definir a caixa de dialogo com a escolha de modem que você vai usar para "Direct to COM1". Então mude a velocidade das portas para 9600. No Kermit, digite "SET SPEED 9600" e no hiperterminal clique no Advanced. Na HP, acesse o I/O, e vá para Transfer. Defina a calculadora para Wire, 9600 baud, e Kermit (ou X-Modem, se você o estiver usando). Então prepare-se para receber o arquivo. Note que o X- Modem é muito mais rápido que o Kermit em muitos casos, especialmente em transferencias grandes. Entretanto, ele não esta disponível na como comando incorporado na S/SX. Faça o PC enviar e a HP receber. Você deverá notar uma flecha piscante indicando a transferência, no topo da tela da HP. No PC você verá um indicador de quantidade de transferência que mostra quanto do arquivo foi transferido. Quando a transferência estiver terminada, cheque se você recebeu o que deveria. Se você recebeu o que deveria, o seu cabo de conexão HP<-->PC funciona! Da HP para o cabo da HP Se você pretende fazer comunicação a 9600 bps entre duas HP48, então faça dois conectores e simplesmente troque de posição os pinos dois e três. Da HP para o cabo da HP HP#1 | HP#2 -----+----- 1 | 1 2 | 3 3 | 2 4 | 4 Garantia, declarações, etc. Uma vez que a interface serial da HP é protegida internamente, é possível danificar a calculadora quando uma conexão mal feita é executada. Eu não me responsabilizo por eventuais erros neste arquivo ou que você venha a fazer. *Nota do tradutor: Eu também não me responsabilizo por algum dano casado por Algum eventual erro de tradução ou os acima citados. De: Deborah Lynn Williams Eu fiz um cabo para a HP48 com quatro pedaços de fio de alto-falante e uma tomada de porta serial. A disposição dos pinos da tomada serial esta descrita acima. A conexão para a tomada da HP é a parte mais difícil. Eu peguei 4 pedaços de um fio de um alto-falante velho e os cortei de forma que deu para conseguir os fios e a isolação. Eu então peguei um clip de papel e os forcei contra o lado do clipe que fica aberto deixando um espaço entre os fios e a isolação. Eu tive que aparar algumas das rebarbas que estavam aderindo. Então o conectei aos pinos da porta serial da HP48. É uma conexão um tanto rígida, mas funciona bem se você não forçar. Conectei os outros terminais dos fios do alto falante ao conector serial. Lembre-se de assinalar com uma marca os fios que vão para os respectivos pinos ou deixe-os com comprimentos diferentes. De: John Cutter Outra fonte barata para cabos são os mouses compatíveis com os PCs. Consegui um barato, o botão do meio havia estragado após 2 semanas de uso então eu o abri. Eu tinha o cabo serial de 9 entradas do mouse. Uma vez aberto havia um conector de 4 pinos de 2 mm conectado à placa do mouse. Tudo o que eu tive que fazer foi inverter as posições dos pinos no conector e funcionou bem. Também pude verificar que os mouses da Logitech tem 6 pinos de 2 mm que também podem ser adaptados. Não precisa soldar nem destruir. 11.2. Informações adicionais sobre a HP48 e o RS-232 DE: John Meyers Você não pode conectar a HP48 em qualquer outra coisa antes de conectar o cabo que une as conexões seriais da HP48 em um conector tipo DB9. Neste ponto, a HP48, incluindo seu cabo anexado, é configurado claramente como os DCE (da mesma forma que um modem), assim você precisa de um "crossover" (como um adaptador de modem nulo) para conectar a HP48 a um modem. Nota do tradutor: DCE-Data Communication Equipmant (equipamentos de comunicação de dados) 11.3. Uso de cartõs de RAM que não são da HP. Se você usa cartões de RAM que NÃO são originais da HP48, é bem possível haver danos sérios para sua HP48. Se quiser ficar seguro você deve usar somente cartões de RAM originais. Apresentamos aqui uma discussão no newsgroup comp.sys.handhelds. De steveh@hpcvra.cv.hp.com Sex 1 Mar 17:00:00 1991 De: steveh@hpcvra.cv.hp.com (Steve Harper) Data: Qui, 10 Mai 1990 22:46:09 GMT Assunto: RE: HP48 SX Memory Card Pricing Organização: Hewlett-Packard Co., Corvallis, OR, EUA Houve uma quantia significativa de comentários relativos à cartões de memória da HP48 SX e seus preços. Meu propósito nesta resposta não é tentar justificar qualquer preço , mas sim apresentar as razões técnicas por que há preços significativamente diferentes entre os cartões de memória e outros tipos de expansão de memória como as de PC, por exemplo, com as quais os usuários estão provavelmente mais familiarizados. Alguns usuários disseram corretamente que a memória dos cartões de RAM é estática enquanto a comumente usada nos PCs é dinâmica. A RAM dinâmica usa um transistor e um capacitor para cada bit enquanto a memória estática requer quatro transistores e dois resistores, ou seis transistores. O resultado é que uma quantidade de elementos de RAM estática é muito maior e por isso muito mais caro que uma RAM dinâmica. A vantagem é que a RAM estática não precisa ficar continuamente rodando e drenando corrente para manter os dados na memória. Além disso, a memória estática usada nos cartões não é uma memória estática qualquer, é uma memória especialmente desenvolvida e/ou selecionada para funcionar com baixos níveis de corrente. Isso permite que a bateria de backup do cartão consiga manter a memória por um longo tempo em vez de ter que muda-la em poucos meses. O processo de desenvolvimento e /ou os testes para selecionar dispositivos de baixa corrente contribui para o preço elevado dos chips de RAM estática. Os modelos padrões DIP (dual in-line package - montagem em duas linhas), feitos em plástico, para muitos circuitos integrados, incluindo chips de memória é em geral barato devido a sua simplicidade e quantidades enormes. Infelizmente estes são grandes demais para colocar dentro de um cartão de memória. Então, o fabricante do cartão monta os chips individuais de memória, diretamente em uma placa especial de PC junto com os suportes dos chips de memória. Porque estão sendo colocados muitos chips em um único pacote híbrido em um processo especial que tem mais baixo volume, os rendimentos são mais baixos e isto influi novamente no custo. Realmente, o rendimento se torna exponencialmente pior conforme o número de chips e interconexões aumentam em um processo embalagem. Além dos chips de memória, mais dois circuitos integrados e diversos componentes discretos são requeridos para alimentação e controle lógico. Um chip de tecnologia bipolar verifica a voltagem externa e comuta a alimentação do chip para a bateria quando necessário. Uma chip de porta CMOS protege o endereço de memória e os dados, de pequenos problemas e descargas eletrostáticas quando o cartão não está conectado. Este chip também gera os sinais de ativação quando há muitos chips de memória no cartão, como é o caso com do cartão de RAM de 128 kbytes. Estes chips devem ser projetados para corrente extremamente baixa, da mesma maneira que os chips de memória. O mecanismo de proteção contra gravação também é importante. Além da bateria e o suporte de bateria, outras partes mecânicas também são importantes. As partes plásticas da armadura sustentam a placa de PC e dão suporte às partes de revestimento metálico e o dispositivo de abre-e-fecha que protege os contatos contra descargas estáticas e outros. A chave de comutação do mecanismo de proteção contra gravação também é importante. Custa bastante caro para o fabricante fazer os equipamentos necessários para fabricar cada uma das partes do cartão como também os aparelhos de ajuste e teste o cartão já pronto. Uma vez que a quantidade de cartões de memória é relativamente baixa o custo de embalagem representa uma parte significante no custo de cada cartão. Sem dúvida, há outras alternativas, como as atualmente usadas em PC, que possibilitam uma capacidade de expansão de memória. Para ser possível este tipo de expansão seria necessário que a calculadora fosse muito maior e possivelmente muito cara. Isso é com certeza indesejável. Outros recursos que achamos ser essenciais são a capacidade de distribuição de softwares aplicativos e a capacidade de trocar, arquivar e fazer backup de programas e dados do usuário. Outras alternativas de expansão não são capazes de realizar estas tarefas importantes. Os recursos de I/O da calculadora proporcionam isso em um grau limitado. Um outro artigo é muito mencionado aqui: Cartões de memória para uso em calculadoras tem indicação clara que eles são feitos para serem usados na HP48 SX. Há outros cartões de memória que são mecanicamente compatíveis com a HP48 S, mas estes cartões podem não ser confiáveis para operar eletricamente na calculadora. Os cartões da HP48 SX são projetados para um nivel de tensão de alimentação mais baixo. O uso de outros cartões pode causar perda de memória, e em certas circunstâncias pode danificar sua calculadora até mesmo eletricamente. De steveh@hpcvra.cv.hp.com Mar Sex 1 17:00:00 1991 De: steveh@hpcvra.cv.hp.com (Steve Harper) Data: Sex, 11 Mai 1990 16:52:07 GMT Assunto: Re: Cartão de memória: Dê-nos fatos verdadeiros! Organização: Hewlett-Packard Co., Corvallis, OR, EUA Minha declaração anterior que em certas circunstâncias a calculadora pode ser danificada até mesmo eletricamente não é brincadeira. Se a fonte de alimentação interna da calculadora estiver proxima do limite inferior, isto é , 4.1 V, e a voltagem para a qual o chip de controle de voltagem do cartão desliga estiver proximo do limite superior ou seja, 4.2 V (isto pode acontecer e acontece ocasionalmente em cartoes não originais da HP48 SX) então a calculadora começará a "drenar" o endereço de memória e o cartão ainda terá estes lançados por terra.(isso é o que ela faz para se proteger quando não há voltagem suficiente para operar). Esta infeliz situação pode simplesmente arruinar sua memória, ou se a calculadora tentar acessar bastante das linhas altas ao mesmo tempo várias centenas de milliamperes podem fluir ... por algum tempo, até que acabe... Por outro lado, sua calculadora e um particular um cartão não original da HP48 SX pode funcionar bem se as voltagens se mantiverem do outo lado do limite. Estas voltagens são também ligeiramente sensíveis a temperatura. Pode funcionar na sala de aula ou escritório e não na praia, ou vice-versa. O ponto critico de voltagem dos cartões da HP48 SX foram fixados em niveis mais baixos (um chip de controle de voltagem diferente) de forma para que isto não possa acontecer, não importando o lugar e as variações de temperatura. Um outro artigo foi me chamou atenção ontem através de Preston Brown. Eu deveria te-lo incluído em minha postagem original . Enquanto a maioria de nós reconhece que comparar cartões de RAM com um punhado de chips de RAM dinâmica para PC é como comparar maçãs e laranjas, pode ser mais interessante comparar cartões da HP48 SX com cartões de outros produtos, como o Portfolio Atari, o Poquet, o NEC Ultralite, etc. Eu acredito que você achará que os preços dos cartões da HP48 SX não estão fora de preços de mercado. Steve " Eu reivindico todas as opiniões..." De prestonb@hpcvra.cv.hp.com Sex 1 Mar 1 17:00:00 1991 De: prestonb@hpcvra.cv.hp.com (Preston Brown) Data: Qui, 17 Mai 1990 17:26:53 GMT Assunto: Re: Cartão de memória: Denos fatos verdadeiros! Organização: Hewlett-Packard Co., Corvallis, OR, EUA Quando os cartões de RAM "descobrem" que a voltagem é baixa para operar eles lançam por terra os endereços de memória. Este lançamento é feito ligando-se os dispositivos de saida de um chip incluido no cartão. O limite de corrente é especificada para ser de no mínimo 2mA no nivel de saida. Uma vez que as 48 podem estar tentando sempre acessar as trilhas, drenar mais corrente pode ser caso tipico. 10mA por disputa, não são incomuns nos totais de várias centenas de miliamperes. A fonte de alimentação do VDD está regulada para 4.1 - 4.9 com partes tipicas no limite inferior (4.3). As fontes de alimentação dos cartões são comutadas por um transistor ocasionando uma queda de 0.1 V. Os cartões Epson tem chance significativa de encarar esta voltagem como baixa e desligar. Nós vimos cartões com este comportamento no laboratório. Quando isso ocorre a calculadora trava com o VDD consumindo 2.5V e 250mA que são drenados das pilhas. Este dreno de corrente excede em muito a média da fonte de alimentação e pode danificar sua calculadora. O minimo que pode acontecer é haver perda de memória. Agora, por que não se regula o VDD mais alto? As 48 têm duas fontes de alimentação: de VDD a 4.3 e de VH a 8.5. O VH não pode ser regulado para valores mais altos sem exceder o especificado para o CMOS de processo de IC. O VH é usado como voltagem positiva para o I/O. Para atingir um nivel de saida de +3V o VH deve estar 3.6V acima do VDD.( o VDD é usado como terra do I/O ). Nossa fonte de alimentação permite aumentar a vida util de bateria e bem como reduz o custo para I/O por cabo. 11.4. Onde se pode obter cartões de RAM de outros Fabricantes? Se você decidir procurar por alternativas não usuais de cartões de RAM, você deverá de conferir as URLs a seguir: o o o 12. Apêndice E: Onde conseguir programas para a HP48 12.1 Os melhores programas e onde consegui-los - Lista Esta listagem foi feita com o objetivo de ajudar os usuários da HP48 a localizar programas úteis e bem feitos para suas HP48, selecionados por usuários da HP48 que recomendam seus programas favoritos. A compatibilidade dos programas é denotada por SX (somente a SX), GX (somente GX), SX/GX (SX e GX) ou SX?/GX (funciona na GX, não podemos afirmar com certeza que funcione na SX). Muitos dos sites abaixo requerem acesso pela Internet. Contudo também os serviços de CompuServe ainda tem uns tantos arquivos modestos sobre a HP48 nos fóruns sobre computadores portáteis da HP. Digite "go HPHAND" Para acessar o fórum. Arquivos específicos da HP48 podem ser encontrados em DL 3. O America Online também tem uma seção sobre a HP que você pode acessar usando "Keyword PDA". Note que para a maioria dos sites de FTP, muitos programas disponíveis estão sujeitos a sofrerem mudança de um diretório para outro diretório mais apropriado ( i.e. jogos ou utilidades), podendo ainda serem apagados pelo responsável pelo do site. Há ainda a possibilidade de o programa ter o nome um pouco diferente do nome original, principalmente se ele possui versões novas mais disponíveis. Se você souber de alguma mudança de nome ou informação avise-me para que eu possa atualizar a lista. Um site em especial, o ftp.cis.com, é tido como fonte exclusiva de programas para a G/GX. Entretanto os programas disponíveis no ftp.cis.com não são necessariamente compatíveis com a G/GX. Para evitar isso, por favor, não envie programas não compatíveis com a G/GX a para o ftp.cis.com. Eu também fiz um diretório pessoal para arquivos da HP48 que deve está disponível a desde julho de 1996. Ele contem todos os programas abaixo como também muitos outros. Maiores informações podem ser obtidas em minha home page no endereço: ou no endereço Aplicativos o StringWriter (SX/GX): Substitui o editor. Por Jean-Yves Avenard. Contém recursos como cortar, colar bem como escolha de fontes. Está disponível no endereço: http://www.epita.fr/~avenar_j/ o EXAL (SX/GX): Grande programa de planilha eletrônica. Por Al Arduengo. Disponível no endereço: o GxTools (GX): GxTools é com efeito uma barra de utilidades para a sua G/GX. Tem disponível diversas utilidades. Foi reunido por Jack Levy Está disponível no endereço o HP-Writer (GX): Este editor de autoria de Paquot Christophe é pequeno, rápido e utiliza recursos de UFL FNT2 e ainda mantém todas as características importantes. A versão atual esta disponível no endereço: . o MiniWriter (SX/GX): pequeno, rapido, editor de textos em FNT1. Por Jean Yves Avenard. Disponível no endereço: http://www.epita.fr/~avenar_j/ o Organizer (SX/GX): Organizer é uma biblioteca feita para funcionar como "Program Information Manager" ou PIM(gerente pessoal de informações) O objetivo é criar um PIM de alta velocidade, fácil de usa, compacto e funcional para a HP48. O Organizer contem calendário, horário de compromisso, eventos anuais e uma agenda telefônica. Por Jack Levy no endereço: o Remote-BG (SX/GX): Use sua HP48 como controle remoto! Este é o melhor dos programas de controle remoto e tem a capacidade de aprender novos códigos. Por Bjorn Gahm, disponível no endereço: o Scribe (SX/GX): Scribe é uma biblioteca que funciona como Database ou Rolodex. É feita para suportar uma grande quantidade de informação de tal maneira que fica fácil recuperar, rápido de achar e sem mistérios para usar. Mais um grande programa de Jack Levy. Disponível no endereço: Documentos o FAQ (SX/GX): Contém valiosas respostas das perguntas mais freqüentes. Leia-as! A última versão esta disponível no endereço: . o GX Programming Tips (SX/GX): Este documento de Doug Cannon descreve brevemente como escrever códigos que rodam na SX e na GX. Está disponível no endereço o Library Info (SX/GX): Informações sobre a estrutura e uso de bibliotecas(LIBS). Por Charlie Patton. Está disponível no Goodies Disk 8. o ML Input (SX/GX): permite entrar com linguagem de máquina via teclado. Por By Joe Evin. Está disponível no Goodies Disk 7. o RPLMAN.DOC (SX/GX): Este documento foi escrito pela HP e lançado sem assistência para usuários da HP48. Explica como programar em System RPL. Está disponível no Goodies Disk 4. o Saturn (SX/GX): Saturn Processor Reference (guia de referência do processador Saturno) Por Matthew Mastracci. A home page esta no endereço: o SASM.DOC (SX/GX): Também da HP. Este é um guia sem assistência para programação em linguagem de máquina do processador Saturno. Está disponível no Goodies Disk 4. Jogos o Arkanoid (SX/GX): clone do Breakout, com editor - Por "HP Mad". A versão para a SX está disponível no Goodies Disk 8. Também há uma versão para a GX no endereço: o Boulder DasHP (SX): Jogo clássico Boulder DasHP Por David Presle " ORUS ". Pegue os diamantes sem ser esmagado por pedras que caem ou correndo entre os inimigos. Disponível no Goodies Disk 8. o Columns (SX/GX): Similar ao Tetris, por Spartacus. Disponível no endereço: o Columns II (GX): colunas em escala de cinza. Somente para a GX. Também por Spartacus. Disponível no endereço: o Diamonds (SX/GX): Maravilhoso jogo criado por by Doug Cannon! Controla uma bola para pegar diamantes. Disponível no endereço: o ICE Cube (SX/GX): Grande jogo de ação em quatro níveis de escala de cinza por Lilian Pigallio. Disponível no ftp.cis.com. o Jytris (SX/GX): Um dos melhores jogos de tetris, incluindo música, desenhos, bombas e escala de cinza. Escrito por Laurent Jouanneau. Bibliotecas a parte também estão disponíveis para toda a série de calculadoras HP48.(inclui bibliotecas menores para a S e a G). Todos estão disponíveis no ftp.cis.com. A versão para a GX encontra-se no endereço: o Hapaman (GX):Clone do PacMan, por Davor Jadrijevic. Disponível no endereço: o La Mine aux Diamants (SX/GX): outro clone do Boulder Dash. Por Lilian Pigallio. Disponível no endereço: o Lemmings (SX/GX): Evite que os Lemmings se matem! Por C. de Dinechin. Versões para a GX disponíveis no endereço: e versões para a SX no endereço: o LodRunner (GX): clone do LodeRunner para a HP! Por HPOWER,com melhorias feitas por Mika Heiskanen. Disponível no ftp.cis.com. o Phoenix (SX/GX): Clone do Phoenix, por Davor Jadrijevic. A versão para a GX está disponível no endereço e a versão para a SX no endereço o Quick Reversi (SX): Reversi rápido por Leon Pavlov. Bastante bom! Disponível no Goodies Disk 8. o Tetris (SX/GX):clone do Tetris - pequeno, rápido, maravilhoso! Por Detlef Mueller. Disponível no endereço: wuarchive.wustl.edu. o SCHIP (SX/GX): Intérprete para video game de jogos do tipo SCHIP. Por Erik Bryntse. A versão para a SX está disponível no Goodies Disk 3. A versão para GX está disponível no endereço: o Vaders (SX/GX): Space Invaders, por Joe Ervin. Disponível em o Willy (SX/GX): jogo Side scroller por Mario Mikocevic. Disponível no endereço: Gráficos o 4 Colors (SX/GX): Utilitários para fazer gráficos em escala de cinza de quatro cores. Por Lilian Pigallio. Disponível no endereço: o Claudia (SX/GX): Grafico em tons de cinza da topmodel Claudia Schiffer. por Mohamed Fatri. Disponível no endereço: Matemática o ALG48 (SX/GX): Utilidades para manipulação algébrica por Mika Heiskanen e Claude-Nicolas Fiechter. Disponível no endereço: o CNTR (SX/GX): Plano de sistemas de controle discreto e contínuo; Z inversa e transformadas de Laplace. Por Cesar Crusius. Disponível no endereço: o Erable (SX/GX): Grande quantidade de Aplicativos de Matemática! Por Bernard Parisse. Este pacote é o subsequente ao anterior ALGB do mesmo autor. A ultima versão encontra-se no endereço: o Math (SX/GX): Matrizes Numéricas/Simbólicas e polinômios Por Cesar Crusius. Disponível no endereço: o Matrix (SX/GX): Rápido escritor de matriz por Arnold Moy. Suporta matrizes reais e complexas e USA letras pequenas. Disponível no endereço: o MTools (SX/GX): MathTools, por Jack Levy. Rápido e amigável, substitui as funções matemáticas da HP. Disponível no endereço: o QPI (SX/GX): substitui o comando ->Q, mostra quocientes e funções de pi, radicais, LN e EXP. Bastante útil! A última versão pode ser encontrada no endereço: o SolveSys (GX): Soluciona sistemas de equações. Por Sune Bredahl. Disponível no endereço: o STAT03 (GX): STAT03 é uma coleção de utilidades para matrizes e estatística; é rapida. Contém 49 comandos mais ou menos úteis. Quase 25% é escrito em linguagem de máquina. O autor é Christian Meland. Está disponível no endereço: PC o HP48 Explorer (Win95): Este programa roda no Windows 95 e ajuda a simplificar as transferências. Disponível no endereço: Programação o Jazz (SX/GX): esta é a melhor biblioteca para desenvolvimento de programas em System RPL e Linguagem de máquina que roda na HP48. Escrito por Mika Heiskanen. A biblioteca Jazz proporciona comando para converter e desconverter em assembly, depuração em System RPL e linguagem de máquina. A versão completa mais recente encontra-se no endereço: e as versões compactas no endereço: o HP's Tools (DOS): ferramentas para desenvolvimento em System RPL e bibliotecas no PC. Disponível no Godies Disk 4. o GNU-Tools (Unix, DOS): Um jogo de substituições para as ferramentas de desenvolvimento da HP Por Mario Mikocevic (Mozgy). Eles rodam não somente no DOS, mas também em sistemas Unix típicos como o Linux e o Solaris. É distribuído em fonte e em forma binária. Muitos programas da HP48 tal como o Jazz, Java e o UFL foi desenvolvido com o Gnu-Tools. Estão disponíveis nos endereços: o o o SSS (SX/GX): O SysRPL Shell, por Stefan Wolfrum provê uma interface que ajuda você a programar em System RPL. Disponível no endereço: Utilitários o BKUP (SX/GX): BKUP é escrito totalmente em System RPL e realmente faz uma cópia de segurança (backup) de qualquer porta definida pelo usuário Por Bob Apodaca, disponível no endereço: o FF (GX): Este localizador de Arquivos destina-se para usuários que tem grandes estruturas de diretórios. Ela aceita uma string e faz uma procura recursiva nos subdiretórios por comparação. Por Jorge Costa. Disponível no endereço: o FIXIT (SX/GX): Este programa escrito por Mika Heiskanen e Joe Horn corrige os erros do tipo " HPHP48 - " nas transferencias. Está disponível em formato ASC nesta FAQ como também nos Goodies Disk 8. o FXRECV (GX): corrige a falha de X-Modem na G/GX. Não se faz necessário para a versão R da ROM. Por Cary McCallister. Disponível no Goodies Disk 9. o HP82240B Emulator: Permite emular a impressora de infravermelho HP82240B. Escrito por Jarno Peschier, está disponível no endereço o PCT (SX/GX): As versões de programa e biblioteca para a SX e GX estão disponível em sites normais. Certifique-se de usar a versão correta para a sua calculadora. O arquivo TREE.PCT,em particular, é um programa para a S/SX que não funciona direito nas G/GX. o UFL (SX/GX): A Biblioteca Universal de Fontes (Universal Font Library - UFL) provê um localização centralizada para fontes comuns entre programas. Também vem com uma Biblioteca de Manutenção de Fontes. (Font Maintenance Library - FMnt). É mantida por Andre Schoorl e está disponível no endereço: o USEND/URECV (SX/GX): Notavel aumento de velocidade em transferencias em Infravermelho! Aproximadamente de 4 a 6 vezes mais rápido que o comando SEND. Por Dan Kirkland. Disponível no endereço: o STOFIX (GX): corriges as falhas de STO nas ROMs L e M. por Detlef Mueller. Disponível no endereço: Som o Tricorder (SX/GX): Este programa fará sua HP48 emitir um bip quando ela estiver perto de um objeto que USA infravermelho. È bom para divertir os amigos! Escrito por Steven Ourada e está disponível no endereço: Programas que Emulam a Pilha e Outros Relacionados o EQStk (SX/GX): Programa que faz a pilha aparecer com 7 linhas; bom para matemática. Visualiza os objetos na pilha em seus formatos originais. Por Mika Heiskanen. Disponível no endereço: o Java (SX/GX): O programa que faz a pilha aparecer com 5 linhas totalmente melhorado! Inclui menus de letras minúsculas, área de status melhorada, objetos algébricos na pilha, pilha interativa melhorada, fontes configuráveis, rolagem, rotinas rápidas em linguagem de máquina entre outros. Por Richard Steventon,Andre Schoorl (o autor desta FAQ) e Will Laughlin. A mais recente versão(3.0) está disponível no endereço: o MetaKernel (GX): Substitui totalmente muitos dos códigos internos da ROM da HP48,incluindo a pilha (stack),o escritor de equação (Equation Writer),o escritor de matriz (Matrix Writer) bem como ambientes gráficos. Também inclui ferramental para desenvolvimento em SysRPL e linguagem de maquina. Muito trabalho foi investido para fazê-lo extremamente rapido. O MetaKernel exige uma GX e ocupa totalmente um cartão de RAM de 128 KB. A documentação está disponível em Francês e Inglês. A versão completa pode ser comprada dos autores, mas uma versão demo está disponível no endereço: 12.2. Outros sites de FTP o o o o o o o o o o o o o 12.3. FTP por e-mail Para os que não tem acesso por ftp, é possível fazer ftp de programas por e-mail. Para isso, você deve mandar comandos via e-mail para o servidor de ftp e ele então manda os programas, em geral em formato uuencode,por email. Para acesso de qualquer site de ftp, eu recomendo o servidor de ftp por e-mail da Sunsite. Para maiores informações, envie uma mensagem para com os conteúdos de: help quit Há outro servidor de FTP por e-mail como o servidor da Sunsite, mas é muito utilizado e por isso torna-se lento 12.4. BBS com programas da HP48 BBS oficial da Hewlett Packard (48) o fone: (208) 344-1691 ; Corvallis, Oregon. o Second Node: (541) 715-3277 ; velocidade: 9600 baud Fundações Científicas (48/100) o Fone: (206) 562-7083 644-2723 ; Velocidade: 14.4 o Contatoo: UAH ACCESS BBS (28/48/95/100) Fone: (205) 895-6152 ; U. Alabama Huntsville. The Ninth Bit BBS (48) o Fone: (405) 372-7204 ; velocidade: 14.4 o Contato: Raiders of Lost Arg (48/95) o Fone: (416) 968-6633 ; velocidade: 38400 N81 o Contato: NES BBX (48) Fone: (503) 640-4263 ; Goodies Disks na File Area 22 [(hp)]al BBS (48/95/100) o Fone: (612) 642-5906 ; Características: Usenet, E-Mail o Contato: Electronic Design News BBS (48) Fone: (617) 558-4582 ; características: Aberto a todos Nybble's Byte (28/48/95/100/etc) o Fone: (708) 304-0666 ; velocidade: 28.8 o Características: 24 hr. Usenet/Internet Terrapin Station (48) Fone: (708) 657-9543 48 Files BBS (48) o Fone: (801) 371-8760 ; Velocidade: 14.4 o Características: mais de 3000 arquivos The ONE BBS (48) Fone: +33-149-887-691 ; França. Cyberbox (48) o Esta BBS alemã contém aproximadamente 1000 arquivos; 30MB. Todos são zipados, com descrições. o Contato: Patrick_Werner@cyberbox.north.de o Fone: o Linha 01 : +49-441-3990031 USR 2400-33600 o Linha 02-04 : +49-441-3990032 USR 2400-14400 o Linha 05-08 : +49-441-3990033 USR 2400-33600 o Também há acesso completo ao endereço com uma descrição de todos os arquivos (você pode achar as descrições em POCFILES.ZIP em pub/pockcomp/hp48). 12.5. Os Goodies Disks da HP Os Goodies Disks da HP são um conjunto de disquetes que contem programas para a HP48. Eles são reunidos por Joe Horn e vandidos pela Educalc. Eles contêm todos os arquivos de shareware/freeware. Atualmente são 11 disquetes. Os Goodies Disk podem ser obtidos via ftp nos endereços listados abaixo, ou podem também ser comprados da Educalc. Nas listagens acima eles são indicados por "GD". Todos os Goodies Disks tem um arquivo chamado "fileinfo.src" que contém um índice de todos os arquivos. Eu recomendo a todos que deêm uma olhada em todos esses disquetes. Há muita coisa boa contida neles! o EduCalc: 1-800-677-7001 o o o UAH BBS: (205) 895-6152 o CompuServe: acesse HPHAND ; DL 3 13. Colaboradores O mantenedor agradece aos colaboradores internacionais abaixo citados (cobrindo um total de 16 países) pela ajuda inestimável por eles prestada na compilação desta FAQ: EUA e Canadá: Dave Arnett, Allen Arnold, Rich Brown, Doug Cannon, Andrew Chen, Dallan Christensen, James Cook, John Cutter, Andrew Dooley, Chuck Dinsmore, Jeff Dubin, Egan Ford, John Goerzen, Paul Hart, Joe Horn, Jack Levy, Keith Maddock, Scott Marlowe, Thomas De Matteis, John Meyers, David Moisan, Derrik Pates, David Peterson, Othniel Rawlins, David Rice, Ray Richardson, Maynard Riley, Jake Schwartz, Jeremy Smith, Chris Spell, Lee Studley, Deborah Lynn Williams, Mark Wilson, Patrick Yagle. Jean-Francois Larin, Arnold Moy, Jeff Sketchley, Matt Willis, Ryan Youck. Europa: Rachid Benzaoui (França), Jorge Costa (Portugal), Yves Gadioux (França), Bjorn Gahm (Suécia), Maarten van den Hoek (Holanda), Pieter-Bas IJdens (Holanda), Jens Kerle (Alemanha), Wlodek A C Mier-Jedrzejowicz (Reino Unido), Mario Mikocevic "Mozgy" (Croacia), Makoto Miyamoto (Alemanha, Bernard Parisse (França), Jarno Peschier (Holanda), Lilian Pigallio (França), Rob Simpson (Reino Unido), Klaus Wolferts (Alemanha), Stefan Wolfrum (Alemanha), Stevens Wouter (Belgica), Matjaz Vencelj (Eslovênia). Outros: Guido Carvajal (Chile), Cesar Crusius (Brasil), Kevin Cheng (Australia), Antonio Pacheco (Venezuela), Richard Steventon (Africa do Sul). ===================================== Fim de Arquivo ============================