Welcome, Guest. Please login or register.

Author Topic: active minimig coder  (Read 6897 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline boing4000Topic starter

  • Full Member
  • ***
  • Join Date: Apr 2006
  • Posts: 222
    • Show all replies
    • http://www.amigademo.de
active minimig coder
« on: June 04, 2008, 12:38:01 AM »
Hello,

is there any other active minimig coder arround? I would like to share informations and ideas to fix some bugs in the FPGA core.

Priority could be:
- bitplane distortion (possible due to ddfstart and ddfstop issue)
- blitter (some player character are invisible - not sprites)
- sprites (minor things)

I already did some changes to the core in order to figure this problem out.
With combined power we should make minimig working just as an A500 :-)

Regards
boing4000
 

Offline boing4000Topic starter

  • Full Member
  • ***
  • Join Date: Apr 2006
  • Posts: 222
    • Show all replies
    • http://www.amigademo.de
Re: active minimig coder
« Reply #1 on: June 04, 2008, 01:32:23 AM »
Quote

Believe it or not, these things are holding me not to buy MiniMig yet. I hope to see a new firmware, that I can play Speedball 2 (or can I?).


You can! Its working really great on minimig (terrible loading behavior ;-) ).
Many other games also work but show minor or mayor display problems. So it should be fixable.
 

Offline boing4000Topic starter

  • Full Member
  • ***
  • Join Date: Apr 2006
  • Posts: 222
    • Show all replies
    • http://www.amigademo.de
Re: active minimig coder
« Reply #2 on: June 04, 2008, 01:40:51 AM »
Quote

HenryCase wrote:

You'll find some here:
http://gamesource.groups.yahoo.com/group/minimigtg68/
There are other active Minimig developers around, but the Yahoo Group in the link above is a decent place to start.


Thanks but this is for DE1 and DE2 developer board from Altera. This ppl did a portation to another hardware and FPGA. Also using a Z80 cpu to load the core and simulate floppy.
I asked them for compatibility before, basicly its the same core but with changes to different FPGA design.

I'll take a look at the sources, perhaps there are already some bugs fixed.
 

Offline boing4000Topic starter

  • Full Member
  • ***
  • Join Date: Apr 2006
  • Posts: 222
    • Show all replies
    • http://www.amigademo.de
Re: active minimig coder
« Reply #3 on: June 04, 2008, 08:42:56 AM »
Perhaps I found a major bug trace. Using kickstart 2.0 raw cli, dragging the screen down will shift or "destroy" bitplane below line 200 (NTSC range). In Kickstart 1.x it is working correct, most likely 2.0 use a different copper list.

I already change the copper and got a bit better result, also in some demos it shows little improvement.
Still this instruction $FFDF,$FFFE (copper jump over range) could not work right or will be ignored?
Would be nice if somebody could crosscheck this.

digest of copper.v in this matter (very last part):
Code: [Select]

