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
Thank you for generating more hype for the Commander X16.
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.
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.
The explanation was brilliant, and how it was technically done is gorgeous to listen to. . THE LAST LINE ABOUT INDIA IS FUNNY! . .
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
Жыл бұрын
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
Жыл бұрын
@@InkboxSoftware it's also fun looking to use! What with its fusion of commodore and linux philosophy.
@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.
Woah! This is an amazing project! I cannot wait to see what else you come up with!
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.
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.
This is absolutely amazing
in all seriousness it would be interesting to see how abugidas are implemented.
linux font on x16... when x16 linux/unix port?
If you do this with 8 bits per pixel you could draw the Chinese characters with simple colour cycling no?
You can load 320kb just fine, in Hiram. Requires some banking logic , but the LOAD call reads it for you in 1 go
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
7 ай бұрын
Yeah the word computer in Chinese is just “电脑”, which is funny because it literally translates to electricity (电) brain (脑)
@dacueba-games
5 ай бұрын
Shouldn't it be 電...
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.
this is super cool!
unicode support next? 😁
Pretty awesome 😊
非常厉害!👍
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).
It's like a chinese vi. Pretty impressive.
Yo man, this is cool! Could you release the pixel art for the NESOS thumbnail?
Very nice! Have you thought about using any form of compression to make the disk/memory footprints more efficient?
@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
Жыл бұрын
@@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
6 ай бұрын
Of course, retro is a fun thing!@@matthiasbreiter4177
"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.
This is awesome, now do a Klingon word processor :-)
I heard it so many times in the past, but can't remember which song is playing at 5:00. Anyone knows?
太强了,我死了
Nice! Now for Thai or Devanagari (-:
Do you see what I mean that's only using 15 colours for Sam coupe she's a UK 8 bit
善
9:20 would have been cool to load and store in UTF
While I would say that I'd prefer seeing traditional Chinese characters I think the strokes are too dense for these bitmaps?
@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.
Apparently, Unifont contains every Unicode character
I want to make a Japanese word processor based on this software system, and I want the source code!
@gasun1274
11 ай бұрын
he has already put a link to the repo in the description
@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.
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.
0:01 xpeng car logo
i don't know why but i really expected to see a bing chilling copypasta in here. anyway very cool +100 social credit
Now make it type Japanese... oh wait. Now it just needs hiragana/katakana.
@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
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
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: 国
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)
会 is “huì”, not “guì”
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
26 күн бұрын
Do you mean accents..?
冰淇淋 🍦
I still need to learn programming in general before I can even step closer to programming on this system.
@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.
I Can't have an X16 Because I Am poor
@xenotiic8356
26 күн бұрын
Same, but hopefully someday it comes down in price! For now, at least we get an emulator (=w= ")
zì
向大佬低头