BKED: An Editor to the (hard) Past

If you have a lot to say about something and feel like writing an Effort Post™ about it, post it here!
User avatar
flatrute
Posts: 420
Joined: Sat Dec 17, 2022 11:32 am
Location: Thành phố Hồ Chí Minh, Việt Nam

BKED: An Editor to the (hard) Past

Post by flatrute »

As of the time I am typing this it is Lunar New Year Eve and I am still fighting my laziness but here we are arthurDance

BKED, shorts for Bách Khoa EDitor (Polytechnic Editor), is a word processor made by Doctor Quách Tuấn Ngọc first released in HE 11987. The story goes that after he went back from France in HE 11985, he saw the need of a program to help him making textbooks on programming for his fellow country. Having knowledge of developing on various platform such as DEC PDP-11, Intel SDK-80, Intel SDK-85 and Texas Instrument TMS-320, he went on to create BKED in x86 assembly and Pascal which can be run in graphics mode on a wide range of imported XT and AT clones with various type of cards form Hercules to EGA. The program was sold at the price of 1,500,000 VND which was absurd at the time. Nonetheless, it got sold pretty well with the biggest buyers being national ministries. He also sold around 120,000 copies of manual of the program. The program had helped the Ministry of Education finished report of a meeting right after it ends instead of waiting for about 5 days and moved away from making mimeographs for middle schooling graduation tests. The program felt into obscurity in the mid HE 11990s after the increasing adoption of Windows and Office combined with new IMEs for the platform such as Vietkey and Unikey.

On HE 12016-05-08, the author shared his copy of version 6.4 to the public. The Google Drive link seems to require Google account login so here is a reupload of the ZIP file uploaded there for anyone who despise anything Google related:

Update HE 12024-03-29: The link has rotted. Good thing I reuploaded it here kcSmile
BKED.zip
bked source code lost confirmed.png
(Also it has been confirmed by the author that the source code of the program had been lost over time in one of his comments on his posts, which should make it a good target for decompilation Thuink)
bked splash.png
Upon launching the program, one is greeted with a splash screen to type in path of file to edit. The silver coloured box mostly tells about the program being a part of National Programme for Information Technology, supporting "ABC" character encoding which is a common name for VSCII and being made at the Information Technology faculty of Hanoi University of Science and Technology which is where the program name came from. Pressing Enter without typing anything gives you a menu to select the file instead.
bked file selection.png
(I used MS-DOS 6.2/V to run the program just since why not? pepeLaugh)
bked main.png
After choosing the file to edit (or in my case pressing Escape to create a new blank file) you are greeted with a default blue background white foreground pseudo-TUI with a horizon line at the bottom marking the end of the document.
bked editing.png
F9: toggle Vietnamese inputting
Ctrl-F9: Switch between Telex convention and "typewriter mode"
Alt-C: Open formatting menu
Ctrl+G: Insert math letters
Numpad 1-9, minus and plus: Insert table primitives
F2: Save
F4: Spell checking
Alt-X: Exit to DOS
The "UPPERCASE TEXT WITH DIACRITICS" formatting is interesting on its own. The VSCII character encoding standard defined 3 variants named VSCII-3 (commonly known under the name TCVN3 or simply as "ABC"), VSCII-2 and VSCII-1 with VSCII-2 being a superset of VSCII-3 and VSCII-1 being a superset of VSCII-2. While many European languages only need a couple precomposed characters to represent their languages, Vietnamese language requires 134 of such characters to cover all used combination of diacritics in both uppercase and lowercase which is not enough for the allocated extended ASCII codepoints. Therefore one could either violate ISO/IEC 2022 and replace some control codepoints with remaning unfit characters (as in VSCII-1), not bother with precomposed characters anymore and use a combining character encoding instead (as in Windows-1258) or (as in VSCII-3/TCVN3) input everything in lowercase and rely on programs handing such encoded text to use "uppercase fonts" on some part of the text instead YEP
There are more Word-like features such as tab alignment, margins, macros and printing but without a proper manual (The file Huongdan.pdf in the ZIP is only a partial scan of table of context of the manual book and getting one of its copies nowadays here in the Southern area is probably impossible) I could not demonstrate properly how featureful the program is FeelsBadMan Nonetheless I hope anyone who read this find it interesting and I will see you soontm baldiDance
You do not have the required permissions to view the files attached to this post.
My username is read as "flatorte".
[deleted] posts index
New avatar source
Old avatar source
wowjinxy
Posts: 3
Joined: Wed May 07, 2025 3:25 pm

Re: BKED: An Editor to the (hard) Past

Post by wowjinxy »

The main BKED exe is compressed with PKLite, I found some code and cleaned it up to make this. After you run make just run the program like so. it will only spit out the decompressed part but this is a good start.
depklite.exe -dv -o BKED_Decrypt.EXE BKED.EXE 0x70
You do not have the required permissions to view the files attached to this post.
User avatar
flatrute
Posts: 420
Joined: Sat Dec 17, 2022 11:32 am
Location: Thành phố Hồ Chí Minh, Việt Nam

Re: BKED: An Editor to the (hard) Past

Post by flatrute »

I did not know the executable was compressed to begin with! Thanks for helping me out for my future de-compilation project! PogChamp
My username is read as "flatorte".
[deleted] posts index
New avatar source
Old avatar source
User avatar
flatrute
Posts: 420
Joined: Sat Dec 17, 2022 11:32 am
Location: Thành phố Hồ Chí Minh, Việt Nam

Re: BKED: An Editor to the (hard) Past

Post by flatrute »

Archives of the Facebook posts above just in case:
Having knowledge of developing on various platform such as DEC PDP-11, Intel SDK-80, Intel SDK-85 and Texas Instrument TMS-320...
Về ngôn ngữ lập trình hợp ngữ assembler.
---
Đây là ngôn ngữ lập trình bậc thấp và là bậc rất căn bản.
Bộ lệnh gợi nhớ Mnemonic: ADD, SUB, PUSH, MOV....
Những ai dùng nó thì cũng phải am hiểu phần kiến trúc máy tính và các hệ vi xử lý. Thuở những năm 1970, lập trình assembler rất vất vả nên có câu tổng kết là một năm chỉ viết trung bình được vài trăm dòng lệnh.
Nếu đã học assembler thì không ai phát biểu ngơ ngơ rằng 1 byte được dùng biểu diễn số âm dương từ -127 đến +127. Đó là những người không trải qua học căn bản về máy tính. Hình như trong SGK tin học có viết như vậy.
---
Hồi học K18 Vô tuyến điện ĐHBK HN, tôi chỉ đc học mã máy kiểu 0101 0011 ... của Minsk 22 do cô TrinhAnh Nguyen và thầy Bá dạy để gọi là có khái niệm + nhìn qua hình cái bìa đục lỗ. Chứ thực hành là không có nên khi ra trường 1978 còn ngơ ngơ ngác ngác. Thuở hàn vi là vậy.
---
12/1982-01/1987 đi NCS ở Pháp, tôi đã phải ngồi 4 năm lập trình assembler liền một lúc mấy hệ:
1. Mini computer PDP-11 của DEC (Digital Equipement Coporation).
2. Intel 8080-8085. System Intel Developemnt Kit.
3. TMS-320 của Texas Instrument về Xử lý tín hiệu số DSP (Digital Signal Processing).
4. Sau cùng là Intel 80286.
Kèm với đó là thiết kế phần cứng kết nối các hệ thống lại với nhau để DSP.
---
Khi về nước 1987, tôi vận dụng assembler để viết phần đổ chữ ra màn hình dưới dạng đồ họa. Lúc đầu viết bằng lệnh Writeln(...) của ngôn ngữ Pascal trên máy XT đời đầu để đổ chữ ra màn hình thì ôi thôi rồi, uống xong ngụm nước và chờ mà chưa xong 1 màn hình. Chỉ có bằng assembler mới giải quyết đc vấn đề tốc độ cực nhanh vì đc tối ưu hóa từng lệnh một. Còn phần xử lý text thì bằng Pascal. Vì vậy BKED là hệ xử lý văn bản tiếng Việt duy nhất có đặc tính nổi bật là màn hình nào nó cũng tự chạy đc. Hồi đó có card màn hình đơn sắc Hercule hay monochrome là khó xài nhất vì ma trận chữ hiển thị rất lẻ 9x16 (9 chấm chiều ngang). Ngoài ra còn có màn hình CGA (320x200), sau là có EGA (640x200).
- Vietstar chỉ chạy chế độ CGA (Màn hình EGA thì cũng chuyển về mode CGA để chạy) nhưng cũng đã có ưu điểm là chạy màn hình đồ họa.
- VNI chỉ chạy EGA, nghĩa là với các màn hình CGA là phải nạp chữ vào con ROM.
Duy nhất BKED hiển thị thuộc tính chữ đậm, nghiêng và gạch dưới cũng như đủ cả chữ hoa và cả kí tự Hy lạp nữa. Đơn giản là nhờ lập trình assembler và đã lập trình đổ đủ các font chữ ra với các thuộc tính khác nhau.
Chốt lại là chỉ có assembler mới làm cho BKED chạy được như vậy. Ngôn ngữ bậc cao lúc đó có muốn cũng không làm được.
Thời đó PC-IBM XT với ổ cứng chỉ có 20 MB thôi. Nhắc lai: hai mươi MB. Còn dùng đĩa mềm 5 inch 1/4 có dung lượng 1.2 MB, nhưng lơ mơ dính tý mồ hôi tay hay đầu đĩa dính bụi nó làm xước đĩa là vứt cái đĩa luôn.
-
Thế mà đã hơn 30 năm, kỷ niệm ngày BKED ra đời đầu tiên năm 1987.
---
Thế hệ sinh viên khoa điện tử lúc đó đc học rất kỹ về Assembler. Sau này họ lập rất thạo nhiều ứng dụng như bộ gõ tiếng Việt, FFT thời gian thực...
---
Ngày nay số người biết assembler ít đi vì có nhiều ngôn ngữ bậc cao. Nhưng Assembler rất thích hợp cho dân lập trình cần tối ưu về mã code và thời gian chạy, thí dụ thư viện xử lý đồ họa.
---
Trong mã máy chúng ta biết phép nhân hai số nguyên 16 bít đc kết quả 32 bít. Cứ nhân nữa thì sao? Tất nhiên phải làm tròn cắt bớt đi. Vậy nên trong máy tính còn áp dụng số fractionaire là số hữu tỉ có giá trị nhỏ hơn 1. Áp dụng nguyên lý tích của hai số nhỏ hơn 1 là một số nhỏ hơn 1 thì ta bỏ đi đc 15 bít bên phải để làm tròn còn lại 16 bit.
---
Mẹo tính sin bằng assembler. Ta tính giá trị sin trong khoảng từ 0 đến Pi/4 rồi cho vào một cái bảng array. Khi tính sin thì thực chất là tra bảng giá trị. Chứ không ai dại tính sin theo chuỗi Taylor bằng assembler. Tất nhiên kích thước bảng bao nhiêu thì phải dự trù trước.
---
Quý vị quan tâm thì nên tải sách dịch này về để đọc:
A Ngon ngu lap trinh Assembly.rar

...moved away from making mimeographs for middle schooling graduation tests.
Chuyện thi cử cách đây 20 năm: Bước đột phá.
#BKED #thicử
Trước 1995, đề thi tốt nghiệp THPT được Vụ THPT ra đề và in roneo giấy nến tại ngay hành lang của Vụ. Khu vực cách ly đơn giản chỉ là ngăn mấy tấm vách, mấy cái bàn. Các chuyên viên quần đùi áo may ô lăn lộn in roneo giấy nến (Lúc đó điều hòa nhiệt độ còn là quá sang). Và mỗi phòng thi nhận được một đề thi đánh máy chữ. Giám thị đọc đề cho thí sinh chép lại đề (hình như mất 30 phút). Bây giờ kể lại thế này chắc không ai tin nổi.
Một hôm tôi đi ngang qua chơi, thấy vậy bèn bảo: Sao các anh ôm đồm khổ thế. Hãy chuyển việc in đề về các tỉnh để họ tự in phát cho thí sinh. Việc bảo mật chuyển đề tôi chịu trách nhiệm.
Anh em Vụ THPT tin tưởng và phấn khởi, lập tờ trình ngay lên cho bộ trưởng Trần Hồng Quân và nhận được bút phê cũng ngay lập tức: "Tôi tán thành, cho triển khai ngay". Sau đó Bộ trưởng ký quyết định 3752-GDDT ngày 12/12/1994 về việc sửa đổi bổ sung quy chế, trong đó quy định rõ năm nay in cho mỗi thí sinh một bộ đề, không chép nữa.
Chiến dịch triển khai triệt để bắt đầu: Tổ chức Hội nghị quán triệt và tập huấn cho tất cả các sở. Đề thi được soạn bằng BKED có cả công thức ngon lành (chuyện chưa làm được trước đó nếu đánh máy chữ), rồi được mã hóa bảo mật, chuyển đĩa mềm 1.44 MB về cho các sở giáo dục tự in ngay ở các tỉnh. Dấu mốc đặc biệt là mỗi thí sinh được phát hẳn 01 đề thi, không còn cảnh chép đề nữa.
Chắc có người sẽ thắc mắc Windows và MS word đâu mà không dùng ? Xin thưa lúc đó máy tính chỉ là AT286 và XT phổ biến. Màn hình thì vẫn phổ biến CGA, monochrome và cao lắm mới có EGA. Windows 95 và word chưa có và chưa vào VN.
Lúc đó tôi được anh em Vụ THPT trọng vọng lắm. Từ cái ăn, cái ngủ, cái đi lại tôi đều được chăm bẵm riêng. Nhưng tính tôi dân dã, đi đâu vui vẻ, hòa đồng. Khi vaò tp HCM, anh em dành riêng cho tôi phòng nghỉ của thứ trưởng tại VP2. Nhưng tôi đâu có ở.
Một vài nhân sự lúc đó tôi còn nhớ là anh Đinh gia Phong (Vụ trưởng, sau đi tham tán giáo dục tại Nga luôn năm sau), Nguyễn Quốc Anh vụ phó rồi lên làm Vụ trưởng ngay sau đó, anh Hiền xoăn, anh Lê Trần Tuấn (chuyên viên đến tận giờ), anh Kiệt ... Anh Lê Quán Tần lúc đó làm giám đốc sở Quảng Ninh, nơi tổ chức hội nghị tập huấn. Sau này anh Tần về làm Vụ trưởng Vụ THPT.
Năm 2015 thì cay đắng, ngậm ngùi chuyện áp dụng CNTT trong thi cử. Chưa bao giờ lại thảm thế. Chỉ có điều là tôi không được tham gia, yên tâm về hưu vui vẻ. Đúng ra thì tôi nhận được lời cảnh cáo ngược 100% với câu "Tôi tán thành, cho triển khai ngay". Thôi để dành lúc khác kể.

On HE 12016-05-08, the author shared his copy of version 6.4 to the public.
Lưu trữ BKED để kỷ niệm.
Một số bạn hỏi xin tôi về bản BKED để kỷ niệm gần 30 năm đã qua.
Xin cám ơn các bạn nhắc lại.
Xin tải về tại đây:

Code: Select all

https://drive.google.com/file/d/0B52RPjPW-y74aC04MjFvRVRMVUk/view?usp=sharing
You do not have the required permissions to view the files attached to this post.
My username is read as "flatorte".
[deleted] posts index
New avatar source
Old avatar source