Minimig Discussion Forum

Discussing the Open Source FPGA Amiga Project
It is currently Fri Jul 28, 2017 6:41 am

All times are UTC




Post new topic Reply to topic  [ 43 posts ]  Go to page Previous  1, 2, 3, 4, 5  Next
Author Message
 Post subject: Re: Any Minimig hacker got time to review a Copper modificat
PostPosted: Tue Mar 04, 2014 11:34 pm 
Offline

Joined: Tue Dec 02, 2008 9:42 am
Posts: 42
madeho wrote:
In orginal release 131020 everythig is OK

In the v2.01 C-One release seen here:
Nov 26 2009 Extender.rbf

I get the same visual error. Can't be my mods then?


Top
 Profile  
 
 Post subject: Re: Any Minimig hacker got time to review a Copper modificat
PostPosted: Thu Mar 06, 2014 11:48 pm 
Offline

Joined: Fri Jan 20, 2012 9:32 pm
Posts: 55
Hi NorthWay,

Attached is working version modified copper. I've checked it on 'Dexion Megademo" & 'Copper Master'. It contain blipper circuit which seems to work (see simulation waveform below). To get an effect you have written (screen black & white, half and half) you have to modify your code. In a source attached to one of posts you start a bllipper only once by CPU write on line 170 and blipper is not started again. If you want to get an effect you have mentioned update copper list to wait for line 170 after that trigger blipper (by copper) and once again wait for $FFFF $FFFE. I haven't try that but it should work
Except copper file there is also updated version of agnus file. Updates are needed to allow read blipval register.

Thx,
madeho

Attachment:
blipper_sim.jpg
blipper_sim.jpg [ 353.98 KiB | Viewed 1247 times ]


Attachments:
source.zip [20.9 KiB]
Downloaded 95 times
Top
 Profile  
 
 Post subject: Re: Any Minimig hacker got time to review a Copper modificat
PostPosted: Fri Mar 07, 2014 2:20 am 
Offline

Joined: Tue Dec 02, 2008 9:42 am
Posts: 42
Thanks again. I'll be looking at what you have done over the weekend. (I see that returning a value from BLIPVAL was a lot less work than I expected.)

Not being competent but merely dangerous, I have two things in Verilog that I am so far struggling with:
- the use of = versus <=
- the use of || and && when comparisons are not involved (as opposed to | and &)

That last one if particular puzzles me, as I don't really see what it does and why it is used when the variables are single bits anyway? And using the logical versus the bitwise operator produces different results.


Top
 Profile  
 
 Post subject: Re: Any Minimig hacker got time to review a Copper modificat
PostPosted: Fri Mar 07, 2014 11:19 pm 
Offline

Joined: Fri Jan 20, 2012 9:32 pm
Posts: 55
Hi,

Quote:
- the use of = versus <=

I'm not a expert in Verilog but there is a rule of thumb I've found.
In a sequential process (always @(pos/negedge ...)) non blocking assignment shall be used ' <= '. In all combinatorial processes blocking assignment ' = ' will assure to generate proper logic chain.

Waiting for info from your tests


Top
 Profile  
 
 Post subject: Re: Any Minimig hacker got time to review a Copper modificat
PostPosted: Sun Mar 09, 2014 4:07 am 
Offline

Joined: Tue Dec 02, 2008 9:42 am
Posts: 42
madeho wrote:
Attached is working version modified copper.

I am looking at it, but I really don't understand what you have done to this part
Code:
always @(posedge clk)
  if (enable)
                reg_address_out[8:1] <= 8'hFF;//during dummy cycle null register address is present
        else
    begin
      if (~bus_blk & bus_ena & selins) //load our instruction register
                    reg_address_out[8:1] <= COPINS[8:1];
            else if (~bus_blk & bus_ena & selreg)//load register in move instruction
            if (c_active)
              reg_address_out[8:1] <= cir2[8:1];
            else
              reg_address_out[8:1] <= bir2[8:1];
    end

It seems to me to change the timing compared to the original? Or am I reading my logic the wrong way around?


Top
 Profile  
 
 Post subject: Re: Any Minimig hacker got time to review a Copper modificat
PostPosted: Sun Mar 09, 2014 8:16 am 
Offline

Joined: Fri Jan 20, 2012 9:32 pm
Posts: 55
Quote:
It seems to me to change the timing compared to the original? Or am I reading my logic the wrong way around?

No, it doesn't change a timing. That change makes 'reg_address_out' to be updated synchronously to a 'clk' signal. It improves timing and decrease possibility of hazards in Agnus's dma circuitry where 'reg_address_out' is multiplexed from different blocks


Top
 Profile  
 
 Post subject: Re: Any Minimig hacker got time to review a Copper modificat
PostPosted: Mon Mar 10, 2014 2:43 am 
Offline

Joined: Tue Dec 02, 2008 9:42 am
Posts: 42
madeho wrote:
Waiting for info from your tests

What can I say, I have a screen half black and half white.

MY SCREEN IS HALF BLACK AND HALF WHITE!!!!!!!!!!!

And yes, the feeling of creating something really is euphoric.
However the Dexion demo still has the same errors. As I said, the C-One release I am using has it anyway. The source is not the most recent so it could have been fixed since that point.

---
I'll clean up dead code and stuff, and then I'll change the registers a little.
Removing BLIPVAL
Adding BLIPLCHR/BLIPLCLR.
Pondering adding a bit to halt opcodes for optionally triggering an interrupt of some kind.
DMACONR should get a BLIPB bit to check for blipper busy.
Add a range check to the register addresses.


Top
 Profile  
 
 Post subject: Re: Any Minimig hacker got time to review a Copper modificat
PostPosted: Mon Mar 10, 2014 10:26 pm 
Offline

Joined: Fri Jan 20, 2012 9:32 pm
Posts: 55
NorthWay wrote:
What can I say, I have a screen half black and half white.

MY SCREEN IS HALF BLACK AND HALF WHITE!!!!!!!!!!!


It's really good to hear that news. I know that feeling when something starts to work as you wish it to do :D

NorthWay wrote:
However the Dexion demo still has the same errors.


I've got minimig board and it works great, it looks like something is not correctly ported for C-One


Top
 Profile  
 
 Post subject: Re: Any Minimig hacker got time to review a Copper modificat
PostPosted: Mon Mar 10, 2014 11:12 pm 
Offline

Joined: Tue Dec 02, 2008 9:42 am
Posts: 42
madeho wrote:
it looks like something is not correctly ported for C-One

The codebase is from a 2009 version so there are a good number of fixes done since then.
I am not head above water enough to attempt a wholesale replacement to 2010+ versions - it does have a number of C-One specific bits somewhere I'm sure.
The copper was probably the easiest file to update as it only needed the ECS bit added in Agnus.v.

And thanks again.


Top
 Profile  
 
 Post subject: Re: Any Minimig hacker got time to review a Copper modificat
PostPosted: Wed Mar 19, 2014 10:35 pm 
Offline

Joined: Fri Jan 20, 2012 9:32 pm
Posts: 55
Hi NorthWay,

NorthWay wrote:
And thanks again.

No problem, it was a real pleasure to made a new feature to a core

NorthWay wrote:
What can I say, I have a screen half black and half white.

MY SCREEN IS HALF BLACK AND HALF WHITE!!!!!!!!!!!

Any news from a 'battlefield'?


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 43 posts ]  Go to page Previous  1, 2, 3, 4, 5  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Translated by Xaphos © 2007, 2008, 2009 phpBB.fr