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 - วิทยาศาสตร์และเทคโนโลยี
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.
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.
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.
@@InkboxSoftware it's also fun looking to use! What with its fusion of commodore and linux philosophy.
@@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.
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.
Woah! This is an amazing project! I cannot wait to see what else you come up with!
in all seriousness it would be interesting to see how abugidas are implemented.
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.
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.
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.
linux font on x16... when x16 linux/unix port?
This is absolutely amazing
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).
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.😉
Yeah the word computer in Chinese is just “电脑”, which is funny because it literally translates to electricity (电) brain (脑)
Shouldn't it be 電...
非常厉害!👍
If you do this with 8 bits per pixel you could draw the Chinese characters with simple colour cycling no?
Yo man, this is cool! Could you release the pixel art for the NESOS thumbnail?
this is super cool!
It's like a chinese vi. Pretty impressive.
Pretty awesome 😊
Very nice! Have you thought about using any form of compression to make the disk/memory footprints more efficient?
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.
@@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?
Of course, retro is a fun thing!@@matthiasbreiter4177
unicode support next? 😁
I heard it so many times in the past, but can't remember which song is playing at 5:00. Anyone knows?
"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.
Apparently, Unifont contains every Unicode character
善
While I would say that I'd prefer seeing traditional Chinese characters I think the strokes are too dense for these bitmaps?
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.
Nice! Now for Thai or Devanagari (-:
This is awesome, now do a Klingon word processor :-)
I want to make a Japanese word processor based on this software system, and I want the source code!
he has already put a link to the repo in the description
@@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.
9:20 would have been cool to load and store in UTF
太强了,我死了
Do you see what I mean that's only using 15 colours for Sam coupe she's a UK 8 bit
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
会 is “huì”, not “guì”
Now make it type Japanese... oh wait. Now it just needs hiragana/katakana.
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).
@@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.
@@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: 国
冰淇淋 🍦
i don't know why but i really expected to see a bing chilling copypasta in here. anyway very cool +100 social credit
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)
I Can't have an X16 Because I Am poor
Same, but hopefully someday it comes down in price! For now, at least we get an emulator (=w= ")
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
Do you mean accents..?
I still need to learn programming in general before I can even step closer to programming on this system.
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.
zì
向大佬低头