Posted By
bubis on 2002-11-25
| New FLI mode? Please test!
Hi faithfull plusy fans!
It was my old dream that came true yesterday afternoon. I've made my own FLI routine and this method is probably new on the Plus/4. It generates "artificial" badlines on only every second line, so the color and luminance is refressed as well. The resolution is 160x100 but every pixel can be colored freely. Yes freely, believe me! The only "ugliness" is that I show only half the pixels on a frame and the the other on the next frame so the colors can be seen darker than the original colors. Please test these pictures and the routine on your machine and report me the results.
http://www.tar.hu/bubis/plus4/dfli.d64
Anyway everythig about this (source, converter) will be relased soon.
bubis/RSC
|
|
Posted By
Gaia on 2002-11-25
| tar.hu
Congratulations!
I am really eager to see it, but www.tar.hu does not seem to work for me here in The Netherlends, so could you please send it via email?
Elore is kosz
|
|
Posted By
JamesC on 2002-11-25
| Bubis -->
Your site is also unreachable from the US, the current time is 12:36 GMT Monday afternoon.
|
|
Posted By
bubis on 2002-11-25
| it is sent
It is interesting! Is it possible that this site is not reachable from outside Hungary! I try to find some other place. Give me a tip!
bubis
|
|
Posted By
JamesC on 2002-11-25
| You may consider
asking one of the visiting website owners if they would post it online for you.
I run www.cbm264.com .... Atilla distributes YAPE from his site .... Csabo would probably post it on this site if asked .... Mike Dailly runs www.plus4.com ....
Alternate idea: set up a small site on one of the free websites like Yahoo or Stormpages. There would be advertising on the page, but you would have greater control over the look of the page and the distribution of your files.
|
|
Posted By
Csabo on 2002-11-25
| Can't get it either
Also unreachable from Canada. Attila, can you put it up somewhere, or bubis, send it to me and I'll post it here or on rulez.org.
|
|
Posted By
SVS on 2002-11-25
| Unlinkable from Italy too
|
|
Posted By
bubis on 2002-11-25
| wait
Wait, I make a website on Yahoo.
bubis
|
|
|
Posted By
MC on 2002-11-25
| yep
tar.hu is a pile of shit use csucs.hu or fw.hu for good storage.
|
|
|
Posted By
Csabo on 2002-11-25
| Got it
The new location is fine. I'll have to try this tonight on my real Plussy... (It displays something that resembles the original picture in YAPE.) Man, bubis, if it works I'll be *sooo* jealous. This was one of the things I wanted to get into for a long time. As you can see from my post from yesterday, I just got my real Plus/4 setup in a comfortable way so that I can get back to real hacking (not just through the emulator)... Ever since I saw Mucsi's and TLC's FLI, I wanted to do this too.
In fact TLC has desribed the 160*100 FLI mode in the FLI Editor's docs years ago! By switching the color map every second line (instead of every line like he did in his FLI editor, which he admitted was a mistake - Mucsi did that too, BTW) we *don't* get that screwed-up color side effect. This way there are two completely independent colors within a 4*2 area. I though that if I used multi color #1 to paint the one side of this area and the second multi color to paint the right side (in essence only use half the horizontal resolution), I would have a screen where every 'pixel' is independently colored. Well, something like that. But that would give me a resolution of 80*100. Will you just go ahead and tell us what tricks you used, or do I have to rip the program apart?
Good job though, couldn't be happier that someone is still fiddling with stuff like this, and that we are talking about it
(One other thing I wanted to do for long was writing a player that is 2 times or 4 times - or higher. That is, the player would be called more than once in each frame. Never could pull this off back in the day - and as far as I know, no Plus/4 demo has had a player like this. But someone had to go ahead and do this one too, didn't they!? )
|
|
Posted By
bubis on 2002-11-25
| how it works
I try to describe how it works. Imagine a 160x100 chess board on the picture. The pixels on the white cells and the pixels on the black cells give the whole picture and the picture can be divided into two independent part this way. If you show any of these on the screen you do not need more than two colors in a 4x2 area. So that can be displayed! I am just showing this two pictures from frame to frame repeatedly. That is all.
|
|
Posted By
bubis on 2002-11-25
| 8x2 not 4x2
Sorry, I mean you do not need more than two colors in a 8x2 area. It is four 2x2 pixels, two black and two from the picture. Ok, I think now it is understandable.
|
|
Posted By
Csabo on 2002-11-25
| Aha
Now I understand perfectly what you said in your first post about 'ugliness'. So basically every pixel will be displayed as an interlaced (flashing) mix of the color and black? Umm, I can't keep thinking that we can do something better than that. But I have to see how it looks anyway first.
|
|
Posted By
Csabo on 2002-11-25
| Doesn't work on NTSC
My PAL Plus/4's are in bad shape, the keyboards need major cleaning, so I could only try it on my NTSC machine. Doesn't work, of course... I looked at the code (quickly) in YAPE. You seem to be putting values from around $0400 to $FF07. I think the values are always the same, though. So what purpose does this serve?
Now that I have the an NTSC machine I can't believe how careless we coded all the games and demos. Don't overwrite that bit in $FF07!!!
Anyway, care to make an NTSC friendly version? Either check $FF07 first, and overwrite that table before 'running' the FLI, or don't touch $FF07 at all if you don't have to.
|
|
Posted By
JamesC on 2002-11-25
| Csabo -->
Now you see why we Americans (Canadians too, I guess) didn't mess with Euro demos and games very much.... have better things to do than fix all the changes to $FF07.
Now Jim H, being up there in Alaska, has only wolves and trees for neighbors so he can stay up all night cussing and screaming to himself, and not bother anyone.
|
|
Posted By
bubis on 2002-11-26
| why: $0400 -> $FF07
You seem to be putting values from around $0400 to $FF07. I think the values are always the same, though. So what purpose does this serve? I place the graphic screen to $8000 and I fill it with $48. It makes a (color1)(color0)(color2)(color0) sequence. Well, that is not a chessboard pattern. It is just vertical lines. I use XSCROOL to make a chessboard from it. I shift every second double-line with 2 pixels. That is why I'm writing $FF07. And I'm reading that table from $0400 and $0401 repeatedly. That is the white cells and the black cells on the chessboard.
Anyway, care to make an NTSC friendly version? Either check $FF07 first, and overwrite that table before 'running' the FLI Well, I don't know how is the timing on a NTSC machine but I try to make an NTSC version. I'll sent it to you for testing. But if you want I tell you what to do after a reset and how to restart the FLI routine.
|
|
Posted By
bubis on 2002-11-26
| try this NTSC fix
Hi!
Try this on NTSC machines: 1) Load a picture 2) RUN and wait 3) RESET 4) in MONITOR: >3fc3 58 >3fd4 80 g 3f00
If it works I will know how to make the FLI viewer NTSC friendly. But anyway...
|
|
Posted By
bubis on 2002-11-27
| Any result?
What are your experiences?
|
|
Posted By
Csabo on 2002-11-28
| Works on NTSC
With the changes you suggested, it works. I'm not sure it looks as expected, though. Here is how it looks:
(Click for bigger picture)
The timing could be off. But at least something is on the screen instead of out of sync garbage. I have to say that it looks very impressive...
|
|
Posted By
bubis on 2002-11-28
| NTSC version
No, it is not the same as on a PAL machine. It can be your tuner card or the timing is not perfect. But if the bad timing is the reason I'm very surprised at the picture. I can't imagine how can my routine generate this picture. In theory my TV can show the NTSC signal from the video in. I think I can connect my Plus/4 from the video out to the TV with the suitable cable. So I will hopefully be able to test my routine in NTSC mode and than I will bring it to perfection.
bubis
|
|
Posted By
BushRat on 2002-11-28
| Hig and Mig
Just passing through... James C should have some graphic files on a CD that I sent him. There are Fli and page flipped interlace graphics on it in Mig (Multicolor Interlace Graphics) and Hig (HiRes Interlace Graphics) in both Ntsc and Pal mode. They self display and have a creator program with them. The Graphics Utility program would handle these modes for conversion. Interesting that this mode wasn't explored in greater detail before this. Nice work guys.
|
|
Posted By
someone on 2002-12-03
| Hey bubis,
needs your routine all of the computing time while displaying the picture or are there some machine cycles remaining to modify the screen dynamically?
|
|
Posted By
bubis on 2002-12-04
| free cycles
Well, the FLI picture is generated with the following routine (after timing):
fli: NOP NOP NOP NOP LDA $0400,X STA $ff07 LDA $0480,X STA $ff14 LDA $0500,X STA $ff06 NOP LDA $00 INX CPX #$64 BNE fli
The NOP and LDA $00 is just for correct timing. So you can change these parts but the timing must not change. For example the first four NOP can be changed with:
LDA $0600,X ; 4 cycle, but 2 NOP is 4 cycle as well STA $FF19 ; the same
But this routine only works when the raster line is on the screen area (200 lines) and I call the FLI routine form an interrupt so the other raster lines are free for code.
Anyway I want to make an FLI animation too.
bubis
|
|
Posted By
bubis on 2002-12-04
| Nice FLI anim on C64
Anyway if you want to see a nice FLI anim on C64 than watch Larch from the hungarian group Resource.
bubis
|
|
Posted By
someone on 2002-12-04
| Thanks,
but I don't mean FLI animation at all, but some calculated graphics. What do you think about a 160x100 fractal with this color resolution (like in your "fragments" demo - but not the same speed, of course)?
|
|
Posted By
bubis on 2002-12-04
| fractal
Well, that effect is a zooming animation and it is not a calculated fractal. It uses a big fractal texture precalculated in a polar-logarithmic coordinate system. If we use a larger resolution we need larger texture as well. But it is not impossible.
|
|
Posted By
Bionic on 2002-12-11
| Done Before
My demo "Dream World" already contains a plasma effect using this color mode (minus the ugly interlacing ). I coded it in 1994. Unfortunately, it requires the 256kb extension, so it does not work on a stock plus/4. Well, maybe some of the emulators are already capable of proper FLI emulation ..
Btw, it should be possible to create a real interlacing mode by manipulating $FF1E. This would double the vertical resolution, similarly to the interlaces modes on amiga.
|
|
Posted By
Csabo on 2002-12-11
| Yeah, right
That "ugly interlacing" makes all the difference. Your demo "Dream World" does not contain a plasma effect using this color mode - it contains a 80 * 100 resolution plasma. We were talking about 160 * 100, double the resolution you've used.
Congrats on making that effect in 1994. I cannot imagine why you would make your demo 256KB only, eliminating more than 95% of your audience at the time. I remember getting this demo on a disk, and it refused to work because we didn't have 256K, so we deleted it.
|
|
Posted By
Bionic on 2002-12-11
| topic
Pardon my ignorance, but I am very well aware of the fact that the interlacing is used to double the horizontal resolution. However, I regarded the fullcolor FLI as the main innovation of this graphics mode. In fact, I wonder why it hasnt been used more often.
Making "dream world" 256kb did indeed not make very much sense, especially since the extra memory is only used as ramdisk for the trackmo system. But many active demo sceners in germany had 256kb back then, so there was still a considerable audience. If I had wanted to do demos for a bigger audience, I would have done C64 demos. (Or Amiga demos, as I did later on )
|
|
Posted By
Csabo on 2002-12-11
| True
Yours was probably the first actual implementation, but as I've already mentioned in this thread, TLC has described this mode back in 1992! Read the FLI Editor Note file. He just didn't implement it (probably got tired of the whole thing after developing a whole FLI editor).
This is just one of those nice things, but far from being the only one, that we should have seen in many, many demos...
|
|
|
Posted By
bubis on 2003-05-23
| Please test!
Please download the following and test it: http://dotsch.freeweb.hu/plus4/dfli_test.zip
How to test:
1) Run one of the prgs. 2.1) If looks good tell me! 2.2) Press Runstop + Reset 2.3) set the value of $3f41 from $64 to $6f (default: $69)
Example: >3f41 68
2.4) try again: g 3f00 2.5) go to 2.1
I need the good $3f41 values for PAL and NTSC!
The downloadable stuff contains source too for who is interested. The raw files are converted from the jpegs with Paint Shop Pro in the following way: 1) Resizesd to 160x100 2) Converted to indexed color mode with the plus4psp.pal palette file. 3) Saved in RAW file format.
Later I will make a better converter.
bubis
|
|
Posted By
bubis on 2003-05-23
| Re: Please test!
Before you ask: This is the multicolor (chessboard) version. The hires version is coming soon.
|
|
Posted By
bubis on 2003-05-26
| Re: Please test!
Any test result?
On my Pal machine $68-$6f are the good values. I suppose that every Pal machine is the same. But what about the NTSC?
|
|
|
Posted By
Csabo on 2003-05-26
| NTSC Results
Here's how it looks on my NTSC Plus/4:
The pink stuff at the top/left does not go away, regardless of the value. I've tried it with all values, but there is no difference (or I just can't see it). Could you do two things?
- Let the user adjust that value with cursor left/right. After the picture there's still probably rastertime left. It would be easier to adjust and to see what's different.
- Create a different test pattern. Something very high contrast and simple (e.g. one line light color, one line dark color alternating.)
|
|
Posted By
bubis on 2003-05-27
| Re: NTSC Results
Hi Csabo!
Thanx! That pink shit is my fault! I misstyped something and the begining of the bitmap is not filled with the right value! That's all.
I think I don't need more tests. I simplify the fli routine and release the stuff as soon as possible.
|
|
Posted By
bubis on 2003-05-27
| Re: NTSC Results
But no! You are right I create a test pattern.
|
|
Posted By
bubis on 2003-06-02
| Re: test
Ok, Csabo has tested the stuff. I try to release it with converter, source and everything during this week.
|
|
Posted By
bubis on 2003-06-11
| FLI converter first release
Hi!
I released my converter for the chessboard and hires mode finally. It is not well documented but here it is! Use it!
http://bubis.resource.cx/plus4/dfliconv/dfliconv01.zip
I will implement more FLI modes and I will work on the doc too.
bubis/RSC
|
|
Posted By
Csabo on 2003-06-11
| FLI converter first release
Wow! Very cool stuff! The hires conversion works well for me, but when I use the checkerboard conversion, it always compiles "dfliconv.jar", "dfli_ch.prg" and "dfli_hi.prg" into the output. This results in a file that you cannot run right away. I just ran it from the command line: conv_ch filename.gif and it seems to do this all the time. What am I doing wrong? Or is this a bug?
The resulting file can still be ran, I just open it with a HEX editor, cut the first $2EC1 bytes (the length of the jar file minus 2 bytes for loading address), then go to offset 278, and cut 211 bytes (the length of dfli_hi.prg). Voila, the file runs and the picture appears.
|
|
Posted By
bubis on 2003-06-12
| Re: bug
Hi Csabo!
It is probably a batch file bug. I used "/" as path separator intsead of "". I fixed it, please dowload again or correct the error yourself. The correct bat file is:
@echo off java -cp bindfliconv.jar dfli.DfliConv -grmode chessboard -scale -dither -outPrefix _temp_ %1 copy bindfli_ch.prg /B + _temp_.col /B %1.prg del _temp_.col
|
|