Programming the Commander X16 to type 10,000 Chinese Characters

แชร์
ฝัง
  • เผยแพร่เมื่อ 8 ธ.ค. 2022
  • I created a Chinese Word Processor for the Commander X16, the 21st century 8-Bit computer of the 8-Bit Guy, TexElec, Perifractic, Michael Steil, Frank van den Hoef, and Michael Allison. I go over the steps I took to create this word processor and discuss certain details of programming the X16 in 6502 Assembly.
    This program was able to go much farther beyond the scope of my last Chinese Word Processor I created for the Apple II, in that it now includes saving and loading of Chinese text files, along with the ability to scroll the file down to 120 lines of 40 columns Chinese (or 80 column English) text.
    One of the main programming highlight is how to interact with different VERA registers, and I go over several tricks I learned while working with them, including setting up a graphics layer in tile or bitmap mode at the proper resolution, copying data from one part of VRAM to another, editing the default color palette, and much more.
    Living Type for the Commander X16 is available to download at:
    www.commanderx16.com/forum/in...
    github.com/InkboxSoftware/Liv...
    Programming resources:
    X16 guide:
    www.commanderx16.com/forum/in...
    Matt Heffernan those video guides:
    • Commander X16 Assembly...
    footage of Chinese word processors:
    • RARE Japanese Toshiba ...
    See also:
    notin.tokyo
    www.commanderx16.com/
    Bisheng
    en.wikipedia.org/wiki/Bi_Sheng
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 65

  • @lod4246
    @lod4246 ปีที่แล้ว +53

    Thank you for generating more hype for the Commander X16.

  • @anon_y_mousse
    @anon_y_mousse ปีที่แล้ว +34

    I hope David sees this and showcases this project. I still remember writing my own word processor in QBasic, those were fun times. The examples were pretty helpful too, I was able to have mouse clickable menu bars and a status bar. I miss those days when programming was fun. Maybe I should write a BASIC interpreter.

  • @KLegyyn
    @KLegyyn 11 หลายเดือนก่อน +7

    The explanation was brilliant, and how it was technically done is gorgeous to listen to.
    .
    THE LAST LINE ABOUT INDIA IS FUNNY!
    .
    .

  • @earthsteward70
    @earthsteward70 ปีที่แล้ว +23

    Absolutely astonishing program! I think this is the most advanced singular application for the Commander x16 I've seen! It legit gives me hope for the future of this platform to be more than a tool for gamers.
    Like you could educate students with this and do real work without internet.

    • @InkboxSoftware
      @InkboxSoftware  ปีที่แล้ว +13

      Given my experience, I think learning assembly on a simple machine that uses a 6502, like the X16, is a lot easier than trying to understand how a modern processor works and trying to program in x86 or x64 assembly. So I could see this computer as a great environment for students to learn about assembly and other low level processes.

    • @earthsteward70
      @earthsteward70 ปีที่แล้ว +1

      @@InkboxSoftware it's also fun looking to use! What with its fusion of commodore and linux philosophy.

    • @matthiasbreiter4177
      @matthiasbreiter4177 ปีที่แล้ว +2

      @@InkboxSoftware For modern systems yes. I learned 8085 (predescessor of 8086) assembler with a suiting simple computer and it is so much easier than trying to start understanding a modern CPU. It also opened my eyes what CPU extensions like "MMX" really mean. On an 8085 you need "pages worth" (literally) of assembly language to multiply two large numbers. With MMX this was shrunk to one line.

  • @markholle3450
    @markholle3450 ปีที่แล้ว +18

    While I understood only about 5% of what you did, this is an awesome development for the X16. I love to see what the community is creating for the system.

  • @mattgio1172
    @mattgio1172 ปีที่แล้ว +3

    Woah! This is an amazing project! I cannot wait to see what else you come up with!

  • @gasun1274
    @gasun1274 11 หลายเดือนก่อน +5

    in all seriousness it would be interesting to see how abugidas are implemented.

  • @REAL-UNKNOWN-SHINOBI
    @REAL-UNKNOWN-SHINOBI ปีที่แล้ว +4

    I'm going to get hate for this but...
    This is probably the most interesting thing the commander X16 is going to do.
    As it's not even compatible hardware or even software wide with the commodore 64, which this is supposed to be a modern replacement for even though it's a whole different beast altogether.
    If you are actually looking for a modern alternative to a commodore 64, get an Evo64.

  • @matthiasbreiter4177
    @matthiasbreiter4177 ปีที่แล้ว +5

    I can't speak or read/write Chinese but this is a nice program to support something, that we in the "English" world often forget. While I'm not a native English speaker as well, our Ä's, Ö's ... are rather easy to add or overwrite (or even substitute) on a PETSCII style computer compared to Chinese.

  • @AB-Prince
    @AB-Prince 9 หลายเดือนก่อน +2

    One thing I'm thinking, if the text editor itself isn't too computationally intense, you could compress the character graphics data which, depending on your implementation of character decompression and drawing, could possibly be marginally faster.
    and for the graphics screen, RLE should be able to get the filesize down to a miniscule size.

  • @Adiee5Priv
    @Adiee5Priv ปีที่แล้ว +4

    linux font on x16... when x16 linux/unix port?

  • @maxsun2418
    @maxsun2418 ปีที่แล้ว +2

    This is absolutely amazing

  • @flirora
    @flirora 3 หลายเดือนก่อน

    You could use 1 byte per column for the file data (0x00 - 0x7F for the ASCII characters, then 0x80 - 0xFF for the leading byte for the Chinese characters).

  • @desertfish74
    @desertfish74 6 หลายเดือนก่อน +1

    You can load 320kb just fine, in Hiram. Requires some banking logic , but the LOAD call reads it for you in 1 go

  • @loganjorgensen
    @loganjorgensen 10 หลายเดือนก่อน +2

    That is impressive, that seemed like the best foundation setup to handle that many characters.🙂 I'm glad to hear there's dense meaning in that alphabet since to a non-speaker it is hard to imagine needing that many heh.😉

    • @TheAznCoderPro
      @TheAznCoderPro 7 หลายเดือนก่อน +3

      Yeah the word computer in Chinese is just “电脑”, which is funny because it literally translates to electricity (电) brain (脑)

    • @dacueba-games
      @dacueba-games 6 หลายเดือนก่อน

      Shouldn't it be 電...

  • @atelierren
    @atelierren ปีที่แล้ว +2

    非常厉害!👍

  • @zxspectrum16K69
    @zxspectrum16K69 7 หลายเดือนก่อน +1

    If you do this with 8 bits per pixel you could draw the Chinese characters with simple colour cycling no?

  • @vitoromega13
    @vitoromega13 ปีที่แล้ว +1

    Yo man, this is cool! Could you release the pixel art for the NESOS thumbnail?

  • @tonicparty1541
    @tonicparty1541 ปีที่แล้ว

    this is super cool!

  • @RFX01
    @RFX01 11 หลายเดือนก่อน

    It's like a chinese vi. Pretty impressive.

  • @up2tech
    @up2tech 7 หลายเดือนก่อน

    Pretty awesome 😊

  • @3vi1J
    @3vi1J ปีที่แล้ว +2

    Very nice! Have you thought about using any form of compression to make the disk/memory footprints more efficient?

    • @InkboxSoftware
      @InkboxSoftware  ปีที่แล้ว +1

      If this was software that would actually be used, then I would probably go down that route, but since downloads have peaked and it's been relegated to the archive on the official site, I doubt anyone will use it seriously in the future.

    • @matthiasbreiter4177
      @matthiasbreiter4177 ปีที่แล้ว +1

      @@InkboxSoftware Most of the software I search for is "archived" so I think that is maybe an issue with the forum-software. On the other hand, this editor might be useful if the X16 gets released in China or so. Is there a "retro-scene" in China as well?

    • @playnow2074
      @playnow2074 7 หลายเดือนก่อน +1

      Of course, retro is a fun thing!@@matthiasbreiter4177

  • @ame7165
    @ame7165 8 หลายเดือนก่อน +1

    unicode support next? 😁

  • @keytronic5631
    @keytronic5631 4 หลายเดือนก่อน

    I heard it so many times in the past, but can't remember which song is playing at 5:00. Anyone knows?

  • @SquallSf
    @SquallSf ปีที่แล้ว +2

    "I can't load 320000 bytes into x16 all at once"
    Why not? You have 512k of paged RAM - more then enough to hold all this data. The "Load" subroutine allows to target that RAM and is smart to switch banks so you can load the whole file with a single call.

  • @Nbrother1607
    @Nbrother1607 2 หลายเดือนก่อน

    Apparently, Unifont contains every Unicode character

  • @bocbinsgames6745
    @bocbinsgames6745 ปีที่แล้ว +1

  • @Good9tTo9t
    @Good9tTo9t 11 หลายเดือนก่อน +1

    While I would say that I'd prefer seeing traditional Chinese characters I think the strokes are too dense for these bitmaps?

    • @amberwingthefairycat
      @amberwingthefairycat 10 หลายเดือนก่อน +1

      im sure it would be possible. it may look terrible at a larger size but it may be easier to look at the pixels if they were smaller.

  • @andrewdunbar828
    @andrewdunbar828 11 หลายเดือนก่อน +1

    Nice! Now for Thai or Devanagari (-:

  • @colingale
    @colingale 9 หลายเดือนก่อน

    This is awesome, now do a Klingon word processor :-)

  • @yosi1989
    @yosi1989 ปีที่แล้ว +5

    I want to make a Japanese word processor based on this software system, and I want the source code!

    • @gasun1274
      @gasun1274 11 หลายเดือนก่อน

      he has already put a link to the repo in the description

    • @yosi1989
      @yosi1989 11 หลายเดือนก่อน +2

      @@gasun1274 ​ *Only compiled binaries, no source code. (Is the source code "confidential"?)*
      If the other side does not provide the source code, we have no choice but to reverse engineer it or implement it from scratch on my side.

  • @punpck
    @punpck 11 หลายเดือนก่อน

    9:20 would have been cool to load and store in UTF

  • @AlphaLiu
    @AlphaLiu ปีที่แล้ว +4

    太强了,我死了

  • @zxspectrum16K69
    @zxspectrum16K69 7 หลายเดือนก่อน

    Do you see what I mean that's only using 15 colours for Sam coupe she's a UK 8 bit

  • @johnsonlam
    @johnsonlam 4 หลายเดือนก่อน

    I don't think daily use Chinese characters exceeds 5000, and usually not more than 500 even the dictionary have so many. Depends on what habit of Chinese, simplified Chinese even have less characters, most of the real life problem is typing puncutation. Your editor really look great even it's not for Traditional Chinese.

  • @Oriental-perspective
    @Oriental-perspective 10 หลายเดือนก่อน

    0:01 xpeng car logo

  • @aptiveviennapro
    @aptiveviennapro ปีที่แล้ว +1

    会 is “huì”, not “guì”

  • @gaving.griffon2703
    @gaving.griffon2703 ปีที่แล้ว +2

    Now make it type Japanese... oh wait. Now it just needs hiragana/katakana.

    • @matthiasbreiter4177
      @matthiasbreiter4177 ปีที่แล้ว +1

      I guess it is not that simple. Japanese glyphs (except hiragana/katagana) "Kanji" evolved from "Han-ji" and are based on the "Language of the Han people". Those han-glyphs were used by there sound, rather than their meaning. Todays Chinese also does not originate from Han but from Mandarin - as far as I understand it. So I'm not even sure if the Kanji are represented within any number of modern Chinese - I honestly do not know. So I guess to make a Japanese Typewriter/Wordprocessor you need to map different "Phonics" to different glyphs.
      And then in Japanes you can freely mix any typing system in a word or sentence as you like. So the program would have to distinguish at least Kanji, Hiragana, Katagana + "our" Numbers. And at best also Hentaigana (old writing system derived from the "grass-script") and Romanji (our alphabet).

    • @gasun1274
      @gasun1274 11 หลายเดือนก่อน

      ​​@@matthiasbreiter4177 it might actually be that simple, you dont have to mimic today's japanese IME. just expect the user to enter common on/kun readings. the user will input the appropriate kanji or kana themselves like in traditional typewriters.

    • @win_ini
      @win_ini 11 หลายเดือนก่อน

      @@gasun1274 ah-ah-ah! some kanji are simplified, some are traditional, and some are completely different from them both, don't forget that!
      for example: guó (mandarin), kuni (japanese)
      traditional: 國
      simplified: 国
      japanese: 国

  • @celestialamber174
    @celestialamber174 ปีที่แล้ว

    冰淇淋 🍦

  • @boss_boy_
    @boss_boy_ ปีที่แล้ว +2

    i don't know why but i really expected to see a bing chilling copypasta in here. anyway very cool +100 social credit

  • @KevinJDildonik
    @KevinJDildonik 4 หลายเดือนก่อน

    Basically every X16 project starts with wow it's a chip for chip replica of a retro computer. So today we're relying entirely on the custom, much more capable, much more modern VERA board for this. (facepalm)

  • @oDTR
    @oDTR 6 หลายเดือนก่อน

    I Can't have an X16 Because I Am poor

    • @xenotiic8356
      @xenotiic8356 หลายเดือนก่อน

      Same, but hopefully someday it comes down in price! For now, at least we get an emulator (=w= ")

  • @radthadd
    @radthadd 8 หลายเดือนก่อน

    Ever notice how every race has a set of voices? haha I knew u were asian. U did good with this program I didn't even know it was possible

    • @xenotiic8356
      @xenotiic8356 หลายเดือนก่อน

      Do you mean accents..?

  • @The-E-Base
    @The-E-Base ปีที่แล้ว

    I still need to learn programming in general before I can even step closer to programming on this system.

    • @matthiasbreiter4177
      @matthiasbreiter4177 ปีที่แล้ว

      The programs shown here are written in assembler, which is a very simple programming language - or rather "primitive". It is just one step above machine code. To learn programming you can very well start on the X16 (emulator) - but I would recommend Basic (which is many levels above machine code) and makes programming much easier.
      Assembler is used when you need all the power of the machine.

  • @janovskicz
    @janovskicz 11 หลายเดือนก่อน

  • @tonyzhang6744
    @tonyzhang6744 10 หลายเดือนก่อน

    向大佬低头