Author: [Andreas Gustafsson] Date: Wed Sep 12 1990 14:57 In article <10601@life.ai.mit.edu> bson@rice-chex.ai.mit.edu writes: > > Below is a HP48SX machine code object that should be uudecoded and > > then downloaded to the calculator using Kermit. > Excuse me for asking, but how would you load it? The only way I > could load it was to strip off the archive header/code object > type/length, load it with kermit, and change the type from string to > code. It didn't work on my rev D, though (no surprise there). Some people may have had problems downloading CHIP48 and BRIX because they don't have the "uudecode" program (a standard Unix utility, and also available as PD for most other systems including MS-DOS). Several other people have been successful with uudecode, but have had problems downloading the resulting binary files using Kermit. One reason for this is that most Kermits silently destroy binary files if you don't remember to set Kermit to binary mode first (on most Kermits the command for this is "set file type binary"). Note that you need to do this on the computer; just setting binary mode on the HP48SX is _not_ enough. When downloaded to the HP48SX, CHIP is supposed to be a "Code" object (displayed as the word "Code" when you press "blue-shift CHIP"). BRIX should be a string containing seemingly random gibberish. For those who still have problems, here are the same objects as in the original posting, but encoded using the "->ASC" program by Bill Wickes. If you get your uudecode and Kermit to work properly you shouldn't need these, but here they are anyway: Decode this using ASC-> and store the resulting Code object as CHIP: %%HP: T(1)A(R)F(,); "CCD207AE008FFBA818FB976034EC607134152080863F0808431500662184A340 00208FD7B5013681AF0AAF0AF1AF2AF381AF123400400C213414713514334C2A 208A6A1174143818F843400C108B260693117477418F2D760174E78FB976081A F1A13481B43459C00C2135808210515F0F217015C1161CC96CBE808FD281AF08 3200281AF0B81B43444D00C2134D21447133D232831134146DA1468A68F80824 08F000EF281AF0179B05A180874D98F2D760142164808C808F8F75D0081AF1BD A818F0181AF037391135D217015701C0C6C681B4CA34F3C00C2134D215E381B4 CA81B5818F2B0681B2460697F11B1088F735608FB97606F6F8A86115F015C016 0170CC6AEF01785114E96AB2161156090AF116015E2801BBE8082200C0E3215C 2D232831134146DA1468A68F8082408F000EF281AF118A6606F70D23108EA340 8F000EF681AF017CC014E96A80A6E14C16114E96A80A6E14C77C0320108018F0 6110DAD280115E31583FC0EF6808740080870008087370301037B701560FE808 2010EF2154062EFD22215702017114F1C101C681AF12C201D21570C681B4CA34 BEA00C213401D230064EFD230F6BDFD2310161DFD2311167CFD231216DBFD231 4163BF76AFD214E06172789FD014A071C201172758F1C2D215E106767FD015A1 07DE01F6F680821100E62067A7F0714C03C681B4CA34FD900C2134D215E08018 F06110DAD280116015E00EF20113613406762F81AF1874FE13507DA0172DEDAD 2310E8A2D031EE8A2440281B4346C700CA3104D5130146134AF2154716F15471 6F14C818F04A6D96D7D0381B434AB900C21341428A800818F83140818F24C213 4D215E381AF0B037C3E81AF0B0381B43447900C2134142818F24C213681AF131 583136142818F0334040008B60014060BF7A0E17114B14E9664181AF2B818F21 81AF2B0374ED17114B14E962EE69DF742E6CCF7C1E6AEF7EBD17114B148037FA D17114B14EA6214C0317115B01C1300906B07CFD14803301906017BED0E6A15C 1033029060175DD0E6215C103303906D17FBDAE80E690E62BEE0E6514C033049 06017C9DC215C167BD30590651768DBECC2E615C16C9D306906917B6DAEA8196 215C1AE6618D307906C07C4DDE63CF30E906017A3DC615C1655D02759C81AF08 037AAC758CD014AC281AF0B03739C344010013615A113617114F1C10E6214C03 6561744B47F90A6F70E281AF18764C81AF087E9CD731F10E6631F30E63171AE2 15F0A62AE53102B61550AE1AE215F0B6980D080CF2EA82201C171037BB28E41C FAE22E90A50B6614C200377DBD214E708CAE3A8717114B1C131E9962D0311A96 2E002AEBAE069CDAEBAE0699D13606D3DB7C3C90E017D5A413B076AEF7BAB314 015C1734A471DB701C90E4E07134AEB030702774B17114B1C131709668113606 7A5B14A071361480331A0966417B7F47014C03076D2931519662114E06702B07 14C0331819662114E06711B0714C0331E1966B1D214E81AF10A3A40081AF0003 319296681D215E0DAC6C6C281AF0803313396260639014EAE781B4349F400C21 34D096B42AEB808A0C015E205CA04162819636EDF02D881AF1880824DFF008B2 007E1A134D4D2221500160154016021150016015401602015001601540033155 9665371DA14E14D1361348BAE117116181AF18B3640081AF0866DF0331569663 3759A14F14C1361348BA2E17116181AF18B3640081AF0866DF0281B4340E400C 213681AF1814416481AF1914416481AF1A14416481AF1B1441640181B434E940 0C213614681AF0816414681AF0916414681AF0A16414681AF0B164012C300202 C90E40C420D6C4C4C281B4CA349C100C281AF09DB819F2819F2819F2C6C681AF 0A31700E63C781B434C3000C2CB81AF0B81AF1813415E1D1AE5136818F2181AF 0881AF1B81B3C5C5C5C5C5C5C5C581B434F1100CAD2A89C6C213414EAE7BF3BF 3F5D2A89C6C213414EAE7BF3BF3F5D2A89C6C213414EAE7BF3BF3F5D2A89C6C2 13414EAE781AF111301462C90E80818F04818F042081AF0181AF12C21343102B 6280821809E650AE6A6E80D01561A9A0E1791AF080FD2E30180FDA9F0E1AB9F0 E1780FD2C90EB180FD154116F16F16115416B0080FD154120A4E94A6067AE010 00C030FC0CCC3CF303C333FF0FCF3FFC7907E99070C9072E90740A0762A0784A 07A6A07C8A07EAA070DA072FA0741B0763B0785B07A7B07C9B07EBB070EB0720 C0742C0764C0786C07A8C07CAC07ECC070FC0721D0743D0765D0787D07A9D07C BD07EDD0700E0722E0744E0766E0788E07AAE07CCE07EEE0701F0723F0745F07 67F0789F07ABF07CDF07EFF07020172401746017680178A017AC01785807A780 7C9807EB8070E807209074290764907F999F26227F1F8FF1F1F99F11F8F1FF8F 9FF1244F9F9FF9F1FF9F99E9E9EF888FE999EF8F8FF8F8810020040080061023 0460821148884824844422824221812814121119720F030B13026308830E930E A30DB302D306A306B402C409D404050595052600000000000000000000000000 0000000000010040000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000157B" Decode this using ASC-> and store the resulting rather ugly string object as BRIX: %%HP: T(1)A(R)F(,); "C2A2053200E6505600B660A6003AC0AD1BA740A3042180B720B3212160C602D6 F13A01CD1D226F060016003A210D1107803AE00D1106040F510F70030021436C F076E1861096FF3AE06D173A01CD1D06400E1AC7EF06600E1AC72006F3C820CD 1D3AE06D176848784906F3682016F1782174F121CA6400861064F386FF740096 106D17F31021AA74F121AA06500857F30021AA06100F81080616CF08213AC00D 1706EF9830226F5710226F540621ED216496FF0806085CF31021AC16200851F3 10210E0851F31021EE0851F310218E06020F813AE0E7FF080E084016000D11E3 00210321ED87FF84EF86FF21EE87108420861006400F8196FF21073A415F332F 561F92367346003D5437502F923D5400EE0E000800CF00AA0000000000D4B3" Sizes and checksums (for version 2.20): CHIP 1878 bytes, checksum #B751h BRIX 285 bytes, checksum #3B4Dh Note that CHIP modifies itself when run, so the checksum applies only to the newly downloaded code object. Calculate checksums using "blue-arrow CHIP BYTES" and "blue-arrow BRIX BYTES", respectively. The BRIX demo is run by pressing BRIX CHIP. For detailed instructions, please refer to the original CHIP-48 release posting (<1990Sep3.161605.14532@santra.uucp>). [Note: that posting is called CHIP48 on this disk. -jkh-] -- Andreas Gustafsson Internet: gson@niksula.hut.fi Voice: +358 0 563 5592