Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. My first language and interesting early software projects.

My first language and interesting early software projects.

Scheduled Pinned Locked Moved The Lounge
delphicsharpc++csshardware
46 Posts 37 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Matthew Dennis

    Update: Responses have reminded me of several laguages that I had forgotten. The responses to my post about my first computer got me thinking about my first languages. I think they were Basic MC 6800 Assembler Fortran (WatIV) C B Z80 Assembler 8086 Assembler (and worked on a Small C port on an original IBM PC) Turbo Pascal Turbo C Delphi Pascal PL-M MC 6809 Assembler (wrote a whole OS for traffic control systems) Forth (the MC6809 seemed to be designed to implement Forth) Clarion C++ (including Turbo C++) C# During this, a number of micro-controller assemblers. One of my favorite projects was a dual printer controller for a point of sale terminal. Had a roll and slip printer. I had to control the head motion, fire the print head pins and bit bang a serial port and include the fonts. All on a MC 6805 with 3096 BYTES of ROM and 112 BYTE of RAM (including stack). For another set of products, I developed an Operating Kernel and developement environment for an Embedded system using Turbo C++. All the Tasks were initialize with static initializers, so you could just link in new processes. The whole compiled Kernel took less than 15K. What extremely resource constrained development do you remember from the stone age?

    C Offline
    C Offline
    carlospc1970
    wrote on last edited by
    #35

    30 years ago a friend and I used to visit the mall where they let us play with the computers in exhibition. Those were commodore 64 computers with no floppy or cassette recorder available. We liked to play "snake" but it was hard to convince the salesmen to let us use it. So we learned to program in Commodore BASIC and we did our own version of the game. So when we wanted to "play snake" we arrived to the mall and started writing the game, from memory, with no way to record it to any physical media. After writing and testing it we played for hours. Those were happy days! :)

    1 Reply Last reply
    0
    • M Matthew Dennis

      Update: Responses have reminded me of several laguages that I had forgotten. The responses to my post about my first computer got me thinking about my first languages. I think they were Basic MC 6800 Assembler Fortran (WatIV) C B Z80 Assembler 8086 Assembler (and worked on a Small C port on an original IBM PC) Turbo Pascal Turbo C Delphi Pascal PL-M MC 6809 Assembler (wrote a whole OS for traffic control systems) Forth (the MC6809 seemed to be designed to implement Forth) Clarion C++ (including Turbo C++) C# During this, a number of micro-controller assemblers. One of my favorite projects was a dual printer controller for a point of sale terminal. Had a roll and slip printer. I had to control the head motion, fire the print head pins and bit bang a serial port and include the fonts. All on a MC 6805 with 3096 BYTES of ROM and 112 BYTE of RAM (including stack). For another set of products, I developed an Operating Kernel and developement environment for an Embedded system using Turbo C++. All the Tasks were initialize with static initializers, so you could just link in new processes. The whole compiled Kernel took less than 15K. What extremely resource constrained development do you remember from the stone age?

      R Offline
      R Offline
      richinsea
      wrote on last edited by
      #36

      IBM 1401 assembler or maybe machine code before I actually had access to one. One interesting project was a 2 line (just could not get it down to one line) APL function to look up a keyword in a table of the form keyword space value and return the value.

      1 Reply Last reply
      0
      • G Gary Wheeler

        H.Brydon wrote:

        I also wrote an operating system in machine language for PDP-11/05 with 2 X 8K core memory as storage

        By any chance did you go to Wright State University[^] in the late 70's through early 80's? That matches a two course sequence I took there, 'Introduction to Real-Time Programming'. The first course was really "learn PDP-11 assembly language". The second introduced concurrent programming. The labs included a PDP-11/15 running RSX-11 that we used to edit and assemble our source code, and then two PDP-11/05's for testing. The 05's included core memory that mainly stored the RT-11 bootstrap code, which student apps routinely overwrote. You then had to toggle in the bootstrap, about 80 words worth, via the front-panel switches. I had to do it a couple of times. One guy in our class had to do it so often he could do the whole thing in less than 60 seconds. This was probably my second-favorite class in school :cool: (first favorite being the computer graphics sequence).

        Software Zen: delete this;

        H Offline
        H Offline
        H Brydon
        wrote on last edited by
        #37

        Gary Wheeler wrote:

        By any chance did you go to Wright State University[^] in the late 70's through early 80's?

        Nope - off by almost a decade. I started the /360 stuff in 1969 with high school in Winnipeg, then University of Manitoba and beyond. My PDP-11/05s (2 of them) were retired equipment from work that I got to take home (without most of the attached digital lab equipment, sniff).

        -- Harvey

        1 Reply Last reply
        0
        • M Matthew Dennis

          Update: Responses have reminded me of several laguages that I had forgotten. The responses to my post about my first computer got me thinking about my first languages. I think they were Basic MC 6800 Assembler Fortran (WatIV) C B Z80 Assembler 8086 Assembler (and worked on a Small C port on an original IBM PC) Turbo Pascal Turbo C Delphi Pascal PL-M MC 6809 Assembler (wrote a whole OS for traffic control systems) Forth (the MC6809 seemed to be designed to implement Forth) Clarion C++ (including Turbo C++) C# During this, a number of micro-controller assemblers. One of my favorite projects was a dual printer controller for a point of sale terminal. Had a roll and slip printer. I had to control the head motion, fire the print head pins and bit bang a serial port and include the fonts. All on a MC 6805 with 3096 BYTES of ROM and 112 BYTE of RAM (including stack). For another set of products, I developed an Operating Kernel and developement environment for an Embedded system using Turbo C++. All the Tasks were initialize with static initializers, so you could just link in new processes. The whole compiled Kernel took less than 15K. What extremely resource constrained development do you remember from the stone age?

          M Offline
          M Offline
          Member 8209665
          wrote on last edited by
          #38

          1967 Fortran IV 1968 IBM 360 assembler 1968 IBM 360 channel program (program peripherals to talk to each other without CPU) 1969 COBOL but now it gets interesting! In 1974'ish I convinced the company I was working for to purchase an Interdata 7/32 (first 32 bit minicomputer) It came with an operating system that made cp/cpm look good. It also came with minimal peripherals. It booted using the paper tape part of a telex machine. It had a 2.5 megabyte hard drive and a primitive CRT as a console. I and two helpers decided we would write a better operating system for it. Goal was multi-user virtual memory system (machine was organized into 16 64k segments,1 Megabyte total) Since we did not have driver code for the hard drive at first, the object files output from the existing Assembler (Interdata's) were sent to paper tape (slow telex) which we used to build the various parts of the new operating system (extreme bootstrapping) We ran into a hardware problem in that sometimes a register would be clobbered on segment/page fault The CPU was all ttl chips so I modified the CPU to not clobber registers. Within about 6 months we had a VM machine that could support 8 users and 1 background task. By then we had an Ampex 40 megabyte hard drive (bigger than a washing machine) The operating system used 64K and was not itself paged, and the hardware was limited to 1 megabyte. Next we needed an IBM Fortran IV compatible compiler. In about 4 months we had one that ran in about 48K with no paging. Since segment/page size was a maximum of 64k and users had access to only 14 of them as special linker was written that analyzed the function calls and clustered as much as possible into the same segment. We converted 100,000's of lines of Fortran from IBM to this system successfully. Next came a new CPU an 8/32 which was faster and had 16 megs total, but only 1 meg per task. We converted huge seismic programs (million's of lines of code) to it. Interesting that our system both compiled and ran the resulting programs faster than the existing IBM mainframe's at 1/10th cost. At least one of these systems is still in use due to the special peripherals we interfaced to it. I am currently contract programming (mostly in c/c++)

          F 1 Reply Last reply
          0
          • M Member 8209665

            1967 Fortran IV 1968 IBM 360 assembler 1968 IBM 360 channel program (program peripherals to talk to each other without CPU) 1969 COBOL but now it gets interesting! In 1974'ish I convinced the company I was working for to purchase an Interdata 7/32 (first 32 bit minicomputer) It came with an operating system that made cp/cpm look good. It also came with minimal peripherals. It booted using the paper tape part of a telex machine. It had a 2.5 megabyte hard drive and a primitive CRT as a console. I and two helpers decided we would write a better operating system for it. Goal was multi-user virtual memory system (machine was organized into 16 64k segments,1 Megabyte total) Since we did not have driver code for the hard drive at first, the object files output from the existing Assembler (Interdata's) were sent to paper tape (slow telex) which we used to build the various parts of the new operating system (extreme bootstrapping) We ran into a hardware problem in that sometimes a register would be clobbered on segment/page fault The CPU was all ttl chips so I modified the CPU to not clobber registers. Within about 6 months we had a VM machine that could support 8 users and 1 background task. By then we had an Ampex 40 megabyte hard drive (bigger than a washing machine) The operating system used 64K and was not itself paged, and the hardware was limited to 1 megabyte. Next we needed an IBM Fortran IV compatible compiler. In about 4 months we had one that ran in about 48K with no paging. Since segment/page size was a maximum of 64k and users had access to only 14 of them as special linker was written that analyzed the function calls and clustered as much as possible into the same segment. We converted 100,000's of lines of Fortran from IBM to this system successfully. Next came a new CPU an 8/32 which was faster and had 16 megs total, but only 1 meg per task. We converted huge seismic programs (million's of lines of code) to it. Interesting that our system both compiled and ran the resulting programs faster than the existing IBM mainframe's at 1/10th cost. At least one of these systems is still in use due to the special peripherals we interfaced to it. I am currently contract programming (mostly in c/c++)

            F Offline
            F Offline
            fredsparkle
            wrote on last edited by
            #39

            My first computer encounters was a calculator with a CRT screen at the pacific science center you could tell it divide by zero and lock it up.

            The next was in the army hacking a field artillery computer (FADAC) to drive a teletype paper tape punch for target lists. Teletype operators always made too many errors with numbers.

            The FADAC had rotating disk memory with heads on each track. It also had no program counter so you had to specify the location of the next instruction which had to be at least six sectors away from the current word or you would have to wait for the disk to spin around again and I implemented a software UART in that environment! Oh and it was 32 bit machine!

            My first personal computer was a sphere 6800 based machine with 4K of dynamic memory that barely worked. To get it to work I implemented hardware interrupt to a real time clock to read a specific memory location to keep the memory from fading away!

            1 Reply Last reply
            0
            • M Matthew Dennis

              Update: Responses have reminded me of several laguages that I had forgotten. The responses to my post about my first computer got me thinking about my first languages. I think they were Basic MC 6800 Assembler Fortran (WatIV) C B Z80 Assembler 8086 Assembler (and worked on a Small C port on an original IBM PC) Turbo Pascal Turbo C Delphi Pascal PL-M MC 6809 Assembler (wrote a whole OS for traffic control systems) Forth (the MC6809 seemed to be designed to implement Forth) Clarion C++ (including Turbo C++) C# During this, a number of micro-controller assemblers. One of my favorite projects was a dual printer controller for a point of sale terminal. Had a roll and slip printer. I had to control the head motion, fire the print head pins and bit bang a serial port and include the fonts. All on a MC 6805 with 3096 BYTES of ROM and 112 BYTE of RAM (including stack). For another set of products, I developed an Operating Kernel and developement environment for an Embedded system using Turbo C++. All the Tasks were initialize with static initializers, so you could just link in new processes. The whole compiled Kernel took less than 15K. What extremely resource constrained development do you remember from the stone age?

              C Offline
              C Offline
              Charles Patton
              wrote on last edited by
              #40

              Early 70's my to-be business partner and I bought a Redcor RC70 (the company had gone bankrupt). As I recall it was 16K of 18 bit magnetic core memory. We wedded it with an Execuport portable TTY like keyboard with thermal printer and a star-wheel paper tape reader from Autonetics surplus store. I forget the source of the paper tape punch we started with. I then started programming in Fortran and assembly. It was almost impossible to get the Fortran compiler tape to load with the flaky star-wheel reader. We shortly replaced it with another Autonetics surplus item -- a 1000 CPS, stop on character, Ferranti paper tape reader. It was wondrous and continued to work for years. This was a mechanical marvel with pancake motors for the paper tape reels and it would shake the 6 ft, rack it was mounted in. You did not want to get your hands tangled in the reels -- it could inflict severe damage. Eventually we added a General Automation 18/30 (an IBM 1130 look alike) with (gasp!) 5 MB hard disk drives that we bought at a bankruptcy auction. We did a lot of paper tape code conversion for PCB drilling machines and flex layout software that I wrote mainly in Fortran with assembly used for the interface boards we did for the paper tape punches, pen plotters, and Teletype chain line printers. Not exactly a microprocessor, but quite a do-it-yourself project.

              1 Reply Last reply
              0
              • M Matthew Dennis

                Update: Responses have reminded me of several laguages that I had forgotten. The responses to my post about my first computer got me thinking about my first languages. I think they were Basic MC 6800 Assembler Fortran (WatIV) C B Z80 Assembler 8086 Assembler (and worked on a Small C port on an original IBM PC) Turbo Pascal Turbo C Delphi Pascal PL-M MC 6809 Assembler (wrote a whole OS for traffic control systems) Forth (the MC6809 seemed to be designed to implement Forth) Clarion C++ (including Turbo C++) C# During this, a number of micro-controller assemblers. One of my favorite projects was a dual printer controller for a point of sale terminal. Had a roll and slip printer. I had to control the head motion, fire the print head pins and bit bang a serial port and include the fonts. All on a MC 6805 with 3096 BYTES of ROM and 112 BYTE of RAM (including stack). For another set of products, I developed an Operating Kernel and developement environment for an Embedded system using Turbo C++. All the Tasks were initialize with static initializers, so you could just link in new processes. The whole compiled Kernel took less than 15K. What extremely resource constrained development do you remember from the stone age?

                D Offline
                D Offline
                dpminusa
                wrote on last edited by
                #41

                First was DEC PDP8 FOCAL, an interpreter that had to be loaded in first from a mylar Tape Reader. Then followed a lot of others: Fortran IV Algol-60 PL/1 IBM 360 Assembler COBOL 74 - 80 Burroughs L-Series Assembler 8086 Assembler Z80 Assembler Datapoint Datashare Interpreter Bourne Shell BASH Shell Perl C# and others I cannot think of ... Mostly fun.

                "Courtesy is the product of a mature, disciplined mind ... ridicule is lack of the same - DPM"

                1 Reply Last reply
                0
                • W winsteps

                  Folks, does anyone here pre-date me? First computer language, 1965: EDSAC2 Autocode in a programming course taught by Dr. Maurice Wilkes (who wrote the first book on computer programming, published in 1951). But there was a huge resource-constraint! Computer time was so valuable that we students were not allowed to run our programs. Dr. Wilkes desk-checked them. Then, for an interesting "software" project, later in 1965, I worked as a programmer for Electronic Associates who manufactured analog plug-board computers. One of my first projects was a real-time oil-field simulation on an EAI 360 which was somewhat bigger than this: http://www.technikum29.de/shared/photos/rechnertechnik/eai180.jpg - programming was done with wires.

                  Y Offline
                  Y Offline
                  YvesDaoust
                  wrote on last edited by
                  #42

                  Wilkes in person, wow !

                  1 Reply Last reply
                  0
                  • B Bruce Patin

                    I started with FORTRAN that had to be punched into cards and submitted to the University computer center, which probably had about 256K of memory. Results were returned as a printout in about an hour.

                    Y Offline
                    Y Offline
                    YvesDaoust
                    wrote on last edited by
                    #43

                    Join the club ;-)

                    1 Reply Last reply
                    0
                    • M Matthew Dennis

                      Update: Responses have reminded me of several laguages that I had forgotten. The responses to my post about my first computer got me thinking about my first languages. I think they were Basic MC 6800 Assembler Fortran (WatIV) C B Z80 Assembler 8086 Assembler (and worked on a Small C port on an original IBM PC) Turbo Pascal Turbo C Delphi Pascal PL-M MC 6809 Assembler (wrote a whole OS for traffic control systems) Forth (the MC6809 seemed to be designed to implement Forth) Clarion C++ (including Turbo C++) C# During this, a number of micro-controller assemblers. One of my favorite projects was a dual printer controller for a point of sale terminal. Had a roll and slip printer. I had to control the head motion, fire the print head pins and bit bang a serial port and include the fonts. All on a MC 6805 with 3096 BYTES of ROM and 112 BYTE of RAM (including stack). For another set of products, I developed an Operating Kernel and developement environment for an Embedded system using Turbo C++. All the Tasks were initialize with static initializers, so you could just link in new processes. The whole compiled Kernel took less than 15K. What extremely resource constrained development do you remember from the stone age?

                      P Offline
                      P Offline
                      Peter Webb
                      wrote on last edited by
                      #44

                      Wrote an "operating system" for a 6502 to allow its use to receive 8 modem channels simultaneously and buffer and write the data out to a 9 track tape drive. Multi-tasking, but no disk drivers. It fit onto a 4K ROM. The devices sending it information were handheld computers used for stock control, running a RCA 1802 8 bit CMOS CPU (same as on the Galileo space probe). It ran with a 1 Megahertz clock, the fastest instruction was a NOP which took 8 clock cycles, so 0.1 MHz in reality. The devices were limited to 1200 baud because they lacked a dedicated serial chip so I had to raise and lower a CPU IO line in software and use loop timing to generate the 8 bit characters for RS-232 one bit at a time. 1200 baud was as fast as I could do it in software. Also 4K of ROM for the whole thing. All this was 1979.

                      1 Reply Last reply
                      0
                      • R Ravi Bhavnani

                        Pascal Fortran, COBOL (in university) C Lisp OPS5 C++ Java C# /ravi

                        My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com

                        A Offline
                        A Offline
                        aayawa
                        wrote on last edited by
                        #45

                        Basic, Fortran then Jupiter ACE and Forth (1K ram)

                        1 Reply Last reply
                        0
                        • M Matthew Dennis

                          Update: Responses have reminded me of several laguages that I had forgotten. The responses to my post about my first computer got me thinking about my first languages. I think they were Basic MC 6800 Assembler Fortran (WatIV) C B Z80 Assembler 8086 Assembler (and worked on a Small C port on an original IBM PC) Turbo Pascal Turbo C Delphi Pascal PL-M MC 6809 Assembler (wrote a whole OS for traffic control systems) Forth (the MC6809 seemed to be designed to implement Forth) Clarion C++ (including Turbo C++) C# During this, a number of micro-controller assemblers. One of my favorite projects was a dual printer controller for a point of sale terminal. Had a roll and slip printer. I had to control the head motion, fire the print head pins and bit bang a serial port and include the fonts. All on a MC 6805 with 3096 BYTES of ROM and 112 BYTE of RAM (including stack). For another set of products, I developed an Operating Kernel and developement environment for an Embedded system using Turbo C++. All the Tasks were initialize with static initializers, so you could just link in new processes. The whole compiled Kernel took less than 15K. What extremely resource constrained development do you remember from the stone age?

                          K Offline
                          K Offline
                          KRucker
                          wrote on last edited by
                          #46

                          I wrote an application on the original Tandy pocket computer (PC-1) that assisted a surveyor in closing a survey. The computer had ROM-based Basic 1.5 K (that's right K) of RAM The RAM had to be sufficient for both the program and variables. Some judicious reuse of variables was necessary to get it all to fit and run properly.

                          1 Reply Last reply
                          0
                          Reply
                          • Reply as topic
                          Log in to reply
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes


                          • Login

                          • Don't have an account? Register

                          • Login or register to search.
                          • First post
                            Last post
                          0
                          • Categories
                          • Recent
                          • Tags
                          • Popular
                          • World
                          • Users
                          • Groups