1 पॉइंट द्वारा GN⁺ 2024-06-28 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Forth Deck mini My4TH बोर्ड में कीबोर्ड, डिस्प्ले और बैटरी जोड़कर बनाया गया हाउसिंग वर्ज़न है, जो डिवाइस के अंदर ही एक छोटा स्वतंत्र Forth development environment तैयार करता है
  • इसका मुख्य हिस्सा 8-bit discrete CMOS logic CPU है, जिसमें 8~14MHz clock, 32KB ROM, 32KB RAM और अधिकतम 256KB EEPROM है
  • इनपुट और आउटपुट के लिए 40×4 character LCD और 56-key QWERTY keyboard हैं, और 6.6Wh LiPo battery बिना चार्ज किए 6 घंटे तक चलती है
  • expansion के लिए RS-232 4800 baud और I2C bus इस्तेमाल होते हैं, और keyboard PCB को LCD driving व key matrix के लिए सीमित I/O pins को बचाकर इस्तेमाल करने के हिसाब से design किया गया है
  • केवल Budgetronics keyboard kit से यह पूरा नहीं बनता; Forth Deck बनाने के लिए अलग My4TH computer board और optional parts configuration की जरूरत होती है

My4TH बोर्ड को पोर्टेबल Forth डिवाइस में बदलने वाला कॉन्फ़िगरेशन

  • Forth Deck mini My4TH computer board में keyboard और display जोड़कर case में रखा गया version है
  • built-in rechargeable battery की वजह से इसे power outlet के बिना इस्तेमाल किया जा सकता है
  • डिवाइस पर ही Forth programs लिखे और debug किए जा सकते हैं, इसलिए serial terminal या PC की जरूरत नहीं होती
  • इसका उपयोग करने का तरीका 1970~80 के दशक के home computers में built-in Basic interpreter जैसा है

Hardware specifications

  • Screen और input

    • 40×4 character LCD
    • 56-key QWERTY keyboard
  • Power और size

    • 6.6Wh LiPo battery
    • बिना charge किए 6 घंटे operation
    • Size 198×118×35mm
  • CPU और memory

    • 8-bit discrete CMOS logic CPU
    • 8~14MHz clock frequency
    • 32KB ROM, 32KB RAM, अधिकतम 256KB EEPROM
    • 17 74-series CMOS logic chips और 3 transistors
  • Input/output और system

    • RS-232, 4800 baud
    • expansion के लिए I2C bus
    • 16-bit Forth 2012 system

Keyboard PCB और build kit

  • keyboard और display ribbon cable से My4TH board से connect होते हैं
  • keyboard PCB में LCD, 56 push buttons, USB type B mini connector, Qwiic socket, 74HC574 आदि शामिल हैं
  • Battery charging circuit optional है
  • पूरी parts list Forth Deck construction manual में देखी जा सकती है
  • build के लिए जरूरी material download से मिल सकता है
  • Budgetronics से Forth Deck keyboard kit खरीदी जा सकती है
    • cost घटाने के लिए battery और charging circuit शामिल नहीं हैं
    • कुछ optional connectors भी शामिल नहीं हैं
    • दोनों boards को stack करके case-less desktop version बनाने के लिए spacers का bundle शामिल है
  • Forth Deck पूरा करने के लिए My4TH computer board अलग से चाहिए

सीमित I/O pins से LCD drive करने का तरीका

  • LCD My4TH I/O connector के pins बचाने के लिए 4-bit mode में काम करता है
  • My4TH I/O connector में सिर्फ 5 unused digital outputs हैं, और बड़े LCD में 2 chip-select inputs होने से जरूरत के मुकाबले 2 outputs कम पड़ते हैं
  • कम पड़ रहे digital outputs की भरपाई 74HC574 octal D-type bus latch से की जाती है
    • यह IC 4-bit width, depth 2 shift register की तरह wired है
    • नतीजे में 8 अतिरिक्त digital outputs मिल जाते हैं
  • 74HC574 में data को clock करके डालते समय I2C bus की SCL line इस्तेमाल होती है
    • SCL signal से 74HC574 को clock करने पर भी bus के devices को valid I2C start condition नहीं दिखती
  • LCD में unwanted register write न हो, इसके लिए display My4TH digital I/O port का OUT3 select signal इस्तेमाल करता है
  • R3/D6, R4/D8 के resistor-diode AND gates LCD के chip select को mask करते हैं
  • C2 और C3, 74HC574 pin toggling तथा D6, D8 की parasitic capacitance से बनने वाले glitches को filter करते हैं

