Welcome, Guest. Please login or register.

Author Topic: Using C64 Core on MiniMig boards.  (Read 20214 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline PalmTopic starter

  • Jr. Member
  • **
  • Join Date: Apr 2003
  • Posts: 84
    • Show only replies by Palm
Re: Using C64 Core on MiniMig boards.
« Reply #59 from previous page: January 15, 2009, 07:33:09 AM »
So, what if we approach the situation in the other end. You mention that you quickly loose interest in a project as soon as you get over the first hurdle (get things visible on the screen for instance). And I know what you mean. So, if most "users" out here cannot contribute in a technical way of bringing the development progress fast forwarding, how about if we give out bounties instead ? That is a way to encourage people to continue developing. I for sure would like to contribute for a c64 core and features around it such as running on minimig and have d64 support on the SD card.

So, what do you say guys. Anyone else who aggrees ? This way we, the community, can contribute from both sides.

a) Developers and ppl with FPGA knowledge can contribute in the techie way
b) "Users" with money they can spare can contribute to the bounty.


It is a win-win situation.



Espen
 

Offline PalmTopic starter

  • Jr. Member
  • **
  • Join Date: Apr 2003
  • Posts: 84
    • Show only replies by Palm
Re: Using C64 Core on MiniMig boards.
« Reply #60 on: January 15, 2009, 07:35:19 AM »
I did some VLSI design a few years ago. And have experience with microcontrollers. So this things about lacking FPGA discussion here, got me interested in picking up on things.

Can I use my MIniMig board as a test-board ? (I guess it must be possible...) or so I have to buy a Spartan kit ?



Espen
 

Offline alexh

  • Hero Member
  • *****
  • Join Date: Apr 2005
  • Posts: 3644
    • Show only replies by alexh
    • http://thalion.atari.org
Re: Using C64 Core on MiniMig boards.
« Reply #61 on: January 15, 2009, 10:17:43 AM »
Quote

Palm wrote:
So, if most "users" out here cannot contribute in a technical way of bringing the development progress fast forwarding, how about if we give out bounties instead ?

The amounts of money involved in these bounties are inconsequential. If it was about money we'd do another few hours of contracting instead ;-)

I'm telling you, as soon as a few engineers start posting their source code, talking about technical problems, goading others to solve them and help out, the projects will start flowing.

At the moment active developers are Tobiflex and Yaqube and RedSkull and they keep their cards pretty much to themselves (either that or they are on another forum?) and I think they have all moved away from the MiniMig 1.1 PCB.
 

Offline alexh

  • Hero Member
  • *****
  • Join Date: Apr 2005
  • Posts: 3644
    • Show only replies by alexh
    • http://thalion.atari.org
Re: Using C64 Core on MiniMig boards.
« Reply #62 on: January 15, 2009, 10:18:25 AM »
Quote

Palm wrote:
Can I use my MiniMig board as a test-board?

Of course. The FPGA image lives on the SD card. You make a new one on the PC with the Xilinx tools, transfer it to the SD card and pop it in MiniMig.
 

Offline PalmTopic starter

  • Jr. Member
  • **
  • Join Date: Apr 2003
  • Posts: 84
    • Show only replies by Palm
Re: Using C64 Core on MiniMig boards.
« Reply #63 on: January 15, 2009, 11:01:20 AM »
I guess I have to call the .bin file minimig1.bin then, no matter whether it is a c64 core :) My guess is that the pic bootloader automatically tries to look for the file called minimig1.bin or something ?

Thanks for the tip. I will DL and check it out.
 

Offline alexh

  • Hero Member
  • *****
  • Join Date: Apr 2005
  • Posts: 3644
    • Show only replies by alexh
    • http://thalion.atari.org
Re: Using C64 Core on MiniMig boards.
« Reply #64 on: January 15, 2009, 11:17:24 AM »
I am not 100% familiar with Yaqube's PIC updates but originally the FPGA image file must be named "MINIMIG1.BIN" and the file to be preloaded into SRAM must be "KICK.ROM" and I think it had to be padded to 512Kbytes but I'm not too sure about that.
 

