Announcement

Collapse

Forum Rules and Etiquette

Our mission ...

This forum is part of our mission to promote the preservation of vintage computers through education and outreach. (In real life we also run events and have a museum.) We encourage you to join us, participate, share your knowledge, and enjoy.

This forum has been around in this format for over 15 years. These rules and guidelines help us maintain a healthy and active community, and we moderate the forum to keep things on track. Please familiarize yourself with these rules and guidelines.


Rule 1: Remain civil and respectful

There are several hundred people who actively participate here. People come from all different backgrounds and will have different ways of seeing things. You will not agree with everything you read here. Back-and-forth discussions are fine but do not cross the line into rude or disrespectful behavior.

Conduct yourself as you would at any other place where people come together in person to discuss their hobby. If you wouldn't say something to somebody in person, then you probably should not be writing it here.

This should be obvious but, just in case: profanity, threats, slurs against any group (sexual, racial, gender, etc.) will not be tolerated.


Rule 2: Stay close to the original topic being discussed
  • If you are starting a new thread choose a reasonable sub-forum to start your thread. (If you choose incorrectly don't worry, we can fix that.)
  • If you are responding to a thread, stay on topic - the original poster was trying to achieve something. You can always start a new thread instead of potentially "hijacking" an existing thread.



Rule 3: Contribute something meaningful

To put things in engineering terms, we value a high signal to noise ratio. Coming here should not be a waste of time.
  • This is not a chat room. If you are taking less than 30 seconds to make a post then you are probably doing something wrong. A post should be on topic, clear, and contribute something meaningful to the discussion. If people read your posts and feel that their time as been wasted, they will stop reading your posts. Worse yet, they will stop visiting and we'll lose their experience and contributions.
  • Do not bump threads.
  • Do not "necro-post" unless you are following up to a specific person on a specific thread. And even then, that person may have moved on. Just start a new thread for your related topic.
  • Use the Private Message system for posts that are targeted at a specific person.


Rule 4: "PM Sent!" messages (or, how to use the Private Message system)

This forum has a private message feature that we want people to use for messages that are not of general interest to other members.

In short, if you are going to reply to a thread and that reply is targeted to a specific individual and not of interest to anybody else (either now or in the future) then send a private message instead.

Here are some obvious examples of when you should not reply to a thread and use the PM system instead:
  • "PM Sent!": Do not tell the rest of us that you sent a PM ... the forum software will tell the other person that they have a PM waiting.
  • "How much is shipping to ....": This is a very specific and directed question that is not of interest to anybody else.


Why do we have this policy? Sending a "PM Sent!" type message basically wastes everybody else's time by making them having to scroll past a post in a thread that looks to be updated, when the update is not meaningful. And the person you are sending the PM to will be notified by the forum software that they have a message waiting for them. Look up at the top near the right edge where it says 'Notifications' ... if you have a PM waiting, it will tell you there.

Rule 5: Copyright and other legal issues

We are here to discuss vintage computing, so discussing software, books, and other intellectual property that is on-topic is fine. We don't want people using these forums to discuss or enable copyright violations or other things that are against the law; whether you agree with the law or not is irrelevant. Do not use our resources for something that is legally or morally questionable.

Our discussions here generally fall under "fair use." Telling people how to pirate a software title is an example of something that is not allowable here.


Reporting problematic posts

If you see spam, a wildly off-topic post, or something abusive or illegal please report the thread by clicking on the "Report Post" icon. (It looks like an exclamation point in a triangle and it is available under every post.) This send a notification to all of the moderators, so somebody will see it and deal with it.

If you are unsure you may consider sending a private message to a moderator instead.


New user moderation

New users are directly moderated so that we can weed spammers out early. This means that for your first 10 posts you will have some delay before they are seen. We understand this can be disruptive to the flow of conversation and we try to keep up with our new user moderation duties to avoid undue inconvenience. Please do not make duplicate posts, extra posts to bump your post count, or ask the moderators to expedite this process; 10 moderated posts will go by quickly.

New users also have a smaller personal message inbox limit and are rate limited when sending PMs to other users.


Other suggestions
  • Use Google, books, or other definitive sources. There is a lot of information out there.
  • Don't make people guess at what you are trying to say; we are not mind readers. Be clear and concise.
  • Spelling and grammar are not rated, but they do make a post easier to read.
See more
See less

Why do you do this? (retro-coding)

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Why do you do this? (retro-coding)

    Why do we program for systems that most people consider "obsolete"? I would love to know your opinions and feelings about this.

    For me, a few reasons would be:

    - Because it's fun
    - It's rewarding (and frustrating some times...)
    - If you use that computer on the present moment and it's useful for a given task, it's not obsolete at all
    - Although great programs and games were made on it's time (for example, circa '81 to '92 for the IBM PC/XT), we always can make new products, enjoy them and share them.
    - Because it keeps us young
    - Because for many of us is not retrocoding anymore as we were already doing it 30-40 or whatever the years before (although, of course, new coders are always welcome!)

    In my case I'm right now programming the game I wished to program or play for the PC and clones when I was a teenager. Unfortunately, back then I didn't have the knowledge and documentation needed to do it. It's a long path as it is a huge task for a one person team (thankfully I'm using a lot of code written by many people, so I don't have to reinvent the wheel for many tasks, thank you all, and we can also help each other on this forum so we are not that alone...).

    It's also difficult to find time and energy while having a day work but, as I say before, it's also very rewarding also. For me, it's one of the best hobbies that exist.

    #2
    There's another aspect of retro coding.

    If you're using original tools on original systems, you're now back in a time when 80x25 (or even less) is your window to the world. Where "cut and paste" are awkward at best.

    My short term memory is...lacking nowadays. I can barely remember a phone number to type it in to my phone in one go. You need to keep a lot more context in your head using old school tools.

    Consider the venerable Turbo Pascal. You start working on a program of any size, and it becomes very important to remember the function and procedure call arguments. A large program is not easily navigated in TP, and you no longer have things like auto-complete to fill those gaps. When you're used to an editor window with 100 lines of 100 column text that you can fly through with a flick of a scroll wheel compared to 80x25, that 20% of the screen space.

    It's a different world.

    It gets better if you're using vintage hardware and vintage speed. Watching the compiler tick-tick-tick away. 10s to compile 120 lines of code. Plus, with CP/M, the clunky, unfamiliar command line, no tab complete, no history!

    Even realod TP is awkward.

    A> TURBO
    Y (load error messages)
    W (working file)
    PROG.PAS
    E (to edit it)

    Far cry from just "vi prog.pas".

    A lot of folks don't do this. They use modern tools, GHz processors, 30" displays to write their code for their 2MHz systems.

    Not the same thing, frankly.

    Currently I'm working with Turbo, using z80Pack with the simulator running at 4MHz. What's missing is that the I/O is too fast vs a floppy system. Be interesting to get that more to vintage speeds as well. ("Floppy handling" using z80pack is...frustrating. Not at all like having physical media in hand and shoving it in to drives.)

    Comment


      #3
      I am still supporting computer hardware and software that was designed, installed and commissioned in the 1980s. It will probably be supported in some way, shape or form for another 10 years too! Rock on Coral-66...

      Dave

      Comment


        #4
        My main reason: because you can tinker with it down to the CPU itself. If an IC breaks down in a XT (clone), I can replace it. If an IC in a modern PC, I'm quite sure I cannot do anything but replace the motherboard.
        Tinkering with an 8088 or 80286 is done. I never heard of anybody creating a BIOS for a Pentium or better system.

        An exception that comes to my mind is Linux. But that started in the 386 era and grew along when the CPUs got better and bigger. But how many people are helping to develop it? Hundreds? Thousands? Or even more? I am working on my own OS from scratch that should run on an 8088 equipped computer. o it should run at least on a IBM PC or compatible and a Commodore CBM-II with 8088 card. A lot of work but also a lot of fun (otherwise I wouldn't do it). When should it be finished? I have no idea but I I hope before I die
        With kind regards / met vriendelijke groet, Ruud Baltissen

        www.baltissen.org

        Comment


          #5
          It is a challenge ...

          Last week I was able to serve NTP timestamps from an SNTP server running on a PCjr. The timestamps were within 2 milliseconds of what the publicly available large NTP server pools were serving. The project involved a little soldering to connect a GPS, a bit of interrupt handling code to detect when the GPS was signaling the start of each second, and some seriously tight code because a 4.77Mhz machine from 1983 was not designed for such a task.

          And it came with some great bragging rights too. I have the worlds first and only stratum 1 PCjr time server.

          http://www.brutman.com/DOS_Time_Serv...me_Server.html

          Comment


            #6
            Originally posted by daver2 View Post
            I am still supporting computer hardware and software that was designed, installed and commissioned in the 1980s. It will probably be supported in some way, shape or form for another 10 years too! Rock on Coral-66...

            Dave
            did any CORAL stuff get saved at TMOC? I know we talked to someone there who was into it ten years ago.

            Comment


              #7
              I agree with the challenge. There are only so many resources to go around and thus it becomes somewhat a puzzle. Another thing I like to do is write something in C and take it from 8080 to DOS to WIN32.

              Comment


                #8
                Originally posted by daver2 View Post
                I am still supporting computer hardware and software that was designed, installed and commissioned in the 1980s. It will probably be supported in some way, shape or form for another 10 years too! Rock on Coral-66...

                Dave
                Unless we really break it !
                Current fleet
                TRS80 Model 4 - BBC B - Tatung Einstein - PCW9512 - PET 3032 - C64 - ZX81 - Spectrum 48K - Amiga A500 - Apple II europlus - Apple iMAC G3. Sharp MZ-80K. - IBM 5160 XT - Multibus 286/10 - Micro PDP 11/73 - Rainbow PC100A - MicroVax II - MicroVAX 3100, 3300, VAX 4000 VLC & 4000 Model 96 - AlphaStation 225 Apricot PC - Apple Performa 6200 - Apple Mac IIcx - Osborne 1 - ACT Sirius 1

                Comment


                  #9
                  For me I think it's something about minimalism: what can be done with less memory, less processing power and less screen real-estate. It often requires a lot of lateral thinking and can lead to some quite interesting puzzles to solve. I also like having more control over the machine and not having to work with so many layers of abstraction.
                  TechTinkering : Website / YouTube (Retro computers, VIC-20, CP/M, Programming)
                  Latest Video: Breakout Style Games on CP/M

                  Comment


                    #10
                    Originally posted by whartung View Post
                    A lot of folks don't do this. They use modern tools, GHz processors, 30" displays to write their code for their 2MHz systems.
                    It is true that using modern tools to create code for a vintage machine isn't he same thing. However, it allows us to concentrate on the parts that we find must fun and interesting and limit the parts we don't enjoy so much. That said, I enjoy both: I regularly use the machine language monitor, VICMON, on the VIC-20 as well as use an assembler on Linux to create code for the Vic. Under CP/M I actually enjoy entering and editing code using ED and generally find it a lot easier to stay vintage than on the Vic. But even there in the past some games for the Vic and similar machines would have been developed on more powerful machines and transferred across for testing, so it isn't entirely abandoning the old methods.

                    TechTinkering : Website / YouTube (Retro computers, VIC-20, CP/M, Programming)
                    Latest Video: Breakout Style Games on CP/M

                    Comment


                      #11
                      Where do you rank on the 1337-o-Meter if you're using a modern computer to connect to a public-access Unix system dating back to 1987 and using vim to code for your faux-minicomputer stack-machine project that you plan to implement in TTL at some point? Asking for a friend.
                      Computers: Amiga 1200, DEC VAXStation 4000/60, DEC MicroPDP-11/73
                      Synthesizers: Roland JX-10/SH-09/MT-32/D-50, Yamaha DX7-II/V50/TX7/TG33/FB-01, Korg MS-20 Mini/ARP Odyssey/DW-8000/X5DR, Ensoniq SQ-80, E-mu Proteus/2, Moog Satellite, Oberheim SEM
                      "'Legacy code' often differs from its suggested alternative by actually working and scaling." - Bjarne Stroustrup

                      Comment


                        #12
                        Originally posted by Lawrence Woodman View Post
                        Under CP/M I actually enjoy entering and editing code using ED and generally find it a lot easier to stay vintage than on the Vic.
                        Never did well with CLI based character editors (CP/M ED, edlin, teco). Unix ed (which is a line editor) is more my style. And ED, with it's buffer management, my poor Pooh brain never quite wrapped around it. Maybe if I say a robust editing session on video once talking me off the ledge.

                        Not sure I'd wish developing anything disk heavy on a 1541 on anybody, nor an Atari 810 disk drive.

                        I had the OSS C Compiler for the Atari back in the day. Classic, multiphase workflow pre-processor->compiler->assembler->linker. All hitting the floppy hard.

                        It was awful. Cars would rust before your eyes as you waited for "hello.c" to compile. ACTION! (which was all in RAM) was just night and day in usability.

                        Comment


                          #13
                          One thing I enjoy about retro programming is that the programming landscape doesn't shift constantly under your feet, which is nice for a leisure pastime. I can start a project and leave it lying around for a couple of years without much hassle. I don't think you'd experience the same thing with a program written for the modern Web, for example, but to be fair I haven't done very much of that.

                          One of these days I'll get around to writing a program that uses the Apple Lisa ToolKit, for example. It could be a decade from now, but that doesn't matter, nobody's releasing updates so far as I know.

                          Comment


                            #14
                            Originally posted by stepleton View Post
                            One thing I enjoy about retro programming is that the programming landscape doesn't shift constantly under your feet, which is nice for a leisure pastime. I can start a project and leave it lying around for a couple of years without much hassle.
                            So true. It such a pain going back to projects to make a change just to find the environment has changed. Particularly if you have switched between lots of different programming languages over time and they've continued to become more complex.

                            I've almost got to the point now where I've toyed with creating a system that is simple, well-documented, easy to re-implement and port so that I can future proof work that is important to me based around a retro system. The main thing that holds me back is what to do with multiple character sets if I'm switching between human languages. I don't fancy implementing UTF-8 but there isn't anything else that really competes with it.
                            TechTinkering : Website / YouTube (Retro computers, VIC-20, CP/M, Programming)
                            Latest Video: Breakout Style Games on CP/M

                            Comment


                              #15
                              Originally posted by Lawrence Woodman View Post
                              I've almost got to the point now where I've toyed with creating a system that is simple, well-documented, easy to re-implement and port so that I can future proof work that is important to me based around a retro system.
                              Hah, I've toyed with the idea myself...and then my coworker told me about SerenityOS, which seems to have already gone and done it XD Gonna be interesting to watch that one... (Actually, I've been toying with the idea of rolling up a simple time-sharing OS for the homebrew-CPU project I'm gradually scheming out, and making it public-access...but that's a good ways down the line yet ;D)
                              Computers: Amiga 1200, DEC VAXStation 4000/60, DEC MicroPDP-11/73
                              Synthesizers: Roland JX-10/SH-09/MT-32/D-50, Yamaha DX7-II/V50/TX7/TG33/FB-01, Korg MS-20 Mini/ARP Odyssey/DW-8000/X5DR, Ensoniq SQ-80, E-mu Proteus/2, Moog Satellite, Oberheim SEM
                              "'Legacy code' often differs from its suggested alternative by actually working and scaling." - Bjarne Stroustrup

                              Comment

                              Working...
                              X