nedoPC SDK

Software Development Kit for DIY programmable devices and retro computers

Public Chat
Similar projects worth following
I work on nedoPC SDK since 2001 (prior 2004 it was called RW1P2). SDK uses my own high-level programming language Robby (previously known as RW1 v2) that is kind of simplified C which is having only 16-bit variables and intermediate byte-code representation.

As I wrote above, before 2004 nedoPC SDK was called RW1P2 (Robot Warfare 1 Platform 2). A few versions was officially released:

  • RW1P2 v1.0 (28-APR-2001) - cross development for Orion-128 and ZX-Spectrum using 8080 coding and tiled graphics
  • RW1P2 v1.1 (15-MAY-2001) - cross development for Orion-128 and ZX-Spectrum
  • RW1P2 v1.2 (16-JAN-2002) - cross development for Orion-128, ZX-Spectrum and Radio-86RK
  • RW1P2 v1.2.1 (18-JAN-2002) - cross development for Orion-128, ZX-Spectrum and Radio-86RK
  • RW1P2 v1.3 (20-JAN-2002) - cross development for Orion-128, ZX-Spectrum, Radio-86RK and Spetsialist
  • RW1P2 v1.4 (12-JUN-2002) - cross development for Orion-128, ZX-Spectrum, Radio-86RK, Specialist and also Z80 specific coding for ZX-Spectrum (with TR-DOS support) and PetersPlus Sprinter
  • RW1P2 v1.5 beta aka Sprinter SDK (26-APR-2003) - only Z80 specific coding for PetersPlus Sprinter and only for Windows
  • Never released version of nedoPC SDK (last update 23-JAN-2006) - added pixel level graphics for ZX-Spectrum and nedoPC font 8x8 pixels

Also almost since the beginning I wrote some m68k-code to support Palm Pilots and x86-code to support IBM PC in RW1P2, but this effort was never completed.


It looks like in 2001 I took 16-bit math subroutines for 8080 microprocessor from SMALL C v2.1 by Jim Hedrix ( )  - more precisely from CLIB.ARC text file and it's having its own copyright: Small-C Library:  Copyright 1984 J. E. Hendrix, L. E. Payne

Also I used opensource software (with unspecified license) from 2 other people:

  • bin2rss.c by Viktor Pykhonin and
  • bin2trd.c by Copper Feet (Vyacheslav Mednonogov)

History of RW1 programming language started in 1998 when I released shareware game for programmers called "Robot Warfare 1" (it was featured in a few Russian computer magazines and British magazine "Computer Shopper" in 1999):

Programming language RW1 v2 (created by me in about 2000) was more C-like:

and this version recently became programming language Robby (I wanted to call it "Roberta", but then I found out that this name was already taken by some robot related programming language).

Purpose of this particular Hackaday project is resurrection of nedoPC SDK as a new fully open source software development kit for DIY programmable devices and retro computers with new GitLab repository:

  • Circuits.CC is back

    SHAOS05/11/2019 at 03:26 0 comments

    Yesterday I released new version of http://Circuits.CC web-editor for schematics and PCB in ASCII (kind of) - this version 0.3 (released 6.5 years after v0.2) has Rgrid.js as AJAX engine with virtual machine that is capable of running multiple "robots" written in Robby programming language (formerly known as RW1 or "Robot Warfare 1"). As in the last version it has robot-librarian that handles library of components on the left side of the screen. Now I rewrote back-end from Hope programming language with SQLite3 database to PHP programming language with MySQL database - now it's working a little faster and it should have some room to scale. And I even added comments with help of IntenseDebate service :)

    As I already mentioned in previous log, Circuits.CC had a little peak of popularity (kind of) at the end of 2012 when Dangerous Prototypes and Adafruit blogs wrote a short articles about it:

    In August 2017 I switched Circuits.CC back-end off after moving to another server, but I saved a database with full history of all (almost 100,000) user clicks since November 23rd, 2012 (with IP-addresses and Timestampes after December 5th, 2012) so recently I decided to make an animated movie clip from it to visualize that history and yesterday uploaded it to YouTube - see what 1000 people did with it in 100,000 mouse clicks ;)

    As you can see at the end of this video I used this editor to draw schematics of XORYA in 2015 (and in the last year I used the same Rgrid-engine for TERNARO web-site).

    So now Circuits.CC is alive again! Welcome to try it - in near future I will even add ability to write your own "robots" - Rgrid.js performs simultaneous interpretation of multiple robots in the same time (actually it's more like compilation to JS than interpretation). Enjoy! :)

    You can find all source codes on GitLab:

  • Robot Warfare 1

    SHAOS05/19/2018 at 18:35 0 comments

    As I wrote in details of this project, programming language that I use here came from my "hobby" game "Robot Warfare 1" that I released in 1998 as shareware - it was used to program robots - something like this:

       % ================= WSIMPLE.RW1 ==================
       % Example of simple robot 
       % with an eye
       % and a gun.
       % Run:    RW1_DUEL.EXE  WSIMPLE.RW1
       ROBOT "WinSimple Robot"
         COLOR FFD010
         FRONT EYE
         LEFT  GUN
         ACT FRONT        % Look in front
         if N!=6 : L1     % If there is a robot there then
            ACT LEFT      % shoot
            GOTO START
         if N!=3 : L3     % If there is a box with missles then
            STEP          % go ahead
            GOTO START
         L3:              % If there is neither box nor robot then
                          % it means that there is a barrier in the direction 
         if D==1 : L4     % If the distance from it is greater then 1 then
            STEP          % make a step
            GOTO START
         RIGHT            % If the barrier is in the next cell
         GOTO START       % turn to right

    In 1999-2000 I upgraded this programming language for "Robot Warfare 1" v2  to make it more C-like (in the same time I released its compiler as open source software under GPL) - now simplest robot looks like this:

    robot "NewSimple"
    author "SANYA"
    color 000030
    front eye
    left  gun
    right gun
       act front
       if(N==@t_robot) call shoot1
          say "See &N ( &D ) M=&M E=&E !"
          if(N==@t_box||D>1) step
             if(R>500) right
             else left
      A = @left
         call shoota
      act A
      act A
      act A
      act A
      act A

    then I created RW1P2 - crosscompiler that compiles robot bytecode to i8080 assembler program using some set of rules and libraries, for example we can have a tile 8x8:

       ########  => #FF
       #      #  => #81
       # #  # #  => #A5
       #      #  => #81
       #      #  => #81
       #  #####  => #9F
       #      #  => #81
       ########  => #FF

    with black ink and red paper - it's hexadecimal 40:

       ;myspr.spr file
       MYSPR  DB  #FF,#81,#A5,#81,#81,#9F,#81,#FF,#40 ;@ 

     then tile compiler will turn it into binary with header file that could be included into the program:

       // MY.RW1
       robot "MY"
       author "Shaos"
          dx = 20
          dy = 10
               select xx yy // choose cell for tile output
               set @MYSPR // print tile there

    Most significant thing that I did on this programming language was port of "Just Another Tetris" (GPL software by Mattias Wadman) to PetersPlus Sprinter computer in 2002 (and other computers supported by RW1P2):

    P.S. Another pretty noisy thing written in this programming language was ASCII PCB and schematics online editor at the end of 2012, but it is totally different story ;)

View all 2 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates