Login
Back to forumReply to this topicGo to last reply

Posted By

Csabo
on 2005-04-18
09:10:42
 Upcoming Demo

As the readers of the Hungarian forums already know, DCD is organizing a new demo project. This was supposed to be released for the 20th bday of the Plus/4, but it's going to be a bit late... It would be something like the Cracker's Demo series. Anyone who feels like is invited to contribute with a demopart.

The details so far:
- Confirmed participants: bubis, Murphy, Ati, Csio & DCD.
- Tentative deadline: 2005.05.31.
- Technical restrictions: don't use memory above $E000 (reserved for loader, etc).

You can contact DCD or use this thread to ask questions.

Posted By

Luca
on 2005-04-18
09:34:15
 Re: Upcoming Demo

Personally, I'm ready: all the ppl can ask me about original music and graphics for their parts. I'm just drawing a logo for...eheh. wink

Posted By

bubis
on 2005-04-20
11:05:31
 Re: Upcoming Demo

Some more important/usefull infos:

1) DCD takes care of the compression, give them your part uncompressed.
2) When the part ends, jump to $fcfd.
3) Try to organize all the executed code into irq routines if u dont use all of the available memory. This makes possible to load form the drive during your part. happy
4) DCD's ICQ uin for consultation: 79402253
5) I can help as well if not too busy (icq:24418272; skype:andras.dotsch)

bubis

Posted By

bubis
on 2005-04-21
02:51:44
 Re: Upcoming Demo

3+) Ahh, and leave the CPU alone for a while.

Posted By

Luca
on 2005-04-21
06:30:22
 Re: Upcoming Demo

