Image Map Image Map
Results 1 to 8 of 8

Thread: Okuma's (mini)computer from 70's NC lathe

  1. #1
    Join Date
    Apr 2014
    Location
    Finland, Lahti City
    Posts
    6

    Default Okuma's (mini)computer from 70's NC lathe

    Hello! This is my first post here, I hope you enjoy this topic of rare computer which I got couple years ago.

    I'm pretty sure almost nobody have seen this type computer ever, because this is from NC lathe from 70's and it is only used couple models between 1972...1980, very few have survived. Somebody could say "how cares about some automation computer, there's millions of them", but this is very advanced device of it's time and it is real TTL-based (74181) minicomputer woth ferrite core memory, not some another Intel 8088 based system (there is millions of them, I know...).

    Computer is called OSC-2 (or whole control system OSP-2200) and used (at least) Okuma LS-N 10 lathe. Computer have made by Okuma Machine Tool (or I believe, there is possibililty they have bought technology some other manufacturer and put their label on it), same company who made whole lathe. This manufacturer is still alive and one of most recognized machine manufacturer these days.

    What here's the point, I have planned to reverse engineer whole computer, because there is no information at all how this really works (it is from NC machine, manufacturers keep secrets their own, even after 40 years... ), only couple pages in maintenance manual how to put bootstrap loader to core memory (operating system had to upload to core from paper tape, so there is possiability to update firmware ) and some diagnostic functions.

    This one which I have is little bit damaged. I try to find another one to fix this up, but all main components are still there.






    And here's video of same type machine, if you don't any clue what is NC lathe (notice nice Nixie tubes!)




    As we see, switches in front panel are like any other minicomputer. There is 16-bit DATA/INSTRUCTION switches (computer still seems to be 8-bit or at least handling data in 8-but chunks), 4-bit REGISTER swithes (maybe there is accu at all?) and mystery 10 bit FILE switches, which could be like "sense" swithes on other same era's computers (just IO port which you can read in program), but I'm not that sure, later more about this mystery... Also there is RUN, STEP and etc. switches, which pretty basic for this type computer.

    Ok, let's check the boards, only interesting boards are core memory, FILE, INR, PROGRAM CONTROL and DATA boards. All other are related IO.

    DATA board

    Original: http://i215.photobucket.com/albums/c...4.jpg~original

    DATA board seems to be really ALU, maybe this is some kind of Japanese logic, who knows... At least there is 2x 74181 alus. 16x 74150 multiplexers and 6x 78198 shift registers. Note that 74181 is not L or LS model, just regular.


    INR board

    Original: http://i215.photobucket.com/albums/c...0.jpg~original

    Here we can find 5MHz quartz and weird hybride chip which says "DELAY LINE" (top right). What for, it is hard to say this point. I think this board is some kind of sequencer. Anyways, 5MHz is quite fast for this old automation equipment, but it is really needed, because this lathe could do realtime circular interpolation which requires some calculation power (however, it is done square root based algorithm, but that's whole different story).


    PROGRAM CONTROL

    Original: http://i215.photobucket.com/albums/c...2.jpg~original

    There's nothing much where to start. Couple 74S83 4-bt full adders, and DM93 tri-state drivers. Also there is dip-switches for core size (8kb or 16kb).


    FILE BOARD

    Original: http://i215.photobucket.com/albums/c...7.jpg~original

    This is interesting... There is 3x 74181 ALUs (again?) and 8x Hitachi HM2510-1 1024bit memory chips. How this is related FILE switches (10-bit switches, 1024 addresses...)?


    Core memory








    Core memory has really tiny rings, maybe last ferrite cores what ever made. It is really amazing why anyone would use core memory still at 1979, there was battery backed up SRAM (and bubble memory) available..?



    Continues....
    Last edited by Jonne; April 28th, 2014 at 11:50 AM.

  2. #2
    Join Date
    Jan 2014
    Location
    Centero
    Posts
    6,806
    Blog Entries
    2

    Default

    Very high quality stuff.

  3. #3
    Join Date
    Aug 2009
    Location
    Oslo, Norway
    Posts
    1,225
    Blog Entries
    3

    Default

    Interesting. Does this computer have any way to input data other than the front panel? Paper tape reader perhaps?
    Torfinn

  4. #4
    Join Date
    Jan 2014
    Location
    Centero
    Posts
    6,806
    Blog Entries
    2

    Default

    On that type of machine, typically called a "Tape Lathe", it would almost certainly use paper tape as the primary input.

  5. #5
    Join Date
    Apr 2014
    Location
    Finland, Lahti City
    Posts
    6

    Default

    Quote Originally Posted by KC9UDX View Post
    Very high quality stuff.
    Thank you! Pictures are not that quality, I'm sorry about that. I have to take some better pics...


    Interesting. Does this computer have any way to input data other than the front panel? Paper tape reader perhaps?
    On that type of machine, typically called a "Tape Lathe", it would almost certainly use paper tape as the primary input.

    Firstly I have to say (so nobody get confused) NC programs are not machine code, it is interpreted language of motion, canned cycles and IO funtions. This just is for machine movements. Here's sample:

    N100 M3 S500; turn spindle on 500rpm
    N110 G50 ; work coordinate system G50
    N120 G94 ; feedmode is mm/r
    N130 T0101 ; turn turret to tool no.1 pos, use tool offset no.1
    N140 G00 X100. Z100. ; rapid movent to point X100. Z100.
    N150 G01 Z-100. F0.21 ; move with feed to Z-100. 0.21mm per spindle round
    N160 G02 X110. Z-105. R5. ; arc to clockwise direction, same feed, radius is 5mm*
    N170 G00 Z100. ; rapid movent back to home
    N180 G00 X100.
    N190 M30 ; end of program, rewind tape (or jump first line)

    *(I'm not sure was Okuma capable to use "R", older way is use circle middle point with "J" and "K", this probably is related how interpolation algorithm is done...)


    Yes, there is paper tape reader and also port for puncher. I'm not sure how standard that port really is, I have ASR-33 (with Nokia's logos, but no Microsoft involved ) maybe I can get these two married together...



    Also this Okuma is capable to store NC programs it's memory and run from there. I suppose those are stored to the core belong OS. Also those programs can be edited via operator's panel (that box with Nixies and all switches), so it is more close CNC (Computer Numeric Control) than NC (Numeric Control = just read the tape) especially because it has very advanced function, LAP which means automated shape prosessing. User have to just descript profile of the piece what we want to do and machine does rest. Something like this:




    That time there was really hardcore programmers, 4kb...8kb size OS is capable to handle all these functions, closed-loop motion control (acc/dec ramps, interpolation), path prosessing, machine IO logic, even first two are only time hungry interrupted realtime tasks. Especially this computer not have floating point capability either multiplication or division (I'm pretty sure of that)... Many other CNC used at that time some lot more powerful(?) computers like Bridgeport use Dec's LSI-11/02 (btw, I have one of those too waiting some inspection...)

    Before minicomputers all motion based on TTL chips or some other weird stuff (like ramp generators from DAC and counters). One example is Fanuc 20C from early 70's, it have very computer like features, data and address bus, but it is truly not computer (no rom or OS), it is just fancy TTL interpreter for NC code.

    After minicomputer era (late 70's / early 80's) came DSP's and special motion ASICs in picture, like Siemens which uses Signetics 8X300 for motion processing somewhere and Fanuc compose their own motion chips. Mostly of these use Intel 8086 as main CPU. These days all are FPGA based, I think...

    More to come later, some findings from maintenance manual!


    Ps. It seems program counter is in PROGRAM board, there's 4x 74161 counters. Makes sense (or not )

  6. #6
    Join Date
    Apr 2014
    Location
    Finland, Lahti City
    Posts
    6

    Default

    Maintenance manual have only about 10 pages of computer related pages, but very useful information:


    Original http://i215.photobucket.com/albums/c...6.jpg~original


    Original http://i215.photobucket.com/albums/c...7.jpg~original


    As we see, here is test tape diagnostic info. Also we can see some (maybe all) opcodes. Secondly, faulty board related instruction is descripted, so we can see what every board does.

    Slot 3 PROGRAM CONTROL

    LOD = Load
    STR = Store?
    BRO = ???

    This board handles data movements. Also there is probably program counter at 74161 chips adn 8x 4-bit full adders (7483). Maybe those are used to calculating new PC value at the jumps and returns. Parity generating/checking is done by 74180.



    Slot 4 INR

    BRU = ???
    BRZ = Branch if zero
    BRP = Branch if positive???
    BRN = Branch if negative???
    BRS = ???
    RTS = Return from sub-program???

    It is obvious this board handles branch commands. Same board have quartz and (probably) sequencer, it really make sense.


    Slot 5 DATA

    ADD, SUB
    INV = Invert
    EOR = Exclusive OR (XOR)
    AND = Logical AND
    INC = Increase
    DEC = Decrease

    (Literal mode)
    ASR = Shift right
    ASL = Shift left
    CYR = Rotate right
    CYL = Rotate left

    (SC mode)
    ASR
    ASL
    CYR
    CYR

    Also problems of these can be related slot 4 INR board, but this board is ALU, no doubt it. There is two 74181, multiplexer and 74198 shift register (74181 can only shift left and there's no rotate function). But what for is "SC" mode and "literal" mode? Any clue? I'm not expert this era computers, maybe somebidy can bring the light to this question...


    Slot 6 FILE

    NOP = No operation (how you can test NOP? )
    LODF = Load
    ADDF = Add
    SUBF = Sub
    ANDF = AND
    IORF = IO command?
    NEGF = Negative
    INVF = Invert


    Ok, this is interesting... FILE board have three 74181 (12-bit). And it seems there is also own commands for it, so this computer have two ALUs (I think this still can't be classify as duo-core... )! As I told before, board contain 1kbyte memory, maybe these commands are just for direct memory-memory operations... or something else... ideas? Anyways, sounds weird...

    FILE board seems have registers, but I really can't see where 16-register could be located at this board. Maybe registers are part of that memory? If so, why seperate register switches?

    ***

    I'm not sure is these all commands here. Probably not, Push and Pop commands are missing (both can be tested, so why not those are not in the list?) or this machine have no stack. Secondly, I'm not sure is this that fancy computer what I firstly thought. It seems quite primitive, it is really miracle this is capable all what is made for. But who knows what here can be find, maybe I'm totally wrong.

  7. #7
    Join Date
    Apr 2014
    Location
    Finland, Lahti City
    Posts
    6

    Default

    I just discovered DATA board connections. Not sure is it error free...



    There seems to be 4x registers on the board. Maybe those are not visible to programmer. Also 161 counters with 157 selectors are maybe used as latches.

    More to come later!

  8. #8
    Join Date
    Apr 2014
    Location
    Finland, Lahti City
    Posts
    6

    Default

    Little update for ALU diagram... Previous one had too many guesses (lazy measuring..), now (almost) all are fixed!




    Also some I discovered some connections from program board, there is some kind of stack (no direct register select, just up/down selector). Maybe it is for jump return addresses, because I suppose counter chips are PC register. That would fit the picture, adder would make jump (with offset register), return address from stack. But why there is two adders..? Maybe second one is subtractor for fixing return address to right place..?


Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •