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.

  • @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.

  • @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.

  • @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.

  • @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.

  • @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).

  • @maxsun2418
    @maxsun2418 Рік тому +2

    This is absolutely amazing

  • @Adiee5Priv
    @Adiee5Priv Рік тому +4

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

  • @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.😉

    • @CrushedAsian255
      @CrushedAsian255 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 電...

  • @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

  • @zxspectrum16K69
    @zxspectrum16K69 8 місяців тому +1

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

  • @RFX01
    @RFX01 11 місяців тому

    It's like a chinese vi. Pretty impressive.

  • @tonicparty1541
    @tonicparty1541 Рік тому

    this is super cool!

  • @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

  • @up2tech
    @up2tech 7 місяців тому

    Pretty awesome 😊

  • @vitoromega13
    @vitoromega13 Рік тому +1

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

  • @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?

  • @atelierren
    @atelierren Рік тому +2

    非常厉害!👍

  • @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.

  • @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.

  • @Nbrother1607
    @Nbrother1607 2 місяці тому

    Apparently, Unifont contains every Unicode character

  • @ame7165
    @ame7165 9 місяців тому +1

    unicode support next? 😁

  • @colingale
    @colingale 9 місяців тому

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

  • @andrewdunbar828
    @andrewdunbar828 11 місяців тому +1

    Nice! Now for Thai or Devanagari (-:

  • @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.

  • @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.

  • @zxspectrum16K69
    @zxspectrum16K69 8 місяців тому

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

  • @bocbinsgames6745
    @bocbinsgames6745 Рік тому +1

  • @punpck
    @punpck 11 місяців тому

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

  • @AlphaLiu
    @AlphaLiu Рік тому +4

    太强了,我死了

  • @Oriental-perspective
    @Oriental-perspective 10 місяців тому

    0:01 xpeng car logo

  • @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: 国

  • @KevinJDildonik
    @KevinJDildonik 5 місяців тому

    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)

  • @aptiveviennapro
    @aptiveviennapro Рік тому +1

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

  • @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

  • @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.

  • @radthadd
    @radthadd 9 місяців тому

    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

  • @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= ")

  • @celestialamber174
    @celestialamber174 Рік тому

    冰淇淋 🍦

  • @janovskicz
    @janovskicz 11 місяців тому

  • @tonyzhang6744
    @tonyzhang6744 10 місяців тому

    向大佬低头