ARP Machines: Yet another computer collab

Work together on Algodoo projects here.

Which CPU architecture should this collab use?

ARP - My own thing, pretty simple
MIPS - Already used a ton in education, simple, real world.
No votes
ARM - Could be neat.
x86 - You got to be kidding me. No.
No votes
SPARC - Are we crazy enough? I like SPARC.
No votes
AVR - For the microcontroller afficionados
Total votes : 3

ARP Machines: Yet another computer collab

Postby Kutis 96 » Fri May 12, 2017 12:11 am

Hi, I've decided to bump the forum after some 6 years or something.
Let's just say I don't want to read my old messages, and I don't want you to read them either. :oops:

To the point:

Since the last time I made a 'computer' in Algodoo, I've felt somewhat guilty for them not being 'computery' enough. All they were were just some rather silly 'interpreters' made by someone who had no idea what a computer really is, just half knew what it does and saw a line or to of BASIC.
Since then I got a tiny bit more mature. And so is my idea of a computer, somewhat.

I'm now introducing the ARP: Algodoo RISC Processor.

So, what is it?

It's a 16-bit RISCy machine. Actually 'bit-precise'. It's going to be based on my Breakfast-2 CPU I've actually implemented in VHDL and ran on real hardware, just in Algodoo, and with some Algodooey extensions to the instruction set. To be more specific, the extra instructions are there just to generate random numbers, multiply/divide numbers, and to process strings a little bit easier than the original BF-2 would.

I will post the full specification of the BF-2 processor itself in the next few posts.

How's it going to be different?

Unlike my previous 'computers', it will actually be a pretty realistic computer. It will run actual 'machine code' rather than my pseudoinstructions from the past days. You will have to compile/assemble the programs. I intend to include a simple assembler that will actually run on the ARP to aid development. It should also be possible for YOU to create a simple compiler to ARP from something higher level, like C or whatever. It should be awesome.


I think it may be rather interesting for anyone half interested in computers. It may also serve as a simple computer demonstration model, possibly quite useful even for education purposes. :geek: And finally, it may let me stop being embarrassed about what I made here before and called computers and processors.

Basically, I just want to make something better than what I did before. :thumbup:

Why's this under the Collab cathegory?

What I want YOU to do, if you are interested, is to comment on the architecture detail, make programs for this thing, and have fun. If you have any questions, don't hesitate to ask them here.

I also want you to perhaps make some interesting hardware for it. Treat it like an Arduino for Algodoo, although I guess the Portex II must've been better for that purpose. You'll get a cookie if you make something with it, I promise. ;)

Who am I looking for as a collab partner?

Pretty much anyone interested. If you don't know any Thyme, any programming whatsoever, but you're still interested and willing to learn stuff, you're basically in.

If you know some stuff already, the better for us all!

What are the goals of this collab
  • Create a working ARP-based computer. I have one in the works already, should be released within a week from now.
  • Create a set of peripherals for it. This may include a terminal screen, RobotKit interface, something to run your package factory, a game console, whatever. The possibilities are near endless here, as with any general-purpose computer
  • Create a set of software tools for it. This should include:
    • A bootloader ("BIOS") - This should probably reside in the computer's ROM. It should be able to copy chunks of code from program cartridges into the main memory and execute the program from there.
    • A simplistic assembler - The tool of choice for ARP developers. It should be able to read an assembly program from a cartridge, and write a compiled binary on another cartridge. This may be rather fun/challenging to write. I may want YOU to make a better one. 8-)
    • A set of games and demos - These should be quite simple, mostly to catch your interest and to let you look at the code and understand it 'by example'.
    • Whatever you create! - Do share either scenes with cartridges with source/binaries of your projects, or just post the code in this thread! I'd love to comment on it :)
  • When crazy, implement some sort of a nice filesystem for it*). May require a memory expansion card/"SSD". I leave that up to you. The computer will ship with only 2k of RAM, used for both program and data.**)
  • Overcome the limitations. Mod it all. Do share.

*) A quick and dirty hack may include reading/writing files to your actual computer via the Algodoo's file read/write methods. ;) Though I'd consider this somewhat of a cheat, but it may be quite useful especially when using external tools, perhaps even to compile the code for ARP.
**) It should be easy to add more. It can address up to 65,536 words of memory. It should be possible to mod it to access even more.
I'm back! (not really!)

I'm also making real hardware, sometimes.
User avatar
Kutis 96
Posts: 107
Joined: Mon Jun 28, 2010 7:49 pm
Location: Chasing red dots.

Re: ARP Machines: Yet another computer collab

Postby electronicboy » Fri May 12, 2017 11:28 am

*goes to inform your mortal nemesis*
When asking for help, READ THE STICKIES!
Posts: 1694
Joined: Mon Aug 31, 2009 6:18 pm

Re: ARP Machines: Yet another computer collab

Postby faytree » Sun May 21, 2017 2:12 am

Finally, after months of staying away from Algodoo. I may be back from it (just because I'm interested in this). I do remember some bits of thyme I used to write but I'm not that familiar with Algo-computers, but still I'm interested to join in (though I don't understand most of those in "collab goals" :oops: )
waiting for semester break to come...
User avatar
Posts: 947
Joined: Mon Nov 05, 2012 1:37 pm
Location: Selangor, Malaysia

Return to Collab forum

Who is online

Users browsing this forum: No registered users and 0 guests