Offline PalmTopic starter

  • Jr. Member
  • **
  • Join Date: Apr 2003
  • Posts: 84
    • Show only replies by Palm
Re: Using C64 Core on MiniMig boards.
« Reply #65 on: January 15, 2009, 11:27:57 AM »
Yes, you are right alexh, those are the names of the files needed. However, I wonder if the firmware really preloads the kick.rom file if there is another core used (e.g. a c64 core). Is it the FPGA itself which loads the kickfile to sram after minimig1.bin is loaded, or does the pic firmware both preload the kick.rom and afterwords. Reason why I ask, is if a new core is to be used, do we need a new fw that does not expect kick.rom on the sd card ?

Espen
 

Offline yaqube

  • Full Member
  • ***
  • Join Date: Feb 2008
  • Posts: 197
    • Show only replies by yaqube
Re: Using C64 Core on MiniMig boards.
« Reply #66 on: January 15, 2009, 11:51:12 AM »
The sources are widely available. You can a have a look at them and see how it works.

The PIC firmware configures the FPGA with MINIMIG1.BIN file. No matter what it contains.

The Minimig FPGA file contains a ROM with bootloader for the external 68000 CPU. This bootloader uses Amiga floppy DMA controller to talk to the PIC. The PIC sends an Amiga ROM file which is received by disk DMA and put in the RAM buffer. Then the 68K CPU copies it to the specified location.

In the latest firmware only two ROM sizes are supported: 256KB (no need for mirroring to 512KB) and 512KB.

 

Offline Chain

  • Hero Member
  • *****
  • Join Date: Jun 2005
  • Posts: 1324
    • Show only replies by Chain
    • http://chain.3dgrafika.cz/aktivity
Re: Using C64 Core on MiniMig boards.
« Reply #67 on: January 15, 2009, 11:52:31 AM »
with new fw you can specify another kickstart file which will be used after boot
too lazy to use shift key properly...
 

Offline boing4000

  • Full Member
  • ***
  • Join Date: Apr 2006
  • Posts: 222
    • Show only replies by boing4000
    • http://www.amigademo.de
Re: Using C64 Core on MiniMig boards.
« Reply #68 on: January 15, 2009, 12:00:09 PM »
Quote

alexh wrote:
I am not 100% familiar with Yaqube's PIC updates but originally the FPGA image file must be named "MINIMIG1.BIN" and the file to be preloaded into SRAM must be "KICK.ROM" and I think it had to be padded to 512Kbytes but I'm not too sure about that.


You are right, the core file has to be named "minimig1.bin" no matter whats inside (Amiga or C64 etc.) to be loaded from PIC into the FPGA.
After that its up to the core how to handle surrounding hardware like io-pins and PIC communication. Right now the FPGA64 core dont know anything about PIC nor SPI bus at all. Its just a native C64 with ps/2 keyboard (and mouse) support. No joystick ports are implementet yet, but thats an relative easy think to do.

To have some 1541 floppy simmulation via PIC, its firmware has to be altered and reflashed! Also the C64 core has to be adapted in order to use some OSD and .d64 etc. file support.
I think that may be the next-next(-next?) step ;-) Currently Dirk and I are fixing some problems in unconnected fpga pin what causes random C64 system crash.
Next step could be: Adding IEC bus to spare-i/o pin and joystick support.

ps: Minimig board is in my point ov view an excellent testing env. it provide all necessare i/o ports and the core is simple to load in the fpga (via sd card, not via some maybe self made jtag interface).
 

Offline alexh

  • Hero Member
  • *****
  • Join Date: Apr 2005
  • Posts: 3644
    • Show only replies by alexh
    • http://thalion.atari.org
Re: Using C64 Core on MiniMig boards.
« Reply #69 on: January 15, 2009, 12:29:25 PM »
Quote

