| |
taper
Registered: Dec 2001 Posts: 119 |
Event id #2391 : The 2015 REU Compo
Welcome to the 2015 REU Compo --- Hosted by LFT, Ruk and Taper!
See the event-page on: The 2015 REU Compo
Your mission is to create the most awesome one-file demo that runs on a standard C64 with a 512 kB REU and no disk drive.
Background
==========
The Commodore RAM Expansion Unit (REU) is a cartridge that provides secondary storage to the C64. It was introduced at CES in 1985. The memory in the REU cannot be accessed directly from the CPU (hence
"secondary"). Instead, the CPU must instruct the REU to transfer a given amount of data to or from the cartridge. The REU then takes over the bus, stalling the CPU, and transfers one byte per cycle.
This is basically all there is to it. Apart from the extra storage, the REU does not make the C64 faster or more powerful---although see below for some intriguing possibilities.
The largest REU available from Commodore (the 1750) was equipped with 512 kB of RAM. Nowadays, it is possible to emulate REUs with as much as 16 MB, e.g. using VICE or the 1541 Ultimate. Even though you can only use 512 kB in this competition, there should be no problems using
the RAM expansion features in the 1541U/1541U-II, Chameleon64 or any other device fully compatible with the Commodore 1750 REU.
Rules
=====
1. Your entry must be in .PRG format with a BASIC header. The file must load to address $801, and end before it reaches the I/O area at $d000. The gives a maximum file size of 51201 bytes.
2. You may assume that a REU of at least 512 kB is available.
3. Your entry must work with a larger REU (i.e. you cannot assume that the upper address bits are ignored). You may not use the extra RAM available in such configurations.
4. You cannot make any assumptions about the initial contents of REU memory.
5. Your entry must work on a real C64 with a real 512 kB REU from Commodore. Please keep in mind that there could still be bugs in the emulators.
6. Deadline is set to 2015-12-31 at 23:59 in a time zone of your choice. Your contribution needs to be mailed to reu@wuff.se to be accepted. You are free to create a CSDb entry for your contribution, else we will do it for you.
7. Immediately following the deadline, voting will take place on CSDb during a period of two weeks. Anonymous votes will be counted. We allow self-voting unless you have multiple personalities.
Suggestions
===========
For your inspiration, here are some ways in which a C64 demo might benefit from an REU:
Obviously, the extra RAM is useful. For instance, the demo might pre-compute large amounts of sprite graphics, and then quickly retrieve a subset of the data just before it's needed.
The fast transfer rate could be used to speed up scrolling operations: You can copy a large bitmap from the C64 to the REU, and then back again at a slightly different address.
Last but not least, the REU has a mode where every byte in a transfer gets written to the same destination address. This can be used to display graphics using the idle byte, for instance. The target address
could also be an I/O register, and this might enable some new VIC tricks.
Technical information
=====================
Please refer to the following documents for details about the REU programming interface:
http://www.zimmers.net/anonftp/pub/cbm/documents/chipdata/progr..
http://codebase64.org/doku.php?id=base:reu_registers
Happy hacking!
/LFT, Ruk & Taper |
|
... 70 posts hidden. Click here to view all posts.... |
| |
ChristopherJam
Registered: Aug 2004 Posts: 1409 |
Thanks for the heads up - I've been testing in the wrong one... |
| |
Count Zero
Registered: Jan 2003 Posts: 1940 |
Firehwak: cough cough - a REAL drive should be the base testing ground. Definately not 1541Uanything.
Just my 2 cent. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11390 |
also REU emu in 1541u is _not_ entirely correct either! |
| |
insane
Registered: Nov 2006 Posts: 10 |
@Groepaz: but according to the chameleon bug list
"DMA transfers take 1 cycle more than they should"
which really screws up timing dependent code.
I did a simple reu 4bit wave player with screen off +
D020 changing as timing test - x64sc shows some rock stable
raster colors as well as 1541u2 - but on chameleon the
timing goes haywire.
So which timing should i follow - or will that "bug" be fixed soon?
just asking as I'm working on a small 15khz audio +
mcol video player which only syncs once per frame |
| |
chatGPZ
Registered: Dec 2001 Posts: 11390 |
yes, chameleon is also still broken (we are working on it :))
and obviously your reference should be neither, use a real REU for testing. |
| |
ruk
Registered: Jan 2012 Posts: 43 |
@Groepaz: Can you elaborate on the 1541u topic? |
| |
chatGPZ
Registered: Dec 2001 Posts: 11390 |
in some border cases the register contents after a transfer are wrong, that may be a problem if you don't rewrite all of them before each transfer. |
| |
Firehawk
Registered: Aug 2011 Posts: 31 |
@Groepaz: is that 1541u or also 1541u2? I know Qi does not work with 1541u, but works perfectly on 1541u2, real REU and ofcourse x64sc (not tested on chameleon afaik). My experience is that the REU-emulation of x64sc is very reliable. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11390 |
its probably the same on 1541u and u2 (i have not done extensive testing with both, i mostly use u2 recently).
x64sc is indeed pretty accurate, as said (all of my testcases work so far) |
| |
Shadow Account closed
Registered: Apr 2002 Posts: 355 |
I did not quite get from the rules if entries were to be mailed and then released by the organizer after dec 31, or if we can mail them but also add them to CSDb right away?
I have a little something that is almost done, and I think that by adding it to CSDb sooner than waiting for the compo deadline it might get more people motivated to make their own entries (the good old "pff.. that's lame, I can do MUCH better using the REU"). |
Previous - 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 - Next |