Shop OBEX P1 Docs P2 Docs Learn Events
(Slightly OT) Linux Programming — Parallax Forums

(Slightly OT) Linux Programming

JT CookJT Cook Posts: 487
edited 2008-02-23 16:22 in Propeller 1
Right now I am in my second semester of a 2 year program to become a network admin. In my second semester I have a Linux admin class and a C programming class, which uses a Linux live cd for the environment (Knoppix 5.1.1). I have always been curious about Linux and played around with a few live CDs, but never really used it. Now with the C programming class we just use the terminal (text prompt like DOS), GCC for compiling, and VIM for editing. Well since I know C, I figured I spend most of my lecture time trying to get SDL to install. Well that failed pretty miserably for a few classes so I desided to look to see if I could find a Linux live distro with SDL dev libraries already installed on it. With little searching I found that the same distro I had included exactly what I was looking for! So I find a quick Linux SDL tutorial and got my first window to pop up.

Most of my windows stuff is done in SDL, so I desided to try an port stuff over, and it worked with great ease. I even ported over my C64 emulator in about an hour. The only thing that wasn't included were the routines where you could choose from a list of carts/t64/prg files to load up(that was Win32 specific anyway).

There is something satisfying about having a completely free and legal programming environment in the form of a bootable CD. In a sense it is pretty freeing, and pretty cool that I can go into the computer, pop in a CD and a pen drive and start programming.

Programming has really been the one thing that has kept me tied to Windows, but after playing with this I could see the transition to it becoming my primary OS happening at some point.

(Now to the on topic part)
I have been working (slowly) on a graphics library for the Prop. The driver will have 8 sprites, tiled background, that scrolls (all of it is down short of the scrolling background since I just finished up the sprites today). What I am doing write now is writing an SDL library for the PC so I can prototype software on a PC(which uses the same palette as the Hydra/Hybrid so I can use the same graphics), then "port" it to the Hydra/Hybrid. I am hoping to put this into practice in the next couple weeks by writing a small program on the PC.

Comments

  • potatoheadpotatohead Posts: 10,261
    edited 2008-02-02 05:31
    That sounds pretty cool actually!

    IMHO, programming on the open stuff is sweet. Really, you can kind of pick your OS and go from there. I did a 3D file viewer a while back. Started on SGI, moved to win32, then Linux. Was not too big of a deal, once I got the hang of what was fairly neutral and what was not.

    Back then, I archived the environment onto a live Linux CD, just in case I wanted to work with it. It will boot on most anything, and the tool set I used at the time is still there! So, make static-linked binaries and it runs on current Linuxes with few issues.

    Mix in VM (virtual machine) tech today, and a LOT is possible on those live Linux distributions. Open or closed, one can package up a tool chain and essentially have it on demand much as we used to just boot a particular floppy way back when.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Propeller Wiki: Share the coolness!
  • Beau SchwabeBeau Schwabe Posts: 6,560
    edited 2008-02-02 06:57
    JT,

    I like the idea of a live cd myself, but make sure you have a backup in case it accidentally gets damaged. I'm a dual platform guy myself, using Linux and Windows both quite regularly. When I first purchased my laptop, it only had Windows XP... After a lot of reading, it was Knoppix 5.1.1 that allowed me to re-partition the drive and turn it into a dual Boot machine.

    Keep us posted on your progress, what you are working on sounds pretty cool.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Beau Schwabe

    IC Layout Engineer
    Parallax, Inc.
  • Ym2413aYm2413a Posts: 630
    edited 2008-02-02 15:14
    I'm interested in this video driver for the prop. [noparse]:)[/noparse]

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Share the knowledge: propeller.wikispaces.com
    Lets make some music: www.andrewarsenault.com/hss

  • JT CookJT Cook Posts: 487
    edited 2008-02-02 18:08
    Here are some details on the graphics driver. There are 8 on screen 8-bit 16x16 sprites. The sprites can be flipped/mirrored on both X and Y axis. The tile driver that is in there now is the same one that is in Spintris where it is just a tiled background made up of 8-bit 8x8 sprites. There is no scrolling currently, but the next program I put out will not be anything that needs scrolling so if anyone is ambitious they·play with·that. I am also writing a simple app where you can draw tiles and sprites and export them to use in the program.

    The goal is to make a graphics driver that is similar to the 8bit game consoles/computers that would be fairly simple to use. The driver will come with some documentation and probably some minimal example programs so people won't have to try and strip out a "full" program and reverse engineer it to figure out how to use the graphics driver.

    Ym2413a·- I do have a request tho... smile.gif could you make a version of HSS that has 4 programmable voices (instead of two) and strip out the music player?
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2008-02-02 18:38
    Nice! This is very needed!

    OBC

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    New to the Propeller?

    Getting started with the Protoboard? - Propeller Cookbook
    Got an SD card? - PropDOS
    A Living Propeller FAQ - The Propeller Wiki
    (Got the Knowledge? Got a Moment? Add something today!)

  • Spork FrogSpork Frog Posts: 212
    edited 2008-02-03 01:47
    Sounds like a great driver!

    I use Linux most of the time myself, but my computer's set up dual-boot with Debian and XP right now. I tried to do the Prop tool under Linux, but seems like with the current version of
    Wine the text gets outputted mostly as garbage. It's too bad really.

    I completely agree with the "freeing" part of it. I also enjoy the wide varieties of software available for it. There's literally almost anything you can think of with a GPL version somewhere.
  • JT CookJT Cook Posts: 487
    edited 2008-02-23 16:22
    So far I have half a Pong game done. What I have been doing is during my C programming class, while the teacher is lecturing I program. So far I have a never ending pong game working. I ported that part over to the Prop with ease. Now my next step is get the numbering in, and make a game start and finish, then I will upload the code.

    My goal is to make it as much like the arcade version as possible. The only thing that will really be different is the screen resolution. So the game won't be a 1:1 port, but will look pretty close, and the ball will have the same reactions to the paddle and walls (it is just in a smaller court). Also on this you can either use two mice, two controllers or mix and match. I also want wire up some pots to make it really authentic, but that will be after the first release.

    Sound will also be missing in the first release because with the two mouse drivers, I am out of COGs, but I am sure I can free up a COG by scaling back the graphics driver a bit since there will only be 3 sprites on the screen at once.
Sign In or Register to comment.