BKscope
Nick/Realname: Stanislav Maslovski Group: FORTRAN LOVERS Full name of work: BKScope Duration: 3 min Contact: stanislav.maslovski@gmail.com Compo: БК-0010-01, 0011М 512b intro Requirements: БК-0011М Show notes: ,do .'',d;. ..'::. ':. .''''. .:' .::'.. .;d,''. od, ,..,.xooood. .....,.... :' ,. .'',cxxc,''. ., ': ....,..... .doooox.,.., ..cc.. o:. d. .;;. ..:dx'.'loo;....;ool'.'xd:.. .;;. .d .:o ..cc.. 0c .....:;. . '... oodl;: ,xd dx, :;ldoo ...' . .;:..... c0 :Xc ....; .'. ;. ;. ;:. .ll ll. .:; .; .; .'. ;.... cX: dO; .. .:.... ;. . ... ';. .:: .c;,oo,;c. ::. .;' ... . .; ....:. .. ;Od : .. ;,. l. ..'. ...:c. ::;;lo'.d::cc::cc::d.'ol;;:: .c:... .'.. .l .,; .. : .,;,;. .:,.',,:lll. .'d::ccc.;: :;.ccc::d'. .lll:,,'.,:. .;,;,. ......'. .'...Oc. .;c;d' xo. .ox 'd;c;. .cO...'. .'...... ;'. . .,,cc.,0 ;. ;xx . ..Kc .oo. cK.. . xx; .; 0,.cc,,. . .'; :;. .. ..,. .x ..', ;dc ..,k,x,.' ol''''lo '.,x,k,.. cd; ,'.. x. .,.. .. .;: x. .c,.'. ...lc:cd:.,:....... .l,'.,xx,.',l. .......:,.:dc:cl... .'.,c. .x ..':c. .:x::. ;l; . . . . ;l; .::x:. .c:'.. ...'x'. .; ;dl.,. .,Xc '. .' cX,. .,.ld; ;. .'x'... '.,0 .cx;;ol..'..;;o' ============ 'o;;..'..lo;;xc. 0,.' ..,0 .cx;;ol..'..;;o' BKSCOPE 'o;;..'..lo;;xc. 0,.. ...'k,. ; ;dl.,. .,Xc .. ============ .. cX,. .,.ld; ; .,k'... ..';:. .;xcc. ,l: .. . . .. :l, .ccx;. .:;'.. k. .c,.,. ...l:;cd:.,:....... .o',.,kk,.,'o. .......:,.:dc;:l... .,.,c. .k ;;. .. .'. 'k ..', ;dl ..,k,k; . lc''''cl . ;k,k,.. ld; ,'.. k' .'. .. .;; ;' . .,,cc.,0 :. ,xx . ..Kc .cc. cK.. . xx, .: 0,.cc,,. . '; ....'.'. .'...0l. .;c;x, dd' 'dd ,x;c;. .l0...'. .'.'.... .';,;. .:'.',':lll. ..o::lll';; ;;'lll::o.. .lll:','.':. .;,;'. c .. ;;. c ..'. ...cl. ;;,,cl'.occllccllcco.'lc,,;; .lc... .'.. c .;; .. c d0; .. .c.... ;. ... ';. .:c .:,'ll',:. c:. .;' ... .; ....c. .. ;0d ;Xc ...., .'. ,. ,. ;:. .ll. .ll. .:; ., ., .'. ,.... cX; 0c ....:;. . .... oddo:: ,xx. .xx, ::oddo .... . .;:.... c0 ..:l'. l:. d. .;:' ...;dd'..ldd;....;ddl..'dd;... ':;. .d .:l .'l:.. ' ',.xddddx. .....,.... :'. '. ...':xx:'... .' .': ....,..... .xddddx.,' ' ,xd ...'d:. ..,::' ':. .''''. .:' '::,.. .:d'... dx, C 1 2 3 4 5 6 7 8 C2345678901234567890123456789012345678901234567890123456789012345678901234567890 C C C This program was inspired by the legendary Altair 8800 "Kaleidoscope" C C program written by Li-Chen Wang in 1976 for the Cromemco Dazzler graphical C C adapter. His original algorithm was ported to БК-0010/11М. C C C C In order to enable sound generation, some details of the bit mixing C C code were changed. The original program for the Intel 8080 microprocessor C C used 89 instructions. My program for K1801BM1 microprcessor is C C 252 bytes long and has 96 instructions. C C C C And it generates sound! In fact, it is tuned for better sound. C C C C **************************************************** C C * TRY PRESSING "СТОП" WHEN PLAYING AND LOOK FOR EGGS * C C **************************************************** C C C C While working on this code, a HARDWARE BUG was found in the K1801BM1 C C microprocessor, which was not known for MORE THAN 35 YEARS from the time C C when K1801BM1 first entered the market! C C C C In this sequence of instructions: C C C C MOVB <src>, <dst> C C BCC <label> C C C C the control is transfered to <label> independently of the state of the C C carry flag that was there before the MOVB instruction C C (which must not affect the carry). C C C C A workaround is to insert another instruction (ex. NOP) C C in between the two. C C C C ( NO, THIS PROGRAM WAS NOT WRITTEN IN FORTRAN ) C C C C HAPPY PUNCHING!!! C C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC Quick How-To: Download an emulator for THE GREAT Soviet personal computer БК-0011М. On Linux, I recommend bk-terak-emu [1]. On Android, bkemu [2]. On Windows, the BK emulator from gid [3]. The program was tested under all of them. Gid's emulator can also run from under wine on Linux. However, I recommend bk-terak-emu for a smoother playback. You can either load the bin file into the emulator (in bkemu) or use the provided MK-DOS disk image (in bk-terrak-emu and gid's BK). For bk-terak-emu under Linux, run bk -3 -c -A bkscope.bkd For gid's BK.exe on Windows, run the program and select the machine type "БК0011М + стандартный НГМД" from the drop-down menu "Конфигурация". Next, click on the diskette image, navigate to BKSCOPE.BKD, and click "Open". Now, restart the emulated machine by selecting the item "Рестарт БК" from the menu "Конфигурация" (the first item in the menu). When in MK-DOS, use the arrow keys to navigate, and hit <RETURN> to run. Do not forget to look for EGGS :-) For bkemu on Android, from the app menu select "Change Model" and then "ВК 0011M (MSTD)". Next, from the app menu select "Open .BIN image" and navigate to the downloaded bkscope.bin. A notification should appear saying "Start address 01000, length 252", this means the program is loaded to the memory. Now, tap on the keyboard icon on the top bar. Enter MON and hit <RETURN>. Now you are in the monitor (BIOS). Enter 1000 and hit G. The program will start. References: [1] https://github.com/frantony/bk-terak-emu [2] https://github.com/3cky/bkemu-android; Google Play [3] http://gid.pdp-11.ru/
[ back to the prod ]