Programming the Commander X16 to type 10,000 Chinese Characters

Ғылым және технология

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 Жыл бұрын

    Thank you for generating more hype for the Commander X16.

  • @anon_y_mousse
    @anon_y_mousse Жыл бұрын

    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.

  • @markholle3450
    @markholle3450 Жыл бұрын

    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.

  • @KLegyyn
    @KLegyyn10 ай бұрын

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

  • @earthsteward70
    @earthsteward70 Жыл бұрын

    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

    Жыл бұрын

    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

    Жыл бұрын

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

  • @matthiasbreiter4177

    @matthiasbreiter4177

    Жыл бұрын

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

  • @mattgio1172
    @mattgio1172 Жыл бұрын

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

  • @REAL-UNKNOWN-SHINOBI
    @REAL-UNKNOWN-SHINOBI11 ай бұрын

    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.

  • @AB-Prince
    @AB-Prince8 ай бұрын

    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.

  • @maxsun2418
    @maxsun2418 Жыл бұрын

    This is absolutely amazing

  • @gasun1274
    @gasun127411 ай бұрын

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

  • @Adiee5Priv
    @Adiee5Priv Жыл бұрын

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

  • @zxspectrum16K69
    @zxspectrum16K697 ай бұрын

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

  • @desertfish74
    @desertfish746 ай бұрын

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

  • @loganjorgensen
    @loganjorgensen10 ай бұрын

    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 ай бұрын

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

  • @dacueba-games

    @dacueba-games

    5 ай бұрын

    Shouldn't it be 電...

  • @matthiasbreiter4177
    @matthiasbreiter4177 Жыл бұрын

    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.

  • @tonicparty1541
    @tonicparty1541 Жыл бұрын

    this is super cool!

  • @ame7165
    @ame71658 ай бұрын

    unicode support next? 😁

  • @up2tech
    @up2tech7 ай бұрын

    Pretty awesome 😊

  • @atelierren
    @atelierren Жыл бұрын

    非常厉害!👍

  • @flirora
    @flirora2 ай бұрын

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

  • @RFX01
    @RFX0111 ай бұрын

    It's like a chinese vi. Pretty impressive.

  • @vitoromega13
    @vitoromega13 Жыл бұрын

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

  • @3vi1J
    @3vi1J Жыл бұрын

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

  • @InkboxSoftware

    @InkboxSoftware

    Жыл бұрын

    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

    Жыл бұрын

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

    6 ай бұрын

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

  • @SquallSf
    @SquallSf Жыл бұрын

    "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.

  • @colingale
    @colingale9 ай бұрын

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

  • @keytronic5631
    @keytronic56314 ай бұрын

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

  • @AlphaLiu
    @AlphaLiu Жыл бұрын

    太强了,我死了

  • @andrewdunbar828
    @andrewdunbar82811 ай бұрын

    Nice! Now for Thai or Devanagari (-:

  • @zxspectrum16K69
    @zxspectrum16K697 ай бұрын

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

  • @bocbinsgames6745
    @bocbinsgames6745 Жыл бұрын

  • @punpck
    @punpck11 ай бұрын

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

  • @Good9tTo9t
    @Good9tTo9t11 ай бұрын

    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 ай бұрын

    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.

  • @Nbrother1607
    @Nbrother16072 ай бұрын

    Apparently, Unifont contains every Unicode character

  • @yosi1989
    @yosi198911 ай бұрын

    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 ай бұрын

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

  • @johnsonlam
    @johnsonlam4 ай бұрын

    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-perspective9 ай бұрын

    0:01 xpeng car logo

  • @boss_boy_
    @boss_boy_ Жыл бұрын

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

  • @gaving.griffon2703
    @gaving.griffon2703 Жыл бұрын

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

  • @matthiasbreiter4177

    @matthiasbreiter4177

    Жыл бұрын

    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
    @KevinJDildonik4 ай бұрын

    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 Жыл бұрын

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

  • @radthadd
    @radthadd8 ай бұрын

    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

    26 күн бұрын

    Do you mean accents..?

  • @celestialamber174
    @celestialamber174 Жыл бұрын

    冰淇淋 🍦

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

  • @oDTR
    @oDTR5 ай бұрын

    I Can't have an X16 Because I Am poor

  • @xenotiic8356

    @xenotiic8356

    26 күн бұрын

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

  • @janovskicz
    @janovskicz11 ай бұрын

  • @tonyzhang6744
    @tonyzhang674410 ай бұрын

    向大佬低头

Келесі