HP 9830B BASIC察å¿ã®èšç®æ©
HP 9830Bã¯1976幎ã«å°å ¥ããã1972幎ã«ãªãªãŒã¹ãããHP9830Aã®æŽæ°ããŒãžã§ã³ïŒããå€ãã®ã¡ã¢ãªïŒã§ããé»åèªäœã®äŸ¡æ Œã¯8350ãã«ã§ããã äžéšã«ããè¿œå ã®ããªã³ã¿ã¢ãžã¥ãŒã«ã¯ãããã«3350ãã«ã§è²©å£²ãããŸããã
HP98x0ã¢ãã«ã®å šç¯å²ã§ãåãã¿ã€ãã®16ãããããã»ããµã䜿çšãããåå¥ã®TTLããžãã¯ã«å®è£ ãããŸãããããã¯ãäž»ã«4ã€ã®ããŒãã«é 眮ãããŠããŸããã åè·¯ãç°¡çŽ åããããã«ãALUã«ã¯äžè²«æ§ããããŸãã
ãã®èšäºã§ã¯ãå£ãããã¿ã³ã®ä»ããã»ããã ããã®ç®±ããå®å šã«æ©èœããèšç®æ©ã«å€ãã£ãããã€ã¹ã®æŽå²ã«ã€ããŠèª¬æããŠããŸãã
äœããããŸãã
ç§ãã¡ã®ã³ããŒã¯ä»¥åã«äŒèšã§äœ¿çšãããHP7900ãšDEC RK05ã«äŒŒã2ã€ã®å€§ããªã«ãŒããªããžãã©ã€ãã§ç§ãã¡ã«æ¥ãŸããïŒ ç§ã¯ããã2ã€ã®36cmã®ã«ãŒããªããžããµããŒãããHP 9880ã ãšæããŸã-1ã€ã¯æ°žç¶çãªã¹ãã¬ãŒãžãšããŠããã1ã€ã¯ãªã ãŒããã«ãšã㊠ïŒã äŒèšã®éå»ã¯ãããŒããŒãã®ã¹ããã«ãŒãšã«ãŒããªããžã®éã«ãã£ãŠç¢ºèªãããŸãã
èšç®æ©ã¯åã£ãœãå庫ã§ãã°ããæéãè²»ãããŸããããæåã®æãããªåé¡ã¯ããŒã«é¢ãããã®ã§ããããã®ãã¡4ã€ã¯å£ããŠããŸããããäžçªäžã®è¡ã®3ã€ã¯ãŸã£ããå£ããŠããŸããã§ããã ãDELETE LINEãããENDããããã³çªå·5ã
HP264x端æ«çšã®ããŒããŒãããŒã®ã»ãããè³Œå ¥ã§ããŸãããããã®äžã«ãDELETE LINEããšãENDãã¯ãããŸããã§ããã ãããã幞éãªããšã«ããDELETE LINEãã¯ãªã©ã³ãã®ã³ã¬ã¯ã¿ãŒããéããããENDãã¯ã«ããããæ¥ãŸããã ãããããããšãïŒ
å£ãããã¿ã³ã®åé¡ã«æ»ã£ãŠãç§ã¯ãã§ãªãŒã«é£çµ¡ããŸããïŒåœŒãã¯ããŒããŒãã補é ããŠããŸãããããªãè¯ãã§ãïŒæçšãªæ å ±ãåŸãããšãã§ããŸããã§ããïŒ ãã§ãªãŒã70幎代åŸåã«ãã€ãã«ç§»è»¢ããã®ã§ãã§ããã°é©ãã¹ãããšã§ã ïŒã ç¢æããã§ãªãŒãã®ååšã«ããããããã圌ãã¯èªåãã©ããªçš®é¡ã®éµã§ãããããèªèã§ããŸããã§ããã
èªåã§ä¿®æ£ããããšããŸããã 圌ã¯åŒŠã®ã¯ã€ã€ãŒãåããUåã®åœ¢ã«æ²ããŠãããã¯ãã ããŠã䜿ã£ãŠãã¿ã³ã®ãã©ã¹ããã¯ã«æº¶ãããŸããã ãã ãããªãªãžãã«ãš100ïŒ äžèŽãããããšã¯ã§ããŸããã§ããã
åããªé«ããªããŸããããç§ã«ã¯é¢ä¿ãããŸããã äž»ãªããšã¯ããã¶ã€ã³ãååã«å å®ã«èŠããããã»ã©ç°¡åã«å£ããŠã¯ãªããªãããšã§ãã ãããããã®å埩段éã¯ãã«ããã®ã³ã¬ã¯ã¿ãŒããšãŠã芪åã ã£ãããã亀æçšã«ããã«5ã€ã®ããŒãéä¿¡ãããšããäºå®ã§çµãããŸããã ãããã£ãŠãç§ã¯èªåã®ä¿®çã®ãã¿ã³ãè©Šãå¿ èŠã¯ãããŸããã§ããã
ã¹ããŒã
Tony Duellã¯ãHPã®å€æ°ã®ãã·ã³ã®é»æ°åè·¯å³ãäœæããŸããã å瀟ã®ãªãªãžãã«ã®ã¹ããŒã ã¯ãããããããå©çšã§ããªããããããã¯éåžžã«åœ¹ç«ã¡ãŸããã DECãšã¯ç°ãªããHPã¯ããããå ¬éããŸããã§ããã Tonyã«åãåãããŠã HP98x0ã·ãªãŒãºé»åã®åªããä¿®çã¬ã€ããå ¥æããŸããïŒãã®ãã¡ã€ã«ã¯PostScript圢åŒã§ãããªãã®ééããããŸããããPDFã«å€æããããããµã€ãºãå€§å¹ ã«å¢å ããŸããïŒã ããã«ããããŒè£œã®é»ååè·¯ãããŠã³ããŒãããŸããã HP9830ã«é¢ããè³æãæ¢ããŠãããšãåªããBrent ããŒãžãšãã®èšç®æ©ã®ãšãã¥ã¬ãŒã¿ãŒã«åºäŒããŸããã
é»æºã®ç¢ºèª
ãŠãããã®ã»ãããæé€ããåŸããããŒã®ããã¥ã¢ã«ã®ã¢ããã€ã¹ã«åŸã£ãŠãã¡ã¬ãŒïŒ å¥åŠãªããšã«ãé«æµæã枬å®ããç¹æ®ãªããã€ã¹ ïŒã䜿çšããŠãã©ã³ã¹ã®çµ¶çžããã§ãã¯ãå§ããŸããã åå·®ãªãã ãã®åŸãé£ç¶å¯å€å€å§åšïŒä»¥åã«PSUãé€ããã¹ãŠã®ããŒããåãå€ãæžã¿ïŒã䜿çšããŠããã·ã³ããã£ãããšèµ·åããŸããã é»æºã®åºåã§é»å§ã枬å®ãããšãæ£ããå€ãåŸãããŸããã ãããã+ 5Vã§ã¯ãã¹ã€ãããæå°è² è·ãš19.5Våºååè·¯ãé©çšããå¿ èŠãããããšãå€æããŸããã é»æºãæå ¥ããåã«åè·¯ã調ã¹ãå Žåã2çªç®ã«ã€ããŠåŠã³ãŸãã 19.5Vã¯é»æµæºåè·¯ã«ãã£ãŠçæãããè² è·ãªãã§ã¯ãåã«èª¿æŽãããŠããªãé»å§ãæäŸããŸãã 1kΩã®æµæãšROMããŒããäººå·¥è² è·ãšããŠæ¥ç¶ãããšã5.01 Vã«ãªããŸãã 19.5Vã¯ãã§ããŒãã€ãªãŒããä»ããŠ16Vã«èª¿æŽããå¿ èŠããããŸããããã®åè·¯ã«è² è·ããªããšãåºå16Vãå¢å ãå§ããŸãã çµå±ãéè² è·ä¿è·åè·¯ã¯æ©èœãããšæããŸãããããªã¢ãã¯ïŒ ãã¹ã ãŒãºãªèª¿æŽãå¯èœãªãã©ã³ã¹ãïŒã䜿çšãããã¹ãã§ã¯ãæžãã®ã«æéããããããããã¬ãŒã·ã³ã°ããŒããŒããã䜿çšãããŸãã
åäœããŸããïŒ
ãã¹ãŠã®é»å§æž¬å®ãæ£ãããããã«ãŒããæ¿å ¥ãçŽããŠãé»æºãã¿ã³ãæŒããŸããã å°ãªããšãäœããåŸãããšã¯é©ãã¹ãããšã§ãïŒ
ãããŠãã©ã³ãã ãªããŒãæŒããŠãããå®è¡ããããšã次ã®è¡ã衚瀺ãããŸããã
å質
HP9830ã®å éšãèŠããŠããããšãããšæããŸãã ãããã£ãŠãé»åã®ãã¹ãŠã®ããŒãã®äžè¬çãªãã¥ãŒãäœæããŸããã 圌ãã¯çŸããã§ãã
ãã¹ãŠã®ã«ãŒãã¯éã¡ãããããŠããŸãã ãã£ã¯ã·ã§ã³ïŒ çŽ æŽãããå質ã
1è¡ç®ãš2è¡ç®ã¯ãTMS4060 4k NMOSãããäžã®DRAMãå«ãã¡ã€ã³ããŒããæã€ã¡ã¢ãªãµãã·ã¹ãã ãè¡šããŠããŸãã 3åç®-ãã£ã¹ãã¬ã€ããã³ã«ã»ããã³ã³ãããŒã©ãŒã 4è¡ç®ã¯ããã»ããµã«ãŒãã§ãã£ã±ãã§ãæåŸã®è¡ã«ã¯ãã£ã¹ãã¬ã€èªäœãšPSUãå«ãŸããŠããŸãã ç§ã®ç¥ãéããHP9830BãšHP9830Aã®éãã¯ãã¡ã¢ãªã«ãŒãïŒå·Šãã2åç®ïŒãšã¢ãã¬ã¹æå®ã«ãŒãïŒå·Šãã1åç®ïŒã®ã¿ã§ãã
ããŒããŒãã¢ã»ã³ããª
ããŒããŒãã«ããŒãšã¹ã€ãããå ¥æãããšããã«ãããŒããŒããåæ§ç¯ã§ããŸããã
ããŒããã©ã€ã
ç§ã¯å·»ãæ»ããã¿ã³ãæŒããŸããããå€éšã®å åããã¯å転ã®é³ãããããŸããã§ããããåãèªäœã¯ãããŸããã§ããã ãœã¬ãã€ãããã«ãããšããé³ããŸã ãããšæããŸãã ååšããªãå Žåã¯ãé害ãçºçããŠããããè©°ãŸã£ãŠããããšãæå³ããŸãã ãã©ã€ãã¢ãžã¥ãŒã«ãéããšããã€ãŒã«ã®ãŽã ããããéåžžã«æ©èããŠããããšãããã£ããããå°ãªããšããã®æ¬ é¥ãä¿®æ£ããå¿ èŠããããŸããã
æ°ããææŠ
æ°ããOãªã³ã°ïŒ Oãªã³ã°ãè»èŒªã®åããŽã ïŒãå°çããå€ããã®ã®ä»£ããã«åãä»ããããŸããã ãªãŒããŒã決å®ããããã®ã©ã³ãïŒ ãªãŒããŒã©ã³ãããã·ã¢èªããããã©ããããããªããæåãšæåŸã®Nmmã«ã¯ç£æ°ããŒãã«äœæ¥å±€ããªãããã£ã«ã ãå·»ãæ»ããããšããã®ãããªã©ã³ãã§åŒ·èª¿è¡šç€ºãããããŒãã®éå§ãŸãã¯çµäºãç¥ããã空ã®é åããããšããæ€åºåšãçºç«ããŠå·»ãæ»ããåæ¢ãã ïŒãç Žæãããããçœè²LEDã«äº€æããŸããïŒã¯ãã代ããã«5V 60mAã®å°ããªçœç±é»çãå¿ èŠã§ããããšã¯ããã£ãŠããŸããã1972幎ã«LEDãå©çšå¯èœã ã£ãå Žåã HPã¯ãããã䜿çšããŸãïŒã ããã§å·»ãæ»ããæ©èœãããœã¬ãã€ããæ¬åœã«è©°ãŸããŸããã
ãŸãããMARKãã³ãã³ããè©ŠããŸããïŒ ç£æ°ããŒãã«ã¯è€æ°ã®ãã¡ã€ã«ããã©ããæ§é ã§å«ãŸããŠãããMARK XXãYYã³ãã³ãã¯é·ãYYã®XXãã¡ã€ã«ãäœæããŸãããã®ã³ãã³ãã§ãã¹ããéå§ããã®ã¯äžè¬ã«å¥åŠã§ãããããããã©ã€ãã¯ããæç¹ã§åæ¢ãããŸã§å転ãç¶ãããã·ã³ã¯å€éšã³ãã³ããžã®å¿çãåæ¢ããŸããã
åèµ·ååŸãåçŽãªç®è¡ã§ããã·ã³ãééã£ãŠããããšã«æ°ä»ããŸããã 8.4444444ã¯2 + 2ã«å¯Ÿå¿ããŸããã3 + 1ã¯6.4444444ã«ãªããŸãã ããªãå¥åŠã§ãã èšç®æ©ã®ãã®éšåã¯åé¡ãªãåäœããã¯ãã§ãã
æ°åãå ¥åããŠãå®è¡ããæŒãã ãã§ãå¥åŠãªçµæãåŸãããŸããã
0ã¯2ã«ã1ã¯3ã«ã7ã¯9ã«ã8ã¯32.9444444ã«ã9ã¯33.9444444ã«ãªããŸããã
20ã§18ã21ã§19ã42ã§20ã33ã§11ã52ã§30ã3222ã§1000ã
SQRïŒ2ïŒã¯2.22636363ãè¿ãã2 ^ 2ã¯41.96520965ãè¿ããŸããã
äœãèµ·ãã£ãŠããã®ïŒ
ããã«ãããããããç§ã¯BASICã§ç°¡åãªããã°ã©ã ãæžãããšãã§ããŸãã
10 DISP "HELLO WORLD" 20 GOTO 10
ãããŠãããã¯æ£ããåäœããŸãïŒ
é»åã¯æ°åã®åæ¡ã«2ãå ç®ããããã«èŠããŸããããªãŒããŒãããŒïŒ8 + 2ïŒãããšãå¥åŠãªæµ®åå°æ°ç¹æ°ãåŸãããŸãã
BASICã®è¡çªå·ãæ£ããå ¥åãããŠãããããåé¡ã¯ããŒããŒãã¢ãžã¥ãŒã«ã«ã¯ãããŸããã ããã«ãAUTOïŒãã¿ã³ïŒ AUTOïŒXXãYYãXXã¯éå§è¡çªå·ãYYã¯å¢åã§ããAUTOïŒ+ 10.5 + EXECUTEãæŒããŠè¡çªå·10ãååŸããAUTOïŒ+ EXECUTEã¯æ¬¡åã«15ã衚瀺ããŸãã 20ã25ãªã© ïŒãæ£åžžã«æ©èœããŸããã€ãŸããæãåçŽãªæŽæ°æŒç®ãé çªã«è¡ãããŸãã
ããããããã®åäœã¯æµ®åå°æ°ç¹æ°ã«èµ·å ããŠããŸããïŒ ã¡ã¢ãªãµãã·ã¹ãã ã¯ãããã°ã©ã ãBASICã«ä¿åããŠå®è¡ã§ãããããé害ãªãåäœãããšèããŠããŸãã
ããã§ããé»åãFLOAT11ã¢ãŒãïŒ æµ®åå°æ°ç¹æ°ãããªãªãã®åŸã«æå¹æ°å11æ¡ ïŒã«ããŠ1,000,000ãå ¥åãããŸã§ãåé¡ãROMã«ããã®ãRAMã«ããã®ãå®å šã«ã¯ããããŸããã§ããã3.2222222222222+ E6ææ°ã¯æ£ãã衚瀺ãããŸãããä»®æ°ã¯ãã¹ãŠã®æ°å€ã§æ£ãããããŸããã ãã®äºå®ã¯ãæ°åãžã®ãã¥ãŒã¹ã®è¿œå ïŒ22222ã44444ã«å€ãããŸãïŒãšãšãã«ãç§ã®èŠç·ãALU ROMã«éããŸããã
BCD ROMããã§ãã¯ããŸãããããã®ãã³ãã¯ãããŒãæäŸãããã®ãšãŸã£ããåãã§ãã é¢çœãã®ã¯ããã®ãããã¯ã䜿çšããã«ãã·ã³ãBASICããã°ã©ã ãå®è¡ã§ããããšã§ãïŒ
ã¡ã€ã³ã®ALU ROMããã©ããšãæåã®128åã®ããã«ïŒ Intel 3601ã4ãããx 256ã¯ROMã®äžã§ååŸãããŸãã ïŒã¯æ£åžžãšèŠãªãããŸããããæåŸã®128åã¯ã¡ã¢ãªã®æåã®éšåã®pro-ORã§ããã åè·¯ãèŠããšãBCDä¿¡å·ãã€ã³ã¹ããŒã«ãããŠãããšãã«ã¢ãã¬ã¹ã®äžéšã䜿çšãããŠããããšãããããŸãïŒ åè·¯ã§ã¯ãA7ã¯BCDã«ãã«ã¢ãããããŠããŸã ïŒã ä»ã§ã¯ãBCDç®è¡ã¯æ©èœããŸããããéåžžã¯ãã¹ãŠãããŸããããŸãã
ãã«ã¬ãªã¢ãããããã泚æããŸãããããã®ããã°ã©ãã³ã°ã¯äŸ¡æ Œã«å«ãŸããŠããŸããïŒ ãã ããData IO 29Bããã°ã©ããŒã§ãããè¡ãããšã¯å¯èœã ãšæããŸãã ç§ã¯ããã€ãã®ããªã¹ã®ãã€ã¯ããµãŒãããã®ããã°ã©ãã³ã°ã«èŠåŽããŸããããããã«å ããŠãSigneticsãããããã®äžã«ããã°ã©ã ããããšã¯ããŸããã§ããã
ããäžåºŠéå§
82S126ã¯ãã«ã¬ãªã¢ããå°çãããã³ã©ã€ã¯åœŒã®ããã°ã©ãã³ã°ã§è¯ãä»äºãããŸããã ããŒã¿IOã§ãããããã§ãã¯ãããã¹ãŠãæ£åžžã§ããããšã確èªããŸããã
é©åãªå Žæã«ã¯ãã ä»ããããšãHP9830Bãåã³èããŸãïŒ ä»ã圌ã¯æ£ããæ°ããããšãã§ããªããã°ãªããŸããã
ãã®ãã°ãçºèŠãããšãã«åååæ¢ããå Žæããç¶è¡ã§ããŸãã ã€ãŸããããŒããã©ã€ãã®èµ·åã æ®å¿µãªãããããã¯ããŸãããŸããããŸããã
ãMARKãã³ãã³ããå ¥åãããšããã°ããã®éã¹ãã³ãç¶ãããã®åŸã·ã¹ãã ãåæ¢ããŠåæ¢ããŸãã ãã¹ãŠã®æäœãç¹°ãè¿ããŠãåã³ãªã³ã«ããŸãã
TLISTãSTOREãFINDãªã©ããã©ã€ãã®æäœã«é¢é£ããä»ã®ã³ãã³ããå®è¡ãããšãå¿çãšããŠERROR 58ãåãåããŸãããããã¯äžè¬çãªãšã©ãŒã®ããã§ãã ãããŠããã®ãããªã¡ãã»ãŒãžã¯ããã«è¡šç€ºãããèšç®æ©ã¯äœãããããšããŸããã
ãMARKãã³ãã³ããå®è¡ãããããå®äºããªããšããäºå®ã«å°ãé©ããŠããŸãã è»ã¯äœãåŸ ã£ãŠããŸããïŒ REWINDãæ©èœããã®ã§ãEOT / BOT LDRïŒ é»çã«ã€ããŠã®çºèšã§è¿°ã¹ãããã«ãLDRã¯åãªããã©ãã¬ãžã¹ã¿ã§ããEOTã¯ããŒãã®çµãããBOTã¯ããŒãã®å§ãŸãã§ãããããã§ã¯ãããã®çšèªã¯æ£ãããããŸãããããŒã圢åŒã§ã¯ãå¥ã®åœ¹å²ïŒããã§ã¯ããªãŒããŒãæ確ãªãªãŒããŒã«ã€ããŠè©±ãæ¹ãããæ£ç¢ºã§ã ïŒæ€åºåšã¯å€±æããŸããã
ãããã»ã³ãµãŒ
çœç±ç¯ãLEDã«äº€æãããšã¹ã ãŒãºã«è¡ããšæããŸããã ãããä»ã§ã¯ãããããå ãæãããããšæããŸããã ããã¯ããã©ãã¬ãžã¹ã¿ã®èª€åäœã«ã€ãªãããŸãã å·»ãæ»ãã®éäžã§ããŒããéäžã§æ¢ãŸã£ãç¬éã«å³ããçå®ãæããã«ãªããå·»ãæ»ããã¿ã³ãããäžåºŠæŒããŸããïŒãããŠãããä¿æããŸããïŒã ãã©ã€ãã¯éåžžã«ãã£ãããšãã¬ã³ãŒãã®ããã«ãã£ãããšå·»ãæ»ãããŸããã ãã®åŸãã«ã»ãããåãåºããŠæ»ãããã°ããã®éæ£åžžã«å·»ãæ»ããŸããã ãã®ãããªæäœã®çµæãã«ã»ããããããã«ç°ãªãäœçœ®ãå ãããšæããŸãã
ããå°ãæµæã®ããæµæåšã§åé¡ã解決ããŸããã ããã§ãã«ã»ããã¯äœåãæ¢ãŸãããšãªãé£ç¶ããŠã¹ã¯ããŒã«ãããŸããã
ããããç£æ°ããŒããæäœããããã®ã³ãã³ãã®äž»ãªåé¡ã¯è§£æ±ºãããŠããŸããã
ããžãã¯ã¢ãã©ã€ã¶ãŒãããŒããæ¥ç¶ã§ããããã«ãæ¡åŒµããŒããå¿ èŠã§ãã ã³ãã¯ã¿ã«ã¯ããŸããŸãªãã©ãŒã ãã¡ã¯ã¿ãŒãååšããããšã¯éåžžã«è¿·æã§ãã ãã¹ãŠã®ãªãã·ã§ã³ãã«ããŒããã«ã¯ã6çš®é¡ãŸãã¯7çš®é¡ã®æ¡åŒµããŒããå¿ èŠã§ãã ããžãã¯ã¢ãã©ã€ã¶ãŒã«é Œãããšã«æ±ºããåŸããã®ãããªããŒãã®è£œé ãç±³åœã®ãžã§ã³ããªã«æ³šæããŸããã
HP9810
ã¹ãŠã§ãŒãã³ã®æµ·äºå±ã«é£çµ¡ããŸãããHPããã®ã³ã³ãã¥ãŒã¿ãŒãããããã®éåœã¯ç§ãã¡ãæã«å ¥ããããã«é ŒãŸããããã§ãã ãããç¥ã£ãåŸãæè¯ã®è§£æ±ºçã¯Norrkopingã«è¡ãããããèŠãŠã¿ãããšã§ããã æ€æ»äžã«ãHP9810ã®ããŒãã³ã°ã«æ°ä»ããŸããïŒ å®¶ã«æã¡åž°ã£ãŠæé€ããŸããã 圌ã¯éåžžã«åã£ãœãã£ãã ããªã€ãã¯ãéããŠãã£ãããšé»å§ãå°å ããé»æºã®ç¶æ ãç£èŠããŸããã 圌ã¯å æ°ã§ããã ããããæ®å¿µãªããšã«ãããã ãã§ãæºè¶³ã§ããã ã³ã³ãã¥ãŒã¿ãŒã¯ãã¹ãŠã®ã«ãŒããæ¥ç¶ãããç¶æ ã§æ»ãã§ããããã¹ãŠã®é»å§æž¬å®ãã«ãŒãã®ã»ããã§ãæ£ããçµæãããããããããããããå šè² è·ã«èããããšãã§ããªãã£ãPSUã®é害ã§ã¯ãããŸããã§ããã 皌åäžã®HP9830ã§ããã»ããµã«ãŒãã確èªãããšããªãã¬ãŒãã£ã³ã°ãã·ã³ã®ããŒããšã¯ããã¯ãžã§ãã¬ãŒã¿ãŒã®èª€åäœãå€æããŸããã ä»ã®2ã€ã®ããŒãã¯æ£åžžã«åäœããããã§ããã HP9830ã§æããã«åäœããã«ãŒãã転éããŠããæåããããšã¯ãããŸããã§ããã å¯äžã®çç¶ã¯ããã°ããããŠããSTATUSã©ã³ããå«ããããšã§ããã ããã«åºã¥ããŠãè€æ°ã®èª€åäœããããšå€æããŸããã ãã®ãããç§ã¯ãããèã«çœ®ããå庫ãã家ã«æã¡åž°ã£ãHP9866ããªã³ã¿ãŒïŒ9830Bã®äžéšãå¥ã®ã¢ãžã¥ãŒã« ïŒã®ã¯ãªãŒãã³ã°ãéå§ããŸããã
ããŒããã©ã€ãã¯æ©èœããŠããŸãã
HP9866ãå®å šã«åã£ãœãã ã³ã³ãã³ãµãäœããŸããã ãããã¯ãã¹ãŠçŽ æŽãããç¶æ ã§ããã ããã§ãé»æºãå ¥ããŸããã æãããªåé¡ã¯ãããŸããã [ããŒã]ãã¿ã³ã¯æ©èœããçšçŽãããªã³ã¿ãŒã«æ£åžžã«ããŒãããŸããã
9830ãšæ¥ç¶ããŸãããæ©èœããŸããã§ããã ããªã³ã¿ãŒãšããŒããã©ã€ãã®äž¡æ¹ã1ã€ã®ããã»ããµãŒå ¥åºåããŒãã«äŸåããŠãããããHP9810Aããã«ãŒãã«å€æŽããŸããã ãŸããããªã³ã¿ã¯æ¬åœã«å©ãã«ã¯ãªããŸããã§ãããããã©ã€ãã¯åäœããŸããïŒ
æçµçã«ãMARKãã³ãã³ããæ£åžžã«å®è¡ããŸãããããã¯ãããŒãã®æåŸãŸã§ã¹ã¯ããŒã«ããã®ã§ã¯ãªããçãééã§åæ¢ãããã®ã§ããã ç§ã¯BASIC'eã®å°ããªããã°ã©ã ãããŒãã«é²é³ãããããããŒããçŽããŸããïŒ
ããªã³ã¿ãŒã®ãããã°
ã¢ãã©ã€ã¶ãŒã®ãããŒããHP9866ãã€ã¯ãã³ãŒãã¢ãã¬ã¹ãã¹ã«æ¥ç¶ããŸãããããã¯ãã³ã³ãããŒã«ããŒãã®ãã¹ããµã€ãã®äžéšãšããŠè¡šç€ºãããŸãã ãã®ã¢ãžã¥ãŒã«ã®ãªããŒã¹ãšã³ãžãã¢ãªã³ã°ã«åºã¥ããŠããããŒãæããã¹ããŒã ãç©æ¥µçã«äœ¿çšããŸããã
ããªã³ã¿ãŒå éšã§äœãèµ·ãã£ãŠããã®ããç解ããããã«ãç§ã¯åã³ãããŒã®å©ããåããŸãã-圌ã¯ãã€ã¯ãã³ãŒãã説æããçŽ æŽãããä»äºãããŸããã ããã«çœ®ããŠãããŸãã
é衚瀺ã®ããã¹ã
HP9866 Control State Machine ---------------------------- ** Character Entry ** 00 : 20 if(Stb/) goto (00,02) , ClrFlg Start of main loop (also entry point on power on). Clear interface flag (not busy) Wait for strobe pulse on interface 02 : 2B goto (06) 06 : C2 if(PrtChar) goto (12,11) , InClk Load chracter into input register, set interface flag flip-flop (indicating printer busy). Test if it is a printable character (including linefeed). If not, ignore it. 12 : F4 if(LF/) goto (19,1B) Is it a linefeed? 1B : CF if(Empty/) goto (17,15) Input character is a linefeed. Is the line buffer empty? If so, just feed the paper, if not, do a full print cycle. 19 : C1 if(Start/) goto (14,11) It's not a linefeed. Is the line buffer full (that is character counter = 0 and empty/ flip-flop set). If so, ignore it (truncate the line) 14 : 9D goto (0D) , SClk Line buffer is not full, store new character in the shift register 0D : C4 goto (11) , PHOut Increment the character counter, set empty/ flip-flop, and end this character 11 : C0 if(Stb/) goto (10,11) End of character processing. Loop until strobe is inactive 10 : 00 goto (00) , ClrFlg Clear interface flag and round again. ** Print cycle ** Now to actually print a line. Begin by filling the unused space in the data shift register with spaces 17 : 89 if(Start/) goto (04,05) , ForceSpace Set the data input flip-flops to a space character. Exit from loop when the line buffer is full (effectively a while(buffer not full) loop). 04 : 10 goto (08) , SClk Load a space into the next buffer location 08 : EF goto (17) , PHClk Increment character counter and round again. The line buffer is now ready, so print it. 05 : E6 goto (13) , Autofeed Advance the paper one dot line 13 : E3 if(Timing) goto (16,13) Loop until U26b times out to give the motor time to move 16 : 3E if(Row7) goto (0B,0E) , InClk Is this the end of the printed character (7 rows of dots printed)? If so, goto the paper feed routine, starting by incrementing the row counter. 0B : 7B goto (1E) 1E : 84 goto (01) , RowClk Increment row counter. This also controls the RotEn line so as to go into printing mode 01 : 50 goto (18) 18 : BF goto (0F) , PHClk Clock the 5 bits for the current row of the current character into the printhead shift registers. 0F : DA if(char0/) goto (1A,1D) Is the line completed? This will skip the 4-chracter rotation at the end of the complete print line, so as to leave the line buffer in the same state at the start and end of a line. Thus each row of dots comes from the same chracters in the same positions. 1A : AF goto (07) 07 : 59 goto (1C) , ForceSpace No, start to roate the line buffer by 4 characters. Now ForceSpace/ had a second meaning. It increments the '4 character' counter U17a/b 1C : A7 if(LnFlg) goto (07,03) , SClk Rotate the line buffer and round again if it's not been done 4 times (print every 4th character on each pass) 03 : D8 if(newbank/) goto (18,1D) Has a complete bank been loaded? If not, go back and load the next character. 1D : 32 goto (0A) , PHOut A complete bank has been loaded, so trigger printhead timing monostable and print this bank of dots. 0A : 31 if(Timing) goto (0C,0A) Wait for U26a to time out (this bank has been printed). 0C : 8C if(firstbank/) goto (01,05) , SClk Rotate the line buffer by one character to get the next quarter of a line into postion. Has the character counter wrapped around so all banks have been done? If so, back round, advance the paper and start the next dot line. If not, then round again to start the next bank of data ** Paper feed ** This routine advances the paper by enough dot lines to complete the character and inter-row space 15 : 94 goto (09) , Autofeed Clock the stepper motor counter 09 : 93 if(Timing) goto (0E,09) Loop until monostable U26b times out (to give motor time to move) 0E : FF goto (1F) , RowClk Increment dot row counter 1F : C5 if(RotEn) goto (15,11) Round again if dot row counter has not got back to 0 (RotEn = 1). Otherwise go to end of character processing
ãããããããããã§ããã翻蚳ããã«ãã®ãŸãŸã«ããŠãããŸãã å Žåãé€ãã圢åŒã«ã€ããŠèª¬æããŸãã äžè¬çãªæ§é ã¯ãã¹ããŒã¿ã¹IDïŒopcode action_listãã§ãã åã¢ã¯ã·ã§ã³ã¯æ¬¡ã®ãšããã§ãã1.ïŒXXXïŒgotoïŒYYãZZïŒ-XXXãã·ã°ãã«ã§ãããã¹ã©ãã·ã¥ãç¶ãå Žåãããã¯ã¢ã¯ãã£ãLOWã·ã°ãã«ã§ãããXXXãfalseã®å Žåã¯YYã«ããã以å€ã®å Žåã¯ZZã«åãæ¿ãããŸãã 2. gotoïŒXXïŒ-XXã«åãæ¿ããŸãã 3.ä»ã®ãã¹ãŠã¯ãæå®ãããååã§é«ä¿¡å·ã¬ãã«ã«èšå®ãããŠããŸã
é»åããå°å·ããã³ãã³ããããªã³ã¿ãŒã«éä¿¡ããããšãäžé£ã®ã¹ããããã«ã¹ã®ããã«èŠããŸãã åã·ãªãŒãºã¯1ã€ã®æåãè¡šãããã€ã¯ãã³ãŒãã«ãã£ãŠåŠçãããŸãã
äžé£ã®ç¶æ ã00ã02ã06ã12ã19ã14ã0Dã11ã10ã00ããååŸããŸããããããã¯å¿ èŠãªãã®ãšããªãäžèŽããŠããŸãã LFã·ã³ãã«ãæ€åºããããšããã«ïŒ å®å šãªã·ãŒã±ã³ã¹ã¯è¡šç€ºãããŸããããäŸã§ã¯ãç¶æ 12ã1Bã«ãªã£ãåŸããããLF'eã®ããã«19ã«ãªããŸã ïŒãã¹ããŒããã·ã³ã¯æ°ãããã¹ã«åãæ¿ãããŸããã¿ã€ãã³ã°ä¿¡å·ãã¢ã¯ãã£ãã«ãªããŸã§ç¶æ 13ã åŸ æ©åŸãç¶æ 16ã«ãžã£ã³ãããå¿ èŠããããŸãããã®ç¬éãããã«ãŒãã16ã0Bã1Eã01ã18ã0Fã1Aã07ã1Cã03ãããããŠåã³18ããæ°ããåã«é²ã¿ãŸãã
ããã«newstate / signalïŒ ç¶æ 03ããã®é·ç§»ã«é¢ä¿ãã ïŒããã§ãã¯ããŸããããå ¥åä¿¡å·ã«åºã¥ããŠå¿ èŠã«å¿ããŠåãæ¿ãããŸãã ãã ããç¶æ 03ã®ãã€ã¯ãåœä»€ã®å®è¡äžãå ¥å74150ïŒ åçŽãªãã«ããã¬ã¯ãµãŒ ïŒã¯ãæåŸ ããã0ã§ã¯ãªã8ãåãåããŸãããã«ããã¬ã¯ãµãŒã®å ¥åD4ã«äŸçµŠãããä¿¡å·RotEn /ã¯ãåžžã«é«ã¬ãã«ã«ããããã§ãã 7404ã€ã³ããŒã¿ãŒã«äŸçµŠãããRotEnä¿¡å·ã確èªãããšãåžžã«äœã¬ãã«ã«ãªã£ãŠããããšãããããŸãïŒ å®éãä¿¡å·ãã¹å ã®ãã¹ãŠã®èŠçŽ ããã§ãã¯ããŠã倱æããªãããšã確èªããŸã ïŒã RotEnã¯ãçŸåšãã¹ãäžã®ãªãã¬ãŒãã£ã³ã°ãã·ã³ããŒãããååŸãããŸãã
ããŒãæ¹èšBïŒ
次ã®ã¹ãããã¯ããªãã¬ãŒãã£ã³ã°ãŠãããã®ä¿¡å·ãU19ãããã«è¿œè·¡ããããšã§ããããããŒãäžã«ãã®ãããªãããããªãããšãçªç¶å€æããŸããïŒ ãããŸã§ã¯ãé»ååè·¯ããã®ç¹å®ã®ããŒãã«å¯Ÿå¿ããŠããããšã確èªããå¿ èŠã¯ãããŸããã§ããã ç§ã¯ãããããã ãšæããŸããã HP9866ã«ã¯ãåè·¯ãšã¯ç°ãªã2ã€ã®ã¢ãžã¥ãŒã«ããããŸãããåè¿°ã®ãªãã¬ãŒãã£ã³ã°ãã·ã³09866-66591ãšå¶åŸ¡ããŒã09866-66592ã§ãã éãã®çç±ã¯ãHP9866BããããHP9866Açšã®åè·¯ãäœãããŠããããã§ãïŒ
ãªãã¬ãŒãã£ã³ã°ãã·ã³ã«ã¯ãæåãšã³ã³ãŒãçšã®å¥ã®ROMããããŸãããMotorolaã®SCM3632ã§ãHP IDã¯1818-0167ã§ãã 3ã€ã®MM5052ã®ä»£ããã«ãTexas Instrumentsã®2ã€ã®åéTMS3120ã·ããã¬ãžã¹ã¿ïŒ åéã1ã€ã®ããŠãžã³ã°ã«å¥ã ã®èãæã€4ã€ã®ã¬ãžã¹ã¿ ïŒã䜿çšããŸããã
HPã§ã¯ããŒãã¬ã€ã¢ãŠãã®ã¿ãå€æŽããããšã«ããŸããããã¯ãã¹ããŒããåããã³ãã¯ã¿ã®ä¿¡å·ã¯åããŸãŸã§ãã RotEnä¿¡å·ã®ç°¡åãªãã¹ãã«ãããU8ãããã®6çªç®ã®ãã³ïŒ1820-0071ïŒããã®ãã®ã§ããããšãæããã«ãªããŸããã ã°ãŒã°ã«ã¯ããã7440ã ãšèšã£ããããã¯ãããŒãäœã£ãã¹ããŒã ãšäžèŽããŠããã
å¶åŸ¡ç€ã äœãå€ãã£ãã®ã確ãã«èšããŸããã ãã ããROMãã€ã¯ãã³ãŒãã«ã¯å³ãšåãåœåæ³ããããããå ã»ã©ã®æšæž¬ã¯äŸç¶ãšããŠæ£ããã¯ãã§ãã ã€ãŸããå ¥åä¿¡å·ãšå¶åŸ¡ã³ãŒãã¯ãç§ãèããŠãã74150ã«äŸçµŠããå¿ èŠããããŸãã
次ã®ã¹ãããã¯ãè¶ å°ååè·¯U8ãU3ïŒ7490ïŒããã³U13ã§ã®çªå·1820-0174ã®ä¿¡å·ã®æž¬å®ã§ããã®åŸãã«7404ãé ããŠããŸãã
æ°ããã¯ã©ãã·ã¥
ããªã³ã¿ãŒã®ãããã°äžã«ãé»åããã¹ãããŒããã«ã¹ãçªç¶åæ¢ããŸããã ããã«å¥ã®I / Oã¢ãžã¥ãŒã«ïŒããŒããã©ã€ãïŒãåäœãããã©ããã確èªããããšããŸããã ããŸããããŸããã§ãã...以åã«9830ã«ãŒãã9810ã«ãŒãã«äº€æããããšãæãåºãããŠãã ããã ããããã©ãããä»ãããã倱æããŸãã
ãã®ããŒãããããã°ããŸãããã Tonyã®ããã¥ã¢ã«ãèªãã§åè·¯ã調ã¹ãåŸãããŒãã䜿çšããããã®ãã©ã°ã誀ã£ãŠå®çŸ©ãããŠããããšãããããŸãããããã¯Bus_IO_Rd /ä¿¡å·ïŒ Brentã®æ°ããããŒãžã§ã³ã®åè·¯ã®nCFIïŒãééããŸãã ãã®åŸã3å ¥åNANDã²ãŒã7410ãåå®å®ãã«ããã€ãã¬ãŒã¿ãŒ74121ãããªã¬ãŒ7474ãééããã²ãŒã7453ã®åºåã§I / Oãã©ã°ãæ¢ã«çæãããŠããŸãããããã£ãŠãã¢ãã©ã€ã¶ãŒãããŒããU7ãU8ãU9ãU13ãšããŠæå®ããããããã®ãããã«æ¥ç¶ããŸããã
ãšããã§ãæ¡åŒµããŒãã®äœ¿çšã«æ³šæããŠãã ããã ããã§ãå¿ èŠã«å¿ããŠãã¯ãã¹ããŒãã䜿çšããŠãããŒããã³ãã¯ã¿ã®æ¥ç¹ã«ç°¡åã«ç§»åã§ããŸãã
HP1664ã¢ãã©ã€ã¶ãŒã«ã¯ãU7ãããã®ãã³9ããã®ä¿¡å·ã®æžè¡°ã®ããªã¬ãŒããããŸãã U8ãããã®ãã³1ïŒ74121ïŒã®åºåä¿¡å·ã¯éåžžã«æ¥œããã£ãã§ãã
éå転åºåãæ©èœããŠããã«ããããããããã®ä¿¡å·ã¯åžžã«äœã¬ãã«ã«ããããã§ã ïŒ 74121ã®å Žåãpin1 = pin6ã§ã¯ãªããå³ããå€æãããšãU8 6ã¯æ£åžžã§ã ïŒã 74121ãå¥ã®ããŒãã«çœ®ãæãããšïŒ74122ãš74123ãååšãããã®ã®ãæ¯èŒç倧ããª74XXãããã»ããã«ã¯74121ãååšããªãã£ããããéåžžã«è¿·æã§ãïŒãããªãè¯ãçµæãåŸãããŸããã
ããã§ããã©ã€ãã®ã³ãã³ãã¯ã9810ã®äº€æã«ãŒãïŒç ŽæããåïŒã®ããã«æ©èœããŸããã
ããªã³ã¿ãŒã«æ»ã
I / OããŒããã¯ã©ãã·ã¥ããåã«ãç§ã¯RotEnä¿¡å·ã远跡ããŸããããããã¯æ±ºããŠå€åããŸããã§ããã ä¿¡å·ã¯ããªãã¬ãŒãã£ã³ã°ãã·ã³ã®ããŒãã«ãã£ãŠçæãããŸãããããã¯ã䜿çšããã¹ããŒã ãšã¯ç°ãªããŸãã
ãããã£ãŠãç§ã¯èªåã®çŸåšã®ããŒãžã§ã³ãæããŸããã
ã¢ãã©ã€ã¶ãŒãU3ãU7ãU8ãU13ãããã³U14ã«æ¥ç¶ããŸããã ããªã³ã¿ãŒã®é»æºãå ¥ãããšããã«ãU13ïŒã€ã³ããŒã¿ãŒ7404ïŒã®åºåãã³4ãåžžã«1ã€ã®ã¬ãã«ããå¥ã®ã¬ãã«ã«åãæ¿ãã£ãŠããã®ã«æ°ã¥ããŸããããå ¥åã«ã¯7490ããQdä¿¡å·ãéãããŸããã ããã¯ééããªãééã£ãåäœã§ãã
7404ãæ°ãããããã«äº€æããåŸãããªã³ã¿ãŒã¯ã以åãšåæ§ã«ãçŽãäžè¡äžæ¬åŒã䌞ã°ããäºæããã«ãã³ã°ã¢ãããå§ããŸããã 圌ã¯äœãå°å·ããŸããã§ããããªããªããããžãã¯ãæ éããå Žåã®æœåšçãªæå·ãé²ãããã«ãç§ã¯ããªã³ãããããšãã®é»æºãå解ããããã§ãã
ä»äºã«æ»ãïŒ
ãããã§äœ¿çšããéã®ã°ã«ãŒããéžæãããã³ã¯ä¿¡å·ã確èªããŸããïŒéã®æäœãçŽæ¥è¡ãããŒãã¯1ã€ãããããŸããã§ãããã5 x 7ã®ãããªãã¯ã¹ã§æåãèšå®ãããŠããããã5ã€ã®éã®4ã€ã®ã°ã«ãŒããå«ãŸããŠããŸããã枩床ãšé»åæ¶è²»ãæé©åããããã«ããšã³ãžãã¢ã¯ãããã®ã°ã«ãŒããé£ç¶ããŠäœ¿çšããããšã«ããŸãããã°ã«ãŒã1ã¯ãäœçœ®1ã5ã9ã...ã79ãã°ã«ãŒã2-2ã6ã... 78ãªã©ã®æåã®è¡ãå°å·ããŸããã€ãŸããå®éã«ã¯4ã€ã®ãã¹ãäœæãããŸãããã®ä¿¡å·ã¯ãã¹çªå·ãèšå®ããŸãã ãã¹ãŠãé 調ã§ããã å¯äžã®æ¥ããããã¯ãããŒãã³ã°ãã³ãã¯ã¿ã®å察åŽã®æåã®ãã³ã®äœçœ®ã瀺ãããšã§ããããããªã³ããããããã®å Žæã«æ»ããããªã³ã¿ããã¹ãããŸããã 圌ã¯åããïŒ
é»åãšãã®ä¿®çã«é¢ããæ å ±ãå«ãçããããªãäœæããŸããã
ããã»ã¹ã瀺ããããªã®æåŸã®éšåãèŠãã®ã¯èå³æ·±ãã§ãã
亀æéšå
次ã®ã³ã³ããŒãã³ãã亀æããŸããã
- ã€ã³ãžã±ãŒã¿çšã®2ã€ã®ã©ã³ã
- ããŒããã©ã€ãã®ã©ã³ã
- èšç®æ©ã®ãªãã¬ãŒãã£ã³ã°ãã·ã³ã®ããŒãäžã®BCD ALU 256 x 4 PROM
- å ¥åºåããã»ããµããŒãäžã®74121
- ããªã³ã¿ãŒã®ãªãã¬ãŒãã£ã³ã°ãã·ã³ã®ããŒãäžã®7404
- 5ã€ã®å£ããããŒ
- 3ã€ã®å€±ãããããŒ
- ããŒããã©ã€ãã®ãã€ãŒã«çšã®2ã€ã®Oãªã³ã°
ä»åŸã®èšç»
ç§ã¯ãŸã ã14ã€ã³ãã«ãŒããªããžïŒåºå®ã¹ãã¬ãŒãžçšã®ãã¬ããïŒçšã®2å°ã®éããã©ã€ãã2å°ã®éãé»æºãå¶åŸ¡ã¢ãžã¥ãŒã«ãã±ãŒãã«ãROMã«ãŒããªããžã®ãã£ã¹ã¯ãµãã·ã¹ãã ãæã£ãŠããŸãããããã¯ãã¹ãŠåšåº«ããããŸããããããããã®ãŸãŸã«ããŠãããŸãããã¯ä»åŸæ°å¹Žéã§ãã
æçšãªè³æãžã®ãªã³ã¯
- hpmuseum.netã«ã¯ãHP9830ã«ãã®è¯ãããŒãžããããŸãã
- ãããŒã»ãã¥ãšã«ãæžããHP98x0ã®ä¿®çã¬ã€ã
- ãããŒã»ãã¥ãšã«è£œã®HP9830Aã®ææãã®åè·¯å³
- Brent Hilpertã®HP9830ã«ã¯ãåè·¯å³ãªã©ã®éåžžã«åªããããŒãžããããŸã
- Tony Duellã«ãã£ãŠæžãããHP9866Aã®ä¿®çã¬ã€ã
- ãããŒã»ãã¥ãšã«è£œHP9866Aã®ææãã®åè·¯å³
- HP9830ãšãã¥ã¬ãŒã¿ãŒ
- hp9830.com
- HP9830ã埩å ããRob Fergusonã«ããWebããŒãž
- HP98xxã¹ããŒãªãŒ
- HP9830ã®hpmusuem.orgããŒãž
- HP9810ã®AndreasããŒãž