Bah, the 3rd point sounds confusing for a lamer like me
Probably, it means that all the subroutines call each other with IRQ assignment+a flag placed on $ff0b: it means I had to divide the screentime in order to run music routine for a timeslice (let put, e.g., #$20), another timeslice, e.g. ,for a scrolltext (dunno how much), the rest for an effect (dunno how much).
It would show as follows:

*effect *scrolltext *music
... ... ...
irq scrolltext irq music [CPU is free irq effect
lda #$80 lda #$90 until $ff0b is lda #$e0
sta $ff0b sta $ff0b #$e0] sta $ff0b
... ... ...

Am I right, in a general view?
I guess I can't code the classic Terrorists'demo, with music and scroll, but I would. One idea is to code a lame stupid stuff, showing the logos drawn during 1hour logodraw compo at 4ever03...

Posted By

Luca
on 2005-04-21
06:33:50
 Re: Upcoming Demo

*effect
...
irq scrolltext
lda #$80
sta $ff0b
...

*scrolltext
...
irq music
lda #$90
sta $ff0b
...

[CPU is free until $ff0b is #$e0]

*music
...
irq effect
lda #$e0
sta $ff0b
..

Posted By

bubis
on 2005-04-21
08:00:05
 Re: Upcoming Demo

Yes Luca, I think u got the point. The main idea is that if the program (demo part) execution is in the irq then the "main" program can load form the disk with a proper loader (so called irq loader). That's all.

But it is not necessary to separate every task into separate irq routines. U can do the sid playback and the effect in one irq for example.
And an other nice trick is nested irq-s: when u call a CLI in an irq routine allowing other irqs happen to manadge smaller tasks (like raster effects or a scroller), but I dont want to overload your brain... happy

Posted By

Luca
on 2005-04-21
11:05:47
 Re: Upcoming Demo

Well, bubis, I tried the asl$ff09 lda#$xx sta$ff0b in the Lonenews Editor intro for the very first time, following some talking sessions I had with DCD.
The results had been mmmm....bah, average: the stuff runs, but I'd tried to better animate all the stuff via irq, and *dunno why!*it hadn't worked. Hence, I decided to stop the experiment at that reached level. We'll see, but watching the facts from my personal point, this is, as it is, a big quality jump for a llamah like I am.

I never tried to code a scrolling text. Well, I tried years ago, but probably the timings are wrong, cause all my attempts had shown occasional "jelly" moments during the scrolling. Probably, I must NOP that code manually (a series of NOPs instead than a NOPloop), and that would mean this is the very last thing to set, after alll the other stuff run.
I also think that, e.g., a 2x2 chars scrolltext needs a fully correspondant ASCII charset (where "a" stays for upper side of "a" and "a"+#$40 for lower side of a, etcetera), using a smart ORA#$40 for the lower line.
Because of this, I also suspect that 2x2 charsets are done as follows:
#$01----> XX <----#$81
#$41----> XX <----#$C1

Auff, whu I got so much lameness over my shoulders!?

Service Communication! Service Communication! Service Communication!
O Mister X that asked me for a logo: the job is done, I could send it via email but I prefer to give you the stuff personally. So, plz, contact me via ICQ, for examle! happy You'll like it!

Posted By

Csabo
on 2005-04-21
12:01:29
 Re: Upcoming Demo

It's definitely easier to code a 2x2 scroll that uses the restriction you've mentioned (basically you output the original char + OR $40 + OR $80 + OR $C0), but you don't have to. You could use a character look-up table.

In LOD is back, the hidden part has a 2x2 font. It's not scrolling, but it's an example for lookups. (The reason of doing it that way of course was memory limitation.)

If you use the 5x8 char editor, you can edit lots of sizes, AND it will make an actual scroll routine for you! All you have to do is use that code and call it.

Posted By

Luca
on 2005-04-21
12:22:29
 Re: Upcoming Demo

Which shape a lookup table has?
I imagine a series of cmp/bne instruction: load the next char to be printed, then a gigantic LM list distribute the correct chars (that's the way that LNeditor used to).

Posted By

Csabo
on 2005-04-21
16:52:02
 Re: Upcoming Demo

It's pretty simple. Let's say the letter "A" is made up of characters 1,2,3,4. Then letter "B" is made up of 5,2,6,7. (See, they share one character... But O and U for example could share the bottom two etc.) You would simply store this as a "table", just some bytes after another.

table
DB 1,2,3,4
DB 5,2,6,7

When you want to print a 2x2 char on the screen, let's say the character is in "A":
ASL A
ASL A ; multiply by four for the lookup
TAX
LDA table,x
STA (screenpos)
LDA table+1,x
STA (screenpos+1)
LDA table+2,x
STA (screenpos+40)
LDA table+3,x
STA (screenpos+41)

Something along those lines.

Posted By

Luca
on 2005-04-22
19:12:18
 Re: Upcoming Demo

Ah I understand...
Csabo, I watched the sample2.asm file you released with Plus4 IDE, and I was surprised by the AXy storing at the beginning of interrupt routine: I hadn't do it! I guessed that AXY registers were automatically stored in the stack when ai IRQ happens!

Posted By

Csabo
on 2005-04-23
10:49:44
 Re: Upcoming Demo

Yes, if you want to have a main program running beside your IRQ, you have to save any registers you use. (If you only use A and X for example, it's enough to save those.) Also, you don't have to use the stack, it's very common to save the registers to a 16 bit address (lame) or a zeropage address (best for speed). If you don't have a main program, you don't have to worry about any of this though.

Remember, the source for LOD is Back is also released to the public, it has tons of effects and tricks, all fairly well commented.

Posted By

Luca
on 2005-04-23
14:08:16
 Re: Upcoming Demo

"LOD is back!" source seems to be quite difficult to be read by me, I tried but I'm not skilled enough.
Today, I played managing a moving rasterbar, and I had my difficulties, though I got the $FF1E checking stuff. Finally, I was half happy and half discouraged, cause the timing facts. In "Lameness" I used a raster editor in order to draw the bars, but I would do them by myself, in order to learn.
Things I caught: there should be a rastertable, containing $FF1E screen level and most of all, times that the bar is drawn in that $FF1E height (that's like a "waiting bar"). If you have more than one bar, once both had been drawn, the very last is the frontward one.
The bar moves, but I have to change the $FF0B for it, and the bar's thickness changes during its move ($FF0A missing bit facts?). Often, there are some glitches (do I need some NOPs?).

Bah, it continues to be a big mistery for me, so mani issues...

Posted By

Luca
on 2005-04-23
14:54:54
 Re: Upcoming Demo

...and I still have problems in music play...maybe I had to handle $FF09 when calling the IRQ without using an irq (simply JSR$1003 and SIDcard shifting).

Posted By

Luca
on 2005-04-27
13:07:00
 Re: Upcoming Demo

I played a bit in the direction of running a program via IRQ only: some settings at the beginning that pass to IRQ all the job.
It means that all the code runs at IRQ timing, after the initial code, and this initial code must start the IRQ waterfall.
In order to do it, the setup code must finish with a RTI, or a BRK, or a nested JSR, and playing with stack and counter in order to make it works.
I tried lotta choices, but no one, had worked.

Hence: which's the secret within?

Posted By

Csabo
on 2005-04-27
13:16:28
 Re: Upcoming Demo

If your demo/whatever runs completely from IRQ, all you have to do at the end of your initialization routine is to do a CLI (to let them run) and JMP * (endless loop).

Posted By

Luca
on 2005-04-27
13:32:15
 Re: Upcoming Demo

Oops!
OMG, I'd thought, that way isn't a full IRQ running code!
In facts, if I try to avoid the endless loop (JMP itself), the whole stuff runs at a crazy interrupt timing happy
I guess I did something very stupid then...

Posted By

DCD
on 2005-04-28
03:29:02
 Re: Upcoming Demo

ok, i knew i should have answered earlyer to bubis's post

however it's possible to code a demo, which loads next parts during the actual effect (using nested irqs),
it's very difficult to do it in a cooperation demo, where several coders make his own part separeted from each other.
let's take an example:
coderA contributes with partA, coderB with partB. partA uses memory up to $d000 (loader from $e000!), only $d000-$dfff is free to load.
i should force coderB, to make partB be able to compress down to $1000, so partA could load partB while running.
mission impossible.
i think irqloading during the effect is a nice idea for a oneman show, but not the way a cooperation demo sould work.

btw, if you plan more than 1 part, you may use nested irqs wink

Posted By

Luca
on 2005-04-28
09:08:11
 Re: Upcoming Demo

Nested IRQs?
I'd written the EOR instruction yesterday for the very first time, while you were talking of nested IRQs!

Posted By

Luca
on 2005-05-09
12:34:21
 Re: Upcoming Demo

Who contacted Skoro and the TLT in order to have a part?

Posted By

Csabo
on 2005-05-09
16:20:27
 Re: Upcoming Demo

Maybe the question should be: has anyone contacted them? My guess is that Skoro and the TLT team don't have internet connection at home, so they may not know about it.

Posted By

Degauss
on 2005-05-10
00:49:48
 Re: Upcoming Demo

Erm, eh. I'd probably like to take part, but i don't know if i got enough time to do so. Is 31.05.2005 a fixed date?

Posted By

bubis
on 2005-05-10
02:40:20
 Re: Upcoming Demo

No, it is not fixed as I know but there is no guarantee that u can take part if u send your part after may. So u better take it seriously.

Posted By

Degauss
on 2005-05-10
03:06:41
 Re: Upcoming Demo

Ok. I'll see if i can put something together until 31st. Thank you

Posted By

Luca
on 2005-05-10
11:49:40
 Re: Upcoming Demo

I'd like to suggest that, if your available coding time is too short, you could present one of your just known fx in a brand new fashion. Better older than missing.

At the moment, me, DCD and bubis are the most sure participants. About me, I only have to compose the dedicated music (today I'd to code the fadeout, but I was lazy and the sun outside was inviting; I'd only written some quick code during lunch, and, dunno why, the global stuff works well...).
A list of "dunno, probably, I'll try" will follow, with different probability percentage: Dr.Death/TEK,TBH/TDC and others that probably don't wanna be named.
Probably, we need to scream toward the "Tokai zone" of the +4 (TLT, Skoro, maybe Sensor), because we're not sure they know about the demo.

31 May is THE date at the moment.

Posted By

Luca
on 2005-05-10
19:40:10
 Re: Upcoming Demo

Ah, I'd forgotten, Murphy and ATI (la creme de la creme!), how it had to be possible? wink
CSIO, and you? wink

Posted By

Degauss
on 2005-05-12
08:51:39
 Re: Upcoming Demo

Ok, seems that i can make it until 31.05. So: I'm in!

I can get along with putting everything in nested IRQ's but I still have some questions concerning the Framework/IRQ-Loader:

- Will this be a PART - SPACE - PART - SPACE - Demo or is it supposed to be more like a Trackmo? If it's ought to be Trackmo-like: Will there be a "global" Music? If yes: JSR $1003 or where to?

- Is there any suggestion about how much RAM and CPU-Time should be reserved for the IRQ-Loader? E.g. 16KB, half a screen every 2nd frame? (Sorry, no experience with that...)

Posted By

Degauss
on 2005-05-12
09:09:31
 Re: Upcoming Demo

Erm, sorry, I meant: How much RAM should be preserved for the *next Part* (not the IRQ-Loader)

Posted By

DCD
on 2005-05-12
09:48:27
 Re: Upcoming Demo

it'll be an old fashioned press-space demo, therefore:
- no global music, everyone should use his own music.
- you should not code in nested irqs (no loading during parts, there will be a separate loader part)
- you can use the memory from $10 to $dfff
- jmp to $fcfd when your part ends

happy coding! happy

Posted By

Luca
on 2005-05-12
10:22:43
 Re: Upcoming Demo

Hahahaha, lol!
I killed my synapsis in order to have a nested IRQs running part, and now... happy

Posted By

Csio
on 2005-05-18
16:58:09
 Re: Upcoming Demo

Have you got anybody a 'free-timer-switcher', cause i need it.......very-very much
The may in my company is very dangerous ::: a lotlotlot-work
So and here coming the june,........ah,my god
I MUST CODE! DON'T SLEEP! CODE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
and i am angry cos no time to .......CODE!!!!!

Posted By

Csio
on 2005-05-18
17:00:05
 Re: Upcoming Demo

ahhh, what a llama question: Have you got anybody......
sorry, my mind is smashing ....

Posted By

Luca
on 2005-05-18
18:36:36
 Re: Upcoming Demo

Hey, don't waste time killing the forum's page, but COOODE! happy

Posted By

Csabo
on 2005-05-18
21:35:37
 Re: Upcoming Demo

I had to reduce the number of your exclamation points... I hope you don't mind, the core of your message is still the same.

Posted By

DCD
on 2005-05-23
09:39:58
 Re: Upcoming Demo

a new rule (recomendation):
please, set up all used ted registers in your part, dont assume they have the default values.
for example, its not sure that $ff14 will have the value of $08, when your part gets called

thanx

Posted By

Luca
on 2005-05-23
10:15:56
 Re: Upcoming Demo

Aha! I did them all, I did them all!

Posted By

Csio
on 2005-05-23
12:34:22
 Re: Upcoming Demo

OKAY DCS! we had it....
But what's with the BIT$ff19?
and can we use the illegal codes?
and what is the design?
1.get space to ready next dimension
2.timer countdown will kicks watcher's asseseseseseses
3. print rnd (x)
and what about the crunching if i need decrunch while my part is running, but the memory is weak.....can i use any compressor?
and can we use the jsr$ff81 when our part beginning?

we are waiting your answear......

Posted By

Luca
on 2005-05-23
14:45:05
 Re: Upcoming Demo

Csio, who the hell is DCS? happy

My part uses the spacebar to go on, and if you need compress/decompress memory for your effect, I don't see difficulties in using a cruncher. From the other side, if you simply had coded several parts matrioska-crunched, well, let load them separately!
Personally, I don't see problems in use $FF81 kernel call..

DCD, wadda you say about?

Posted By

Csabo
on 2005-05-23
17:36:14
 Re: Upcoming Demo

You mean you DON'T know DCS? He's a friend of Lákó, Króna, Ngga and of course Töpsöh. Get with the program!

Posted By

Luca
on 2005-05-23
19:30:44
 Re: Upcoming Demo

Mmmmh, most of all, I don't see any DCS here
Hey are you joking me? wink

Posted By

Ati
on 2005-05-24
13:40:12
 Re: Upcoming Demo

Nu, my part is ready! wink

Posted By

Luca
on 2005-05-24
14:57:30
 Re: Upcoming Demo

About me, I'm still composing my nostalgic tune, gimme a couple of days yet... wink

Posted By

Degauss
on 2005-05-24
20:33:11
 Re: Upcoming Demo

Mine is nearly finished aswell...

Posted By

Csio
on 2005-05-25
11:57:52
 Re: Upcoming Demo

yes-yes, Luca!

CSABO RULEZ!!!!

DCS=dcd in hexadecimal
Krona=chronos in hexa
and so on......
my part is very poor in this time........but i hope the date 'may 31' will moving to june 12........
see you xxxx

Posted By

Luca
on 2005-05-25
12:09:28
 Re: Upcoming Demo

Oh, well...
Csio, if you have another personal precise deadline date, seems to be good... E.g., after my part is ready (today/tomorrow!), I have to compose some jingles for the IRQ loader, and push it into $e000 space. So, time will pass, but the best is keep the date of 31may!!

Posted By

Luca
on 2005-05-26
07:49:04
 Re: Upcoming Demo

Ok, my part is in too.

Posted By

nukem
on 2005-05-27
16:23:34
 Re: Upcoming Demo

yo, my (recycled) part is 98% ready. sum bugs that i don't find.
maybe release this or nexxt night!

Posted By

Luca
on 2005-05-27
16:55:34
 Re: Upcoming Demo

LOL, with forgotten password! happy
Good job, Marcus, you're the 4th part that DCD will get!

Posted By

nukem
on 2005-05-27
20:38:10
 Re: Upcoming Demo

+++ HOT NEWZ +++

Yeah! I finished my part just in this minute!! Hard work, 'coz there were many bugs and raster-errors. It isn't still perfect, but ya can look it!
So, I'll send this crazy part to DCD.

CUL8ER!

Posted By

bubis
on 2005-06-17
08:36:02
 Re: Upcoming Demo

My two parts are 95% ready. Just waiting for music from a c64 musician and than I build them togethert. Ahh, there will be no loading between them. happy

Posted By

Lavina
on 2005-06-20
03:24:26
 Re: Upcoming Demo

cummon guys, I think everybody should time his/her part and forget SPACE at last.



Back to topReply to this topic


Copyright © Plus/4 World Team, 2001-2024. Support Plus/4 World on Patreon