Systems - NedoOS origins: The history of NedoOS goes back to the distant 90s.

NedoOS: origins 
Alone Coder 

HistoryNedoOShas roots in the distant 
90s. In this article I will try to help─ 
Imagine how it all happened. During this time 
many concepts have changed, pictures have been drawn 
tinks and diagrams were written and thrown away ku─ 
skiy code and individual utilities, but everything was there 
wasted until gold was finally found─ 
that core :) 

   I've been on Spectrumsince1991. When he
appeared, I already knew BASIC roughly
(withRadio-86RK). I wrote games on it - "Ugh─
give a number", "Point", "Python", "Horses on 
hippodrome","Dot over i", "Jumping 
through the stone." There were also microdemons on Basie─ 
ke. Sometimes I typed "piano" type 10 BEEP 
.1, CODE INKEY$-60: GO TO 10or cycles you─ 
memory dump water.But from all my programs
of the tape era, only the graph has survived─
physical editor  "Drawing point" of 23
lines (1992). Preserved because it is unified─
This was written down on paper. And it was written
he is most likely influenced by the bookDyako─
new. I think many wrote the same "edit" 
tors". So I began the path of a system programmer─
mschika...

 10 LET a=100: LET s=100
 20 INK 7: PLOT a,s: INK 0: PLOT a,s
 30 IF INKEY$="5" THEN GO TO 90
 40 IF INKEY$="8" THEN GO TO 100
 50 IF INKEY$="7" THEN GO TO 110
 60 IF INKEY$="6" THEN GO TO 120   70 IF INKEY$="0" THEN GO TO 130
   80 GOTO 20
   90 LET a=a-1: GO TO 20
  100 LET a=a+1: GO TO 20
  110 LET s=s+1: GO TO 20
  120 LET s=s-1: GO TO 20
  130 INK 0: PLOT a,s: INK 7: PLOT a,s
  140 IF INKEY$="5" THEN GO TO 200
  150 IF INKEY$="8" THEN GO TO 210
  160 IF INKEY$="7" THEN GO TO 220
  170 IF INKEY$="6" THEN GO TO 230
  180 IF INKEY$="0" THEN GO TO 20
  190 GO TO 130
  200 LET a=a-1: GO TO 130
  210 LET a=a+1: GO TO 130
  220 LET s=s+1: GO TO 130
  230 LET s=s-1: GO TO 130

   Изучал ассемблер я с 1993 года, когда у
меня появился дисковод. Первые попытки бы─
ли  неудачные - первый скролл  влево  я не
смог зациклить на весь экран, игра "Падаю─
щие камни"  через  RST 16  не  заработала. 
True, I assembled it manually, using a table─
there are no command codes. Because of these failures, I have been
stuck to BASIC for a while because it was easy to use─
to debug. Stopped, corrected, continued─
lived. This is how the animation editor appeared "Anima─
tor"  (1993) - descendant of  "Drawing point", 
even got to some city con─
course, where it could not be launched successfully.
You can look at this masterpiece inACNews
#53 :) I started writing a new graphic 
editor in BASIC (with menus in the bottom
two lines of the screen - I learned how to bake there─
thief!), and started with useless functions─
tions "triangle" and "filled circle". In this
project, I have already encountered the disadvantage of Be─
Ysika - his inconvenient editor. I fiddled
with him for a long time, but nothing remained from him─
what traces? Unless I came across it somewhere
filling procedure in BASIC and rice itself─
the appearance of the filled circle - it went into space─
Russian simulator "Space" in BASIC (1995),
which can be found in Info Guide#10.
 At the same time, I wrote a disk doctor,