//the last cycle in a line is not usable by the copper(?)
always @(selins or selreg or horbeam[1:0])
if( (horbeam[1:0]==2'b01) && (selins || selreg) )//request dma cycle
// (horbeam[8:2]!=7'b1110001) && <removed for testing, shows little improvement>
reqdma=1;
else
reqdma=0;
 

Offline boing4000Topic starter

  • Full Member
  • ***
  • Join Date: Apr 2006
  • Posts: 222
    • Show all replies
    • http://www.amigademo.de
Re: active minimig coder
« Reply #4 on: June 04, 2008, 12:44:05 PM »
@alexh

thanks for your ideas and argument. First of all I mentioned that it could be the cause. also by taking out the last cycle command fetch some "bug" was gone and the copper appears more like the original one.

Also I did not add "always @(selins or selreg or horbeam[1:0])" it is contained in the original code 27_04_2008 release from Dennis' website.
In my understanding the last cycle in this "jump over range" line is $FFDF,$FFFE (wait for column $DF in line $FF) this is no "regular" command, it is just for skipping over line $FF.
Maybe the copper can not handle the further copperlist after that command right. it would at least explain the distortion.

further on I have reason to believe that something in dualplayfield or ddfstart/stop handling is incorrect. many demos show a destroyed screen, mostly in scrolltexts and logos. this could caused by mismatch of blitter modulo and bitplane width.
 

Offline boing4000Topic starter

  • Full Member
  • ***
  • Join Date: Apr 2006
  • Posts: 222
    • Show all replies
    • http://www.amigademo.de
Re: active minimig coder
« Reply #5 on: June 04, 2008, 12:47:39 PM »
Quote

TheDaddy wrote:
You can play Speedball 2 on the Minimig but on mine the sound is corrupted so no "Ice Cream!, Ice Cream!" :(


One missing sample makes the game unplayable? Here (in PAL50 mode) it is working fine. perhaps due to the PAL60 patch the timing is incorrect. Did you try the same adf on real amiga?
I found out that this PAL60 hack is not very compatible, many games/demos wants to wait for raster line 254 or at least something beyond 200 what the NTSC range is.
This games/demos simply stop or freez at 60Hz refresh rate, so it is no real NTSC simulation.
 

Offline boing4000Topic starter

  • Full Member
  • ***
  • Join Date: Apr 2006
  • Posts: 222
    • Show all replies
    • http://www.amigademo.de
Re: active minimig coder
« Reply #6 on: June 04, 2008, 01:04:23 PM »
Quote

BraindeaD wrote:
AFAIK Yaqube is working too in Minimig's improvements.


Yaqube did not release the source code to the PAL60 with bilinear filter firmware! so one could only guess what the changes are :madashell:
GPL clearly indicate that source must be release (at latest by request) to a public binary release.
 

Offline boing4000Topic starter

  • Full Member
  • ***
  • Join Date: Apr 2006
  • Posts: 222
    • Show all replies
    • http://www.amigademo.de
Re: active minimig coder
« Reply #7 on: June 04, 2008, 01:09:18 PM »
Quote

TheDaddy wrote:
The same ADF works fine under WinUAE, I haven't tested on a real Amiga.

My Minimig is the standard one from ACube.


Then the adf should be ok. my minimig is also "standard" ACube one, the loaded firmware inside the FPGA is the real magic. Any minimig is "dumb" when powering up. Every different firmware makes it operate different.
Therefor this PAL60 hack could very well be the reason for many disfunction.
 

Offline boing4000Topic starter

  • Full Member
  • ***
  • Join Date: Apr 2006
  • Posts: 222
    • Show all replies
    • http://www.amigademo.de
Re: active minimig coder
« Reply #8 on: June 04, 2008, 06:17:10 PM »
Yes thats me, there was a longer time no action in this Yahoo group and Im happy to see some reaction.

I think it would be best for all to share the information and source. Also to find a common line of development. Else there could be many different firmware and features releases.
Vesalia and maybe AmigaKit also would like to see a combined development to offer their customers some new (supportable) firmware.
Else it could give e.g. 10 version with 20 different features. A normal user with no programming skill would be unable to use all features at once or have to swap the core (minimig1.bin) all the time.

Also another developer did not know how some feature is realized and it can take much more time to grep a thing out  and use this in own project.

Comparing to GNU Linux kernel, minimig needs a bit of guidance to let evereything go the same way. I think that may be of best interest for all minimig platform porting and its users of course :-)

Regards
boing4000
 

Offline boing4000Topic starter

  • Full Member
  • ***
  • Join Date: Apr 2006
  • Posts: 222
    • Show all replies
    • http://www.amigademo.de
Re: active minimig coder
« Reply #9 on: June 04, 2008, 06:25:36 PM »
Quote

TheDaddy wrote:
My Speedball 2 adf workd on WinUAE perfectly but on standard Minimig its sound is all scrambled up and corrupted, so annoying, any help?

Thanks :-)


Thats right the mentioned problem. A released firmware (without source code) is not working fine. How can anybody support this or even upgrading to full operation?

@TheDaddy
sorry I can not help right now. I also have this PAL60 binary and will try it out. As pointed out before, this NTSC hack could cause many unknown problems, I also encounter some while testing.

EDIT: you are right, all sounds in speedball 2 with PAL60 firmware are trashed down. In original Dennis' firmware and own expansions it works correct even with slowram enabled.
What can I say... ask for the source and lets find out the problem.
 

Offline boing4000Topic starter

  • Full Member
  • ***
  • Join Date: Apr 2006
  • Posts: 222
    • Show all replies
    • http://www.amigademo.de
Re: active minimig coder
« Reply #10 on: June 04, 2008, 07:13:14 PM »
Yes and no... Dennis released 2 firmware version. I dont know what version ACube shipped with because I did not get my minimig with prepared sd-card.
I use this  Dennis' current version from his website (and altered the source code a bit). Even untouched this firmware works very fine with speedball 2.

I believed you also can only use PAL60 on your TFT screen??
This firmware only supports PAL (50Hz) with 15 and 31KHz by jumper setting.

Please tell me exactly what firmware (minimig1.bin) you are using.
 

Offline boing4000Topic starter

  • Full Member
  • ***
  • Join Date: Apr 2006
  • Posts: 222
    • Show all replies
    • http://www.amigademo.de
Re: active minimig coder
« Reply #11 on: June 04, 2008, 08:39:55 PM »
yeah then just download the current version and try again. the core is not changed that much but it could work better with it.
at least here speedball 2 works very nice and without any error. but still only in 50Hz refresh rate mode.

ps: minimig1.bin will always be the same file size. it depends on spartan xc3s400-4pq208 internal layout. just the file date can tell what version it could be.
 

Offline boing4000Topic starter

  • Full Member
  • ***
  • Join Date: Apr 2006
  • Posts: 222
    • Show all replies
    • http://www.amigademo.de
Re: active minimig coder
« Reply #12 on: June 04, 2008, 10:20:08 PM »
100% correct procedure. dont worry, nothing will be damaged but rename or save the other minimig1.bin somewhere.

power down minimig and restart with new firmware on sd-card!
without power-down the spartan may keep some bits from the older firmware inside and will not act as it should. I found this out by testing many changes on the core with sometimes strange results.
here is my version: download with included description AND source.
 

Offline boing4000Topic starter

  • Full Member
  • ***
  • Join Date: Apr 2006
  • Posts: 222
    • Show all replies
    • http://www.amigademo.de
Re: active minimig coder
« Reply #13 on: June 05, 2008, 02:40:24 PM »
Sorry my english is not that perfect... I try to explain all this in my (translated) words. Its pretty complex to discuss that stuff via text only.

I will check things out and report (hopefully understandable) the result here.

Quote

(WTF is my HRM?)

??? is my ??? - all alien to me.
 

Offline boing4000Topic starter

  • Full Member
  • ***
  • Join Date: Apr 2006
  • Posts: 222
    • Show all replies
    • http://www.amigademo.de
Re: active minimig coder
« Reply #14 on: June 05, 2008, 05:23:16 PM »
Yep I did ;) unfortunately I also dont have a HRM to look at.
Right now Im working out that ddfstart/stop problem. Seems to be a combination of 2 signals. Bitplane data fetch stops but bitplane DMA is still working on until end of display line. That may explain heavy distortion in my beloved Vision Megademo IV and other games/demos.
I'll keep you informed about any progress.