56-key keyboard और hardware reset

  • keyboard कुल 56 keys से बना है
  • key spacing 12mm है, इसलिए बड़े और ज्यादा comfortable keys इस्तेमाल करना मुश्किल है
  • device को जितना हो सके छोटा बनाने की कोशिश की गई, लेकिन display की वजह से minimum width 190mm हो गई
  • 12mm spacing में एक row में 14 keys आती हैं, और 4 rows के configuration से कुल 56 keys बनती हैं
  • key input My4TH I/O port connector के सभी 6 unused input pins से पढ़ा जाता है
    • 9 digital outputs के साथ मिलाकर 6×9=54-key matrix पढ़ी जाती है
    • बाकी 2 keys special keys हैं: shift key और reset key
  • hardware reset shift key दबाए रखते हुए Reset key दबाकर किया जाता है

Battery circuit, software और PCB separation

  • LiPo battery system power के रूप में इस्तेमाल होती है
  • charging circuit कम कीमत वाली USB power banks में व्यापक रूप से इस्तेमाल होने वाले TP5400 chip पर आधारित है
  • अगर छोटे SMD parts solder करना मुश्किल हो, तो assembled TP5400 module इस्तेमाल करके fly wire से keyboard PCB से connect किया जा सकता है
  • keyboard PCB support software My4TH ROM 1.0 से integrated है
    • keyboard expansion board को My4TH computer board से जोड़ने पर My4TH keyboard और LCD को auto-detect करता है
  • PCB को keyboard और display अलग करने के लिए आधा काटा जा सके, इस तरह तैयार किया गया है
    • display को keyboard से अलग angle पर mount किया जा सकता है
    • खुद बनाया हुआ ज्यादा comfortable keyboard इस्तेमाल किया जा सकता है

Examples और license

  • integrated Forth text editor का example उपलब्ध है
  • game example के रूप में 2048 download किया जा सकता है
  • cross assembler myca GNU General Public License, Version 3 license इस्तेमाल करता है

1 टिप्पणियां

 
GN⁺ 2024-06-28
Hacker News की राय
  • इस कंप्यूटर का CPU microcode तरीके का है, और कुछ discrete logic chips और EEPROM से बना है
    data/address bus 8-bit है, लेकिन NOR unit केवल 1 bit प्रोसेस करता है, इसलिए 8-bit addition करने के लिए microcode को loop चलाना पड़ता है
    D1~D7 bits तक access के लिए hardware shifter चाहिए होगा, ऐसा सोचकर मैंने schematic देखा, लेकिन असल में वह नहीं है; shift को EEPROM की lookup table से handle किया जाता है
    अगर शानदार CPU design में रुचि है, तो Novix NC4000 या RTX2000 भी देखने लायक हैं। instruction के bits chip के अंदर के कई multiplexers और units को लगभग सीधे control करते हैं, इसलिए decoding लगभग नहीं होती

  • किशोर उम्र में मैं Forth और discrete-component CPU में डूबा हुआ था, और अच्छी तरह खोजें तो discrete components से बने homebrew CPUs के पुराने webrings भी मिल जाएंगे
    वही जुनून आगे चलकर मेरे मौजूदा पेशे, digital hardware designer, तक ले गया, और ऐसे लेख HN के top पर आते हैं तो सचमुच खुशी होती है

  • इस तरह के optimized discrete-component CPU के बारे में पढ़ना अच्छा लगता है
    सिर्फ 16 logic ICs हैं, और adder तक नहीं है। ALU function केवल एक 1-bit NOR gate है
    details यहां हैं: http://mynor.org/my4th.htm

  • सोचता हूं, आजकल hobby के लिए TRS-80 Model 100 जैसा कुछ बनाने में बाधा क्या है
    40x8 LCD, अब तक के सबसे अच्छे keyboards में से एक था, और custom keyboard community तो लगभग मनचाहा keyboard बना सकती है, ऐसा लगता है
    Model 100 में keyboard ने जगह का ज्यादातर हिस्सा लिया था, लेकिन साथ ही वह सचमुच उपयोगी भी था। अहम बात यह थी कि 40x8 screen काफी बड़ी और पढ़ने में आसान थी, जबकि छोटे 640x480 screen वाले decks खासकर उम्रदराज आंखों के लिए पढ़ना मुश्किल बनाते हैं
    Psion 5 का keyboard भी काफी usable था और screen भी M100 से बेहतर थी, लेकिन पता नहीं hobby maker ऐसा keyboard बना सकता है या नहीं। खोलकर reuse भी किया जा सकता है, पर यह किसी के लिए sacrilege हो सकता है
    आजकल दिखने वाले button matrix वाले “decks” को असली keyboard कहना मुश्किल है, और मेरे हिसाब से PET 2001 ने यह पहले ही दिखा दिया था। पहले PET पर काफी coding की थी
    marketable product होना जरूरी नहीं, फिर भी “real” और “good” चीज क्यों नहीं आ रही, यह समझ नहीं आता। पैसे की वजह कहना मुश्किल है, क्योंकि लोग hobbies पर जितना पैसा खर्च करते हैं, उसे देखकर लगता है कि बात सिर्फ वही नहीं है

    • बड़ा low-resolution display मिलना बेहद मुश्किल है
      pixel density बहुत बढ़ गई है, इसलिए बड़े screens high-resolution होते हैं, और उन्हें drive करने के लिए कहीं ज्यादा तेज device चाहिए। उस point पर display controller असली computer से कहीं ज्यादा powerful हो जाता है, जो थोड़ा हास्यास्पद लगता है
      मेरे सामने आई बाधा यही थी। पूरी तरह संभव तो है, लेकिन इरादे से ज्यादा awkward हो जाता है
    • आजकल hobby के लिए TRS-80 Model 100 बनाने से रोकने वाली कोई बात नहीं है: https://www.clockworkpi.com/home-devterm
    • सवाल है कि ऐसा करना ही क्यों। पहले keyboard peripheral नहीं था, लेकिन अब है
      options सीमित करने की कोई वजह नहीं, जो keyboard चाहिए उसे खरीदकर इस्तेमाल करें। मनपसंद keyboard इस्तेमाल करने से कोई नहीं रोकता, और मेरे हिसाब से यही progress है
  • मैंने My4th Light boards के 5 unit बनाए हैं। रुचि हो तो profile के जरिए संपर्क कर सकते हैं
    लोग हों तो Forth Deck mini का भी एक batch बनाने का सोच रहा हूं
    Forth demo video छोटा बनाने का plan है, लेकिन अभी शुरू नहीं कर पाया हूं

  • सारांश में, यह प्रोग्रामिंग के लिए AlphaSmart जैसी दिशा में लगता है
    अगर आप AlphaSmart को नहीं जानते, तो यह छोटी LCD वाला टाइपराइटर जैसा डिवाइस था। यह बैटरी पर कई घंटों तक चलता था, स्टोरेज सीमित था, और बड़े कंप्यूटर से कनेक्ट करके ड्राफ्ट सेव किए जा सकते थे
    उसका प्रोग्रामिंग वाला वर्ज़न कहाँ है? हाल में HN पर RPI2040 पर Mac 128k चलाने वाली पोस्ट देखकर मुझे ऐसा ही खयाल आया। सिद्धांत रूप में ऐसे सिस्टम पर भी असली काम किया जा सकता है, लेकिन मनोरंजन के लिए यह खास अच्छा नहीं होगा
    लो-पावर कंप्यूटिंग के AlphaSmart में असली कीबोर्ड, लो-पावर डिस्प्ले, हो सके तो बड़ा e-ink स्क्रीन, और इंटरनेट से डिसकनेक्टेड होना चाहिए
    मेरा मतलब TI-83, TI-92, या हाल के NumWorks जैसे कैलकुलेटरों से नहीं है। वे कैलकुलेटर के लिए हैं और कैलकुलेटर जैसे form factor की वजह से असुविधाजनक हैं
    https://en.wikipedia.org/wiki/AlphaSmart
    https://news.ycombinator.com/item?id=40699684
    https://axio.ms/projects/2024/06/16/MicroMac.html
    https://en.wikipedia.org/wiki/TI-83_series
    https://en.wikipedia.org/wiki/TI-92_series
    https://www.numworks.com/

    • मैं भी कई सालों से ऐसी ही चीज़ चाहता रहा हूँ, और Sharp की Memory LCD व Ambiq के subthreshold logic ARM microcontroller की वजह से इसे 1 milliwatt से कम पर चलाना संभव हो गया है
      तब यह बिना बैटरी, सिर्फ solar power पर चल सकता है, और mass storage के लिए कम उपयोग दर पर parallel NAND flash इस्तेमाल किया जा सकता है
      मैं शुरुआती prototype चरण से आगे नहीं बढ़ पाया, और zorzpad के design notes ज़्यादातर Spanish में http://canonical.org/~kragen/sw/zorzpad.git/ पर हैं। za3k vance उससे प्रेरित zorchpad बना रहे हैं: https://blog.za3k.com/tag/zorchpad/
      zorzpad का मुख्य लक्ष्य 53 साल की उम्र वाला लंबी अवधि का उपयोग है। इस लक्ष्य के लिए मेरा मानना है कि battery, charging port, और off-the-shelf keyswitches इस्तेमाल नहीं करने चाहिए। इसलिए system design में बहुत समझौते करने पड़ते हैं, और 1 milliwatt से कम पर चलने वाला MMU वाला processor अभी तक नहीं मिला है
      “zorzpad” “thinkpad” पर एक wordplay है, और Spanish की कुछ बोलियों में इसे “thorthpad” जैसा बोला जाता है, इसलिए यह thinkpad के उलट शब्द जैसा मज़ाक है
      मुझे लगता है e-ink display शायद बहुत ज़्यादा power खाएगा। कई सालों से मैं इसके पक्के power consumption figures ढूँढ रहा हूँ, लेकिन Amazon Kindle की battery life और battery capacity को बाँटकर देखें तो अनुमान करीब 100 milliwatt का आता है
      zorzpad का e-ink alternative screen आकार में लगभग 1/10 है और power में 1/1000, यानी करीब 100 microwatt; datasheet में सिर्फ 20Hz की guarantee है, लेकिन 60Hz refresh भी संभव है
      अगर आपको battery हटाने की चिंता नहीं है या mass production के बारे में नहीं सोच रहे, तो सचमुच AlphaSmart Neo खरीदकर उसका keyboard और display ESP32 जैसी किसी चीज़ से जोड़ सकते हैं
    • माँगी गई चीज़ के सबसे करीब मुझे Cardputer लगता है: https://docs.m5stack.com/en/core/Cardputer
    • TRS-80 Model 100 सच में इन शर्तों पर बहुत फिट बैठता है
      ROM में BASIC, word processor, spreadsheet है, pixel-addressable screen और अपने size के हिसाब से शानदार keyboard है। RS-232 और 300bps modem भी है
      हाल का Clockwork-PI वह एहसास याद दिलाता है, लेकिन keyboard खिलौने जैसा है, और अंत में वह तरह-तरह के distractions वाला Linux laptop ही है
      Model 100 को 90s तक भी पत्रकार साथ लेकर चलते थे, लेख लिखते थे और service bureau पर upload करते थे
    • सिर्फ e-ink AlphaSmart ही मिल जाए तो भी कमाल होगा
      मेरे लिए key feature Mac keyboard और shortcuts थे, इसलिए इस्तेमाल करते समय कुछ सोचना ही नहीं पड़ता था
    • डायरी लिखने के लिए Alphasmart Neo इस्तेमाल कर रहा हूँ। हाल ही में ESP32 लगाकर wireless file transfer संभव बनाने के लिए इसे mod किया, और मैं बहुत खुश हूँ
      https://www.dannysalzman.com/2024/06/20/modding-alphasmart-n...
  • बिल्ट-इन Forth interpreter वाले कंप्यूटर के पहले उदाहरणों में Jupiter Ace है: https://en.wikipedia.org/wiki/Jupiter_Ace
    और Sun, PowerPC Mac, One Laptop per Child आदि में इस्तेमाल हुए Open Firmware ने भी Forth का उपयोग किया था। इसे expansion card ROM में भी इस्तेमाल किया गया, जिससे उन्हें CPU पर कम निर्भर बनाया जा सकता था: https://en.wikipedia.org/wiki/Open_Firmware

  • अगर छोटे computers में रुचि है लेकिन Forth या soldering आपको खास आकर्षित नहीं करते, तो 30 डॉलर में काफी काम का ESP32 बॉक्स खरीदा जा सकता है: https://shop.m5stack.com/products/m5stack-cardputer-kit-w-m5...

    • सोच रहा हूँ इसका operating system कैसा है। शायद Wayland desktop में boot नहीं होता होगा
      फिर भी यह उस Amiga से कहीं ज़्यादा powerful है जिसे मैंने weekend पर emulate किया था, और Amiga में पूरा GUI desktop, compiler और कई tools थे
      जानना चाहता हूँ कि default state में इससे क्या किया जा सकता है
      Edit: फर्क नहीं पड़ता, मैंने बस order कर दिया। आने पर पता चल जाएगा, लेकिन तब तक यह जानने की उत्सुकता है कि क्या expect करना चाहिए
    • फिर भी इस device के लिए Forth उपलब्ध है: https://github.com/ryu10/M5CardForth
    • M5Stack products कीमत के हिसाब से सभी काफी अच्छे लगते हैं। 30 डॉलर में Flipper Zero जैसी functionality मिल जाए तो बढ़िया होगा
    • GPS, LoRa wireless, LiPo charger और OLED screen वाला ESP32S3 board भी करीब 28 डॉलर में मिल जाता है
      Meshtastic में आम तौर पर इस्तेमाल होने वाला device है
  • Hmm… Collapse OS का Forth भी है: http://collapseos.org/forth.html

  • Oric-1 याद आ गया
    https://en.m.wikipedia.org/w/index.php?title=Oric_(computer)...