Shop OBEX P1 Docs P2 Docs Learn Events
Old games ported to P2: "P1 Classics Collection" — Parallax Forums

Old games ported to P2: "P1 Classics Collection"

Wuerfel_21Wuerfel_21 Posts: 5,530
edited 2025-09-03 22:23 in Propeller 2

Old games ported to P2: "P1 Classics Collection"

GRAB IT NOW: On SourceHut or attached ZIP file (but the srht Git version will be fresher, so try that first).

Warning: Requires flexspin >= 7.4.4 (as of writing, released 2 days ago!)

More detailed info is to be found in the README file.

This is a collection of games originally written for the Propeller 1 (and it's many configurations including the Hydra),
ported to the Propeller 2, taking advantage of FlexSpin's cross-language capabilities and USB/video/audio code and techniques developed for my console emulators.

The Collection currently comprises 7 Games (more may be added in the future/upon request):

  • Unterwelt by @RedNifre
  • Ranquest by @"JT Cook"
  • Spintris also by @"JT Cook" + my "2020 edition" enhancements
  • PropICE and IMPACT by @zx81vga
  • Dr. Hydra by @Remz
  • Mythic Flight by @trodoss + my re-worked audio

and to keep the ping party going, credits for libraries ported:

  • SIDCog/AYCog/SNECog/Retronitus by @Ahle2
  • HDMF and NS_sound driver by @epmoyer and @Abscissa , respectively
  • HEL graphics driver by @AndreL

Even if you don't have a special place in your heart for this old jankware, it serves us today in 3 distinct research purposes:

  • What is the ideal way to distribute P2 games/applications, when you have more then ~3 highly multi-purpose binaries (*Yume, etc)? In this these are useful because they're very simple (no overclock, no PSRAM, etc) and numerous.
  • Can you really get people to git clone off a host that isn't GitHub? (SourceHut in our case) ; Microsoft is increasingly odious these days...
  • How many oldheads still use the same E-Mail and are getting pinged with this nonsense? (If this is you: thanks very much for your prior work and current patience)

Comments

  • ErNaErNa Posts: 1,841

    could we try to create a uniform hardware? I'd like to put something together with my grand children. They play different games, minecraft, and mario, but are excited (a little) playing tetris on the Lame-Station. From the very beginning the propeller always could be a play station replacement, but for unknown reasons, it didn't work.

  • @ErNa said:
    could we try to create a uniform hardware?

    https://xkcd.com/927/ etc etc.

    The best plug-n-play thing so far is @MXX 's little box thing. I don't think he posted about the new and enhanced version yet (pictured below)


    I've actually been prototyping a tool to solve the M:N problem here (M P2 boards to N software titles) from the other end (essentially deriving (almost?) everything from just 1 machine config file), but more about that later. Not today, today I finished a project, so I'm spending the evening drinking! (non-alcoholic beverages...)


    I'd like to put something together with my grand children. They play different games, minecraft, and mario, but are excited (a little) playing tetris on the Lame-Station. From the very beginning the propeller always could be a play station replacement, but for unknown reasons, it didn't work.

    See also https://forums.parallax.com/discussion/176276/logicon

    You have a LameStation? That's awesome! Don't really have a P1 system collection like I have for P2.

  • btw, the HAL / video driver in this supports the same LCD6 video mode the emulators do. On a tiny screen, 160x192 render resolution is downright passable :)

  • evanhevanh Posts: 16,691
    edited 2025-09-03 21:54

    I should dig out my old Atari compatible joysticks ...

    @Wuerfel_21 said:

    • How many oldheads still use the same E-Mail and are getting pinged with this nonsense? (If this is you: thanks very much for your prior work and current patience)

    Is that from Github? I've avoided signing up.

  • Wuerfel_21Wuerfel_21 Posts: 5,530
    edited 2025-09-03 23:13

    @evanh said:
    I should dig out my old Atari compatible joysticks ...

    Ah, currently no unified raw pin input support (though easy to hack in, everything goes through PortHAL.spin2)

    @Wuerfel_21 said:

    • How many oldheads still use the same E-Mail and are getting pinged with this nonsense? (If this is you: thanks very much for your prior work and current patience)

    Is that from Github? I've avoided signing up.

    I mean that in the sense that if I say "@evanh", this very forum (by default) sends out an email notification.

    (As mentioned above, the repo for this project is currently only on SourceHut, which is a new-ish git hosting service that I'm trialing to use for new projects; Many reasons to not use github or any microsoft anything these days; GitLab also seems to be deteriorating)

    (Also I just noticed the manual ZIP upload got grenaded) I think it's fixed now

  • evanhevanh Posts: 16,691
    edited 2025-09-03 22:57

    @Wuerfel_21 said:
    I mean that in the sense that if I say "@evanh", this very forum (by default) sends out an email notification.

    Oh, that, I've set that preference to off. I get emailed upon private message only since forever. I'd long forgotten there was a setting even.

  • roglohrogloh Posts: 5,971
    edited 2025-09-03 23:55

    Hi @Wuerfel_21 as you are porting these games right now, when playing on that GPi Case 2W system (Logicon thread) I noticed there is a C based port of the original Price of Persia game which ran on this machine. I didn't realize that code was even opened up but it apparently has some reverse engineered source from the original disassembly as a project on GitHub here.

    https://github.com/NagyD/SDLPoP/tree/master

    They currently use SDL for the gfx, and it also uses midi playback with an OPL3 emulator which has be wondering: do you think this game would be feasible for a P2? Given what you achieved with the NeoYume system I'd have to believe yes. I don't know what sort of memory footprint it needs, but it may not be too much for a P2 with external RAM given the machines it used to run on back in the day.

    So if you are still into this type of thing and were considering any other games for the P2, this may be a candidate project one day perhaps....? It's a pretty cool game which I presume you would have also played at some point.

  • @rogloh said:
    Hi @Wuerfel_21 as you are porting these games right now, when playing on that GPi Case 2W system (Logicon thread) I noticed there is a C based port of the original Price of Persia game which ran on this machine. I didn't realize that code was even opened up but it apparently has some reverse engineered source from the original disassembly as a project on GitHub here.

    https://github.com/NagyD/SDLPoP/tree/master

    They currently use SDL for the gfx, and it also uses midi playback with an OPL3 emulator which has be wondering: do you think this game would be feasible for a P2? Given what you achieved with the NeoYume system I'd have to believe yes. I don't know what sort of memory footprint it needs, but it may not be too much for a P2 with external RAM given the machines it used to run on back in the day.

    The big problem is that dropping random C code into FlexC tends to produce results that are, uh bad. (I also tried to make some headway on Wolf3D, but got derailed immediately by compiler bugs - those should be fixed now, maybe retry). Maybe it's finally time to give @n_ermosh 's LLVM backend a try? Does that support overlays and/or -fPIC currently? That's a big pain point with flexspin and large projects - all the code needs to live in hub RAM. For reference, the P1CC Spintris port here is 95672 bytes uncompressed (44906 bytes compressed). Or maybe try Eric's RISC-V gizmo, but that might thin the soup a bit much.
    (On this subject, note how the T2K port partially happened because I found virtualizing the Jaguar 68000 ASM to be far more approachable than porting C code :P)

    OPL3 emulation is probably in some realm of possibility, though could also do a basic soundfont player (see also: the mikodsp.spin2 driver from the T2K port -> very simplistic PSRAM sample playback, seems to hold up very well even with a lot of bus contention).

    So if you are still into this type of thing and were considering any other games for the P2, this may be a candidate project one day perhaps....? It's a pretty cool game which I presume you would have also played at some point.

    Maybe, but this project was/is about P1 ports (because those are easy - making semi-arbitrary Spin1/PASM1 work is mostly trivial and can use shared infrastructure like the PortHAL). (Notably not including Spin Hexagon, which has an enhancedTM port already. Though while you're here, can I ask you to finish/release the HDMI audio version of p2videodrv? - that's really a blocker for that one becoming Nice)
    I really want to work more on original works... Though IDK what to make. I was considering turning the 3D renderer from teapot demo into some sort of car racing thing once I complete the featureset, but that's a lot of effort there, so idk (I think collision physics may be arcane coding magick - not that I haven't mastered such before - but uuuh I can't estimate the complexity. Same for AITM opponent drivers, etc). If anyone has like, good ideas or skills that match my weak points, feel free to reach out to put a little Thing together, together.

    I did play PoP before, but I never got far, it's just one of those that doesn't really click with me.

  • roglohrogloh Posts: 5,971

    @Wuerfel_21 said:
    Though while you're here, can I ask you to finish/release the HDMI audio version of p2videodrv? - that's really a blocker for that one becoming Nice)

    Yeah it's probably 95% done. I just need the final push to wrap it up. Been doing a bunch of other HW (and home stuff) lately though this year and have not had a lot of time for SW (I often drift between focussing on these two aspects during the year, usually mostly one at a time).

    I did play PoP before, but I never got far, it's just one of those that doesn't really click with me.

    ok

Sign In or Register to comment.