loader forBeta Basicwith effect, a couple
tests from some book (one survived)
and other little things. But the main project I re─
I was trying to make a new graphic editor -
already in the codes, inGENS.And the procedures for it
written as if it was a new collection─
nicknameSupercode,and were immediately optimized for
size (some of them are completely insane)
useful for a graph editor).As far as possible
reconstruct from papers and catalogs per─
new floppy disks, the first procedures were as follows:
 - shift to the right (some kind of madness at first─ 
ny, through IX, then 17 bytes) 
 - effect on the "exploder" attributes
 - screen appearance without attributes (49 b)
 - scroll left (17, then 16)
 - scroll left cyclic (24, then 23)
 - scroll right cyclic (24)
 - scroll up (82, then77, then 54)
 - scroll down (82, then 77, then 54)
 - scroll up cyclic (79, then 75)
 - scroll down cyclic (79, then 75)
 - flashing random attributes
 - FASTLEFT(105),FASTRIGHT(105) (does not help─ 
nude, what is it - is mentioned on paper, but on 
no disks) 
 - screen inversion (12)
 - Flip horizontal (61)
 - Flip vertical (49/78)
 - Rotate 180
 - Move code
 - Font flip horizontal (22)
 - Font flip vertical
 - Font rotate 90
 - Set attributes
 - Screen memorize (13)
  - Screen recall (12)
  - Flip horizontal
  - 64 print
  - Attrs invert (30, потом 14)
  - Screen Grid (26)
  - Grid-
  - Exchange (17)
  - Merge (17)
  - Running line
  - Border lines
  - скролл 8x8 (81)
  - UpA (21)
  - Fast CLS
  - hexprint
  - Hex Dump
  - Waves standard
  - New waves
  - Repeat (12)
  - ввод числа накруткой (для игры Губер─ 
натор) 
  - L4(17), R4(17), L2(23),R2(23),LRIPPLE 
(12),RRIPPLE(12),lshutter(12),rshutter(12) 
  - расчёт адреса на экране DE->HL (29)
  - W LEFT, W RIGHT, W INV, W CLEAR
  - W PUT, W GET
  - M RIGHT, M LEFT, M INV, M CLEAR
  - POINT (28)
  - PLOT (56)
  - FILL  (сначала  рекурсивный алгоритм, 
потом с буфером на 256 координат) 

   Осенью  1994 года я завёл отдельную об─
щую тетрадь под проект графического редак─
тора, в  ней  распределял адреса процедур,
начиная  с верха памяти. Они шли в следую─
щем порядке: Undo,Ok,Remove,Grid,Addrcalc, 
PLOT, POINT, FILL, FILLING, CLEAR SCR,CAT, 
CONTRAST,CURSOR. Процедуры компилировались 
по одной и тестировалисьfrom BASIC. Riso─
editor menu shaft, window view scaled─
niya... and then abandoned everything. Apparently because
that I realized that I would never use this method
I'll write a better editorArt Studio!
 By that time I had already communicated with two
other programmers -Nikolai Medveda─
you and Sergei Galishnikov. And this means 
there was an incentive to show them something ready─
voe.Therefore, from the graphic editing procedures─
who was written by December 1995Font
editor. Then he developed it for some time─ 
sya, and version 2.06 also went to the competition. B
this editor has already been implemented
local (more precisely, sighting) system, with motor─
by moving the cursor pixel by pixel (in the first version
this was familiar). File operations
were written in BASIC. Due to assembly
parts of the complete source were not available, so
According to the requirements of the competition, I made a collection─
a new “printout” in a notebook by hand.
   Summer1996I tried to write my own─
national debugger (and in the screen area─
sti), the disassembler wrote - and he took
as much as one and a half kilobytes. I had to cancel─
power this project. The disassembler can be found
in the appendix toZX-Guide #4.5.
 At the end 1996 after the prototype in BASIC
I implemented the gameSapper'96 - there was already
window system with a movable window. Od─
him. And at the same time it was the first big pro─
gram, which I compiled in its entirety.
It was not easy, because my48Kto─
The computer began to glitch ungodly, especially during
saving time to disk. In practice this
looked like this: first I prepared the procedures
on paper, then typed them into the source code and
I immediately saved it under a different name. Only
after that it was possible to test. Until now
I've been doing this for a long time now :) Only instead of paper these─
first text files...

   In February1997I wrote a chunk
editorPAINTBRUSH (see Info Guide #12 ).
It didn't have a save menu, but it did...
new interface with color selection arrow, and
also withseveral zooms (but edited─
it was possible to write only in 4x4). I wrote it
still inGENS,but switching toMASMon mine
The new128K greatly sped up my development.
   Then or a little earlier I will sell─
I was thinking about the concept of a multicolor editor.
There should have been menus on the left and right─
va (according to the multicolor limitation  8x1 - 24
familiarities on Pentagon, see ZX-Guide #2),
icons on buttons, in zoom mode in the corner
the screen should have been shown in 1x1. But
the idea was abandoned, a year later I wrote
another multicolor editor, simpler.
   But I planned not only cool
multicolor editor, and the whole system
likeWindows,drew a proportion for it─
digital font, screen mockups (you can
see in the application), did a text re─
daktor with line breaks, studiedFAT,wrote
viewing pictureswithMS-DOSfloppy disks - see─
rel them in the primitive ancestor of the modeR-Mode.
 I thought "why are we worse iS-DOS?" and wanted
come up with your own disk format. But constant
disk errors and the need to use─
FUT have put their heads in place, so
my imagination was limited to storing directives─
tory as files - in the demo version "Norton-
commander" (already in assembler ALASM). By the way─ 
ty, he didn’t know how to compact such a disk, and no one
I couldn't.
   It was  1998 . I entered the radio market and
released the text editor first
ACEdit, and then - at the end of the year - magazine 
ZX-Guide #1. There was already a multi-window si─ 
theme (single-tasking), where the background is under the windows
saved to a stack type buffer. In the next 
1999, at the request of the now deceasedIgo─ 
Rya Chirtsova from Barnaul tried to do it there 
scrollbar and turn zhur─
cash to the library, which could be used─
Anyone can call. It was so called─
built "ZX-Guide #1.5". He didn't go anywhere
(not counting  ZX-Guide #2.5 trash ), because
that by that time I had already switched to pla─
explicit frame leaflets.

   I didn't like the standard video mode
6912.I soldered a simple circuit 384x304 and on─ 
wrote a leaflet for texts with a width 80 sim─
oxen, which were copied to me fromIBM PC.
There were versions for TR-DOS floppy disks (in ZX-Guide
#2 ) and under  MS-DOS floppy disks (January 2000 ), 
both are in source only. At the same time I pi─
sal editor for color per point "8 color
editor", minus the first version of which was 
same ZX-Guide #2.5 trash. Design (without─
possible, and with pieces of code) was taken from that
PAINTBRUSH.But most importantly, I invented
scheme  384x304 and at the same time didn’t think about it─
Xia that a graphic editor should edit─
Do not tile256x192,but the picture is arbitrary─
new size! We went through the same mistake
authors of other graphic editors on
Speccy... 
In May of the same2000year I wrote ANSI
viewer. It was some progress, 
since the screen size was adjusted there
- at least in height. Text editor
ACEdit was also redone - for regulation─ 
screen width and command support
linesTR-DOS.Command line support,
MS-DOS floppiesANSI,different screen sizes─
did not bring me closer to certain standards,
but for some reason all these features ended up in
different programs! I didn't integrate the program─
together with each other, although I dreamed of
this. In the fantasy story"Was there
crisis?" ( ZX-Guide #3 - end 2000 year) 
you can even come across the following phrase:  "Alone 
Coder didn’t go to “Zosen”, didn’t read “Skla─ 
vku", did not buy games of questionable quality─ 
va, and sat peacefully and practiced integration. 
moving the MPEG video player into a new version 
your Inet browser for Spectrum..."  And 
it wasn't exactly a joke - at the time I
studied at the institute  HTML, and at the end 2001
wrote ACEdit>html converter  (by
request Unbeliever ) and with his help you─
launched  ZX-Guide #4 html version, which
It’s still on my website. You don't
believe me, but the browsers of that time displayed
its866encoding is correct :)

   So (I assumed, having acquiredPentagon
1024 ), if we are writing an operating system, 
then it should work with a bunch of formats
files. For example, with archives that
come from Fido (we had fidosh in our group─
nickname-realist - T(c)S).Ideally, even work─
sneak across the background. What did we have with the standard─
rich archives? Onlypkunzipand non-working
demo versionZXUnRarfromAIG.At the end2002
I started hacking and fixingZXUnRar,
so almost nothing from the original code
there are none left.At the beginning2003became dora─
bat JPEG viewer; my first acceleration
included inBorn Dead #0G,released April 1─
la. Then I learned how to do auto assembly in
ALASM (packers  mrip*.H and m2hr*.H ) and in 
released the first version in June ZXRar. And ok─
This year fixed  pkunzip 1.41 for support
SCL.I also finalizedPro Tracker,ALASM,
STS,Hrip,Perfect Commander andMr Gluk Reset 
Service. Thus, in my hands 
turned out to be system programs from ten
different groups of authors who are not at all
managed to combine into one!

   Of course, I was not sitting in a vacuum. And not
I only studied other people’s systems, but also publicly─
shaft in the description journalDISCiPLE/+D,ZXVGSand  ChaOS. But what I saw in them looked like─
the matter is completely perpendicular to mine for─
dachas I didn't even see the possibilities in them
practical use! And for me this
was the most important thing. In my head I'm already
abandoned the windows and arrows - even the new one
shell for the magazine  (Inferno Guide #5)
made it without them.
   To attract people with new concepts─
mi, began to distribute programs in exodus─
nikah, with auto assembler mkace (August 2003).
And in September 2004  expressed in ZX.SPECTRUM
the idea of "making friends with programs in memory" to
they didn't interfere with each other. This would allow
edit different formats in parallel
data without restarting the computer. To me, according to
experience with Wolfenstein 2004,it was very
important. What was required for this? For this
required in system work programs─
not with physical page numbers, but with
ordered. But I couldn’t organize
workflow. (ZXRar, ZXUnRar, pkunzip,
JPEG viewer and Pro Tracker will still help─ 
lived with each other - but this happened
only after 15 years.)
   I expressed the following idea inACNews #35
- before writing a full-fledged commander under 
FAT32  support the screw as  TR-DOS drive with 
“hypertransitions” (by that time I didn’t care─
gave a screw controller, and in January 2005 I
wroteHDDoctor).This idea is immediately outdated
after the appearance of DNA OS,but support
TR-DOS at the virtual file system level─ 
themes were then reflected in NedoLang
and in the kernel  NedoOS. Surprisingly, in ANSI
viewer,ZXUnRar,pkunzip and JPEG viewerlike this 
the approach was not visible, it was not in
ZXRar. But  ZXRar is a different story, and I 
I regret that I started writing it specifically for
128K.There is absolutely no room left for the holes─ 
small code, it's just noodles, understand it─
after many years it is almost impossible.
   At the same time, I thought through the ideology of the editor─
text of arbitrary length (and
did not implement) and the concept of the keyboard driver─
tures with processing upon pressing and boo─
event pher. This driver is in December2004
got into ACEdit v0.89 and turned out to be such a success─
We know that later he went to  TFM Instrument
Editor, and then into the kernel NedoOS - too. 
I carefully studied the systemDNA OSand
kept his finger on her pulse the whole time. B2005
year I added a save thereTRD,so
that the system has become my working tool─
volume on  Pentagon 1024 and on ATM-Turbo 2+,
which was also given to me. I'm sometimes underwhelmed─
laughedATM-Turboin programs, but with inspiration─
I got hooked on this system only when I saw
its graphics in color per point. In October 
2005I learned to program this 
graphics and usingKSA-7GandJohn Sil─
ver' soldered a similar circuit 16col for Penta─ 
gon. It didn't reach MPEG video, but it's over 
years ago I already played a movie in color on
point from the CD, and in January we
Shiru  ported the game to the Spectrum Time 
Gal. But it turned out that it turned out to be 
the only CD game for the Spectrum. After all
It was already2006year.

   It was2006year. AfterChaos Constructions
2004 depression on the platform was obvious: 
serious games and demos disappeared, the only one─
The new outlet was thatCHRVandKOEbecame
produce new boards and something else better─
competition "Your game" was running.Also addressed
Please note thatMaksagorwith a group of comrades
wrote some wunders that were incomprehensible to me then─
waffles onCP/MandiS-DOS (TASiS).Of them from
all I used was a CD copier,
and then only during developmentTime Gal.And in─
I have a question - how to avoid falling into such a trap─
shku, like an operating system that is needed
only to its authors? What should she do before?
put to the user? And I started writing
browser.

   In January  2007 I had my first year
experience with MSX-DOS (port of the game Ball Quest under
MSX ). There I evaluated file operations, co─ 
which were not on TR-DOS,but I haven’t seen them yet
for yourself an operating system that does not
works from a regularTR-DOSdisk. This is vyg─
looked like a wall for a novice user─
body Back then I didn’t even know how to create
imageHDDwithFATfor the emulator. And most importantly -
I programmed inALASM,which means that
my sources were in TR-DOS format. I think
got burned out on this andVitaminwithChaOS.He has
The disk just ran out...

Share your thoughts about the article