yaqube wrote:
The Minimig FPGA file contains a ROM with bootloader for the external 68000 CPU. This bootloader uses Amiga floppy DMA controller to talk to the PIC. The PIC sends an Amiga ROM file which is received by disk DMA and put in the RAM buffer. Then the 68K CPU copies it to the specified location.

Interesting... I do remember something about this... I dont remember it being like you describe (it's complicated, and I'm not one for complicated) but you are the master at this subject. So what did I do?

There is certainly not enough RAM in the FPGA to implement 16Kbytes (let alone 48Kbytes)... I'll have to look back at it see what I did...
 

Offline jj

  • Lifetime Member
  • Hero Member
  • *****
  • Join Date: Feb 2002
  • Posts: 4052
  • Country: wales
  • Thanked: 2 times
  • Gender: Male
    • Show only replies by jj
Re: Using C64 Core on MiniMig boards.
« Reply #70 on: January 15, 2009, 12:36:44 PM »
I still dont get the rush for c64 cores.  When the Amstrad CPC is by far a better machine.

Get the CPC core working first  :-D
“We don't stop playing because we grow old; we grow old because we stop playing.” - George Bernard Shaw

Xbox Live: S0ulA55a551n2
 
Registered MorphsOS 3.13 user on Powerbook G4 15"
 

Offline boing4000

  • Full Member
  • ***
  • Join Date: Apr 2006
  • Posts: 222
    • Show only replies by boing4000
    • http://www.amigademo.de
Re: Using C64 Core on MiniMig boards.
« Reply #71 on: January 15, 2009, 12:58:43 PM »
That may be but think about this: C64 is more famous and  provide (afaik) a bigger palette of games and demos. Also much more ppl got a C64 in the past then CPC.

I also like the CPC and have got an Amstard 6128 with color monitor (using on minimig ;-)) here. But I dont have much floppy disk and even less useable games. Also its a bit mor complex to get the disk-file on real floppy to make it use on real CPC.

Perhaps in the future the CPC core will be ported to the minimig board as well. It would certainly be an interesting project and result :-)
 

Offline alexh

  • Hero Member
  • *****
  • Join Date: Apr 2005
  • Posts: 3644
    • Show only replies by alexh
    • http://thalion.atari.org
Re: Using C64 Core on MiniMig boards.
« Reply #72 on: January 15, 2009, 12:59:37 PM »
I did try on that for a few nights when I got my MiniMig. Tobiflex's excellent TREX CPC is written in AHDL which is a language specifically for Altera FPGA devices. You CAN convert to VHDL/Verilog using tools but they are buggy and produce non-human readable code (plus all the comments go).

Might be worth looking at once more.
 

Offline PalmTopic starter

  • Jr. Member
  • **
  • Join Date: Apr 2003
  • Posts: 84
    • Show only replies by Palm
Re: Using C64 Core on MiniMig boards.
« Reply #73 on: January 15, 2009, 01:26:32 PM »
Allright, how about adding IEC option thru the pinout then. I have a uIEC unit and a 1541-3 unit that I can use. This will give me what I need to use the core. If the core can supply me with kb+joysticks+iec I would be a happy man. Of course, the sid+vic must work properly ;-)

Can you say if the current c64 core works as it should when it comes to emulating the c64 as good as possible ? Does demos work ok?

Another thing: Can JiffyDOS be implemented in the core ? If I do own JDOS chips, can I add the JDOS kernal myself somehow ?

Regs
Espen
 

Offline yaqube

  • Full Member
  • ***
  • Join Date: Feb 2008
  • Posts: 197
    • Show only replies by yaqube
Re: Using C64 Core on MiniMig boards.
« Reply #74 on: January 15, 2009, 01:30:50 PM »
Quote
alexh wrote:

There is certainly not enough RAM in the FPGA to implement 16Kbytes (let alone 48Kbytes)... I'll have to look back at it see what I did...


The XC3S400 has 16 RAM blocks of 18K bits each. It gives you 32KB of RAM.