Matchbox sized 6502 / Z80 / 6809 Co Pro

discussion of games, software, hardware & emulators relating to the Acorn Atom and Acorn System machines.
User avatar
flynnjs
Posts: 809
Joined: Tue Jul 06, 2010 9:33 pm
Contact:

Re: Matchbox sized 6502 / Z80 / 6809 Co Pro

Post by flynnjs » Wed Jan 21, 2015 10:14 pm

I'm happy to update as many as needed at Halifax
and also solder on as many caps as needed.

I'm also happy to update firmwares by post but you
must pay for the post BOTH ways. Just pop unused
stamps and your address inside the box with the
copro and I'll update and post back to you.
But at £4.30 each was for RM signed for it quickly
becomes cheaper to get a cable from eBay.

If you do decide to send to me for update, you might
want to wait a few weeks for firmwares to settle down.

PS someone posted me a box back with a single 1st
small letter stamp on it. Luckily, it got through without
surcharge but these boxes are thicker than even large
letter so please use the correct postage.

User avatar
jgharston
Posts: 3576
Joined: Thu Sep 24, 2009 11:22 am
Location: Whitby/Sheffield
Contact:

Re: Matchbox sized 6502 / Z80 / 6809 Co Pro

Post by jgharston » Wed Jan 21, 2015 11:34 pm

flynnjs wrote:PS someone posted me a box back with a single 1st small letter stamp on it. Luckily, it got through without surcharge but these boxes are thicker than even large letter so please use the correct postage.
I used to post EPROMs in a film canister, then the postage sizes changed and a film canister is about 3mm too big, so became a parcel at twice the price.

Code: Select all

$ bbcbasic
PDP11 BBC BASIC IV Version 0.25
(C) Copyright J.G.Harston 1989,2005-2015
>_

User avatar
hoglet
Posts: 8281
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol
Contact:

Re: Matchbox sized 6502 / Z80 / 6809 Co Pro

Post by hoglet » Sat Jan 24, 2015 4:36 pm

Hi all,

Today I've resumed trying to debug the 80x86 Co Processor design.

The current status is that the boot loader successfully loads:
- 6502.SYS
- LOGO.SYS
- DOSPLUS.SYS
and then jumps to DOSPLUS. DOSPLUS then starts doing floppy disk commands, but quickly fails because for some reason it tries to seek to Side 01, Track 9B (which doesn't exist).

Today I have been trying to determine what the correct behaviour should be.

I've taken the Unix version of BeebEm from here:
http://beebem-unix.bbcmicro.com/
and added some printf debugging into tube.cpp that will log host reads/writes to addresses FEE1 (R1) and FEE3 (R2). This lets me see OSWORDS and Events.

I've been able to successfully boot DOSPLUS and capture a log of the OSWORD &7B Calls the 80x86 makes, which is how it does disk access.

Roughly speaking, it does the following 1772 commands:
- Drive Control Register (FE24) = 05 (Drive 0, Side 0, Double Density)
- A restore command (08) which seeks to track 0
- Drive Control Register (FE24) = 05 (Drive 0, Side 0, Double Density)
- Track register (FE29) = 00
- Data register (FE2B) = 04
- A seek command (18) which seeks to track 4
- Track register (FE29) = 04
- A read address command (CC) which verifies track 4 exists
- Drive Control Register (FE24) = 05 (Drive 0, Side 0, Double Density)
- Track register (FE29) = 04
- Data register (FE2B) = 01
- A seek command (18) which seeks to track 1
- Track register (FE29) = 01
- Sector register (FE2A) = 00
- A read sectors command (8C) which reads 4 sectors
- and lots more....

If I look at the disk image, side 0 track 1 sector 0 is where the FAT starts. It makes complete sense that this is the first data that DOSPLUS would try to read.

So now I know the correct sequence, where does the 80x86 Co Pro go wrong?

It's actually quite early on:
- Drive Control Register (FE24) = 05 (Drive 0, Side 0, Double Density)
- A restore command (08) which seeks to track 0
- Drive Control Register (FE24) = 15 (Drive 0, Side 1, Double Density) << Wrong
- Track register (FE29) = 00
- Data register (FE2B) = 9B << Wrong
- A seek command (18) which seeks to track 9B << Wrong

this command fails, because there is no track 9B.

So, the key difference is:
- Beeb Em seeks to Side 0 track 04 (4)
- Co Pro seeks to Side 1 track 9B (155)

The 04 and 9B are kind of related (remember, 160 is the total number of tracks on the disk). It's as if it is somehow accidentally inverting the side and track number.

This is really starting to look like a bug in the Zet core that's causing the calculation of the track for a logical sector to get messed up.

I think the next step is to go back to JHG's disassembly, and try to find the code that is doing this calculation.

Dave
Last edited by hoglet on Sat Jan 24, 2015 5:18 pm, edited 1 time in total.

steve3000
Posts: 1987
Joined: Sun Nov 25, 2012 12:43 am
Contact:

Re: Matchbox sized 6502 / Z80 / 6809 Co Pro

Post by steve3000 » Sat Jan 24, 2015 5:09 pm

Something's muddled in your list above Dave. In the list you say BeebEm sets Drive control reg. to 05 (the second time), the coprocessor seems to do the same in the list, but you say 'wrong'?

User avatar
hoglet
Posts: 8281
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol
Contact:

Re: Matchbox sized 6502 / Z80 / 6809 Co Pro

Post by hoglet » Sat Jan 24, 2015 5:19 pm

steve3000 wrote:Something's muddled in your list above Dave. In the list you say BeebEm sets Drive control reg. to 05 (the second time), the coprocessor seems to do the same in the list, but you say 'wrong'?
I've just re-checked my notes, and it was 15, not 05.

I've edited the above post to correct this.

Thanks,

Dave

User avatar
hoglet
Posts: 8281
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol
Contact:

Re: Matchbox sized 6502 / Z80 / 6809 Co Pro

Post by hoglet » Sat Jan 24, 2015 10:12 pm

Slowly narrowing this down.

I've added more logging into BeebEm's x86 code, so I can now see which XIOS calls are being made.

The best XIOS document I could find is:
http://www.seasip.info/Cpm/dosplus_xios.html

When DOSPLUS Boots, the following XIOS Calls are made:
AL=20 (STATUS LINE CONTROL)
AL=09 (SELDSK 0)
AL=0A (READ SECTOR)
AL=0A (READ SECTOR)
...lots more....

I'm now pretty sure it is the SELDSK call that is first accessing the disc, and on the Co Pro it's here that is going wrong.

This call dispatches to address 06bb:0216.

Back to the disassembly.....

Dave

User avatar
berendvosmer
Posts: 17
Joined: Mon Jan 12, 2015 9:52 pm
Contact:

Re: Matchbox sized 6502 / Z80 / 6809 Co Pro

Post by berendvosmer » Sat Jan 24, 2015 10:30 pm

hoglet wrote: Wow is all I can say!

Did you manage to auto route this?
Thanks! Yes, and I now managed to include your suggestions. I only applied the pull-ups on the outgoing signals.

By the look of the other posts you must be very busy, but if you could manage to have another look at the final board before I send it off, that would be much appreciated.
hoglet wrote: I'd give it a go? How much do you think the boards would be?
Dave
I think I would go with Geeetech and think 5 boards should be about €28, so one board would be below €6 + postage to your address from NL.

Cheers,

Berend
Attachments
CoPro Wing v0.2 Eagle.zip
(87.8 KiB) Downloaded 25 times
CoPro_Wing_v0.2.zip
(118.93 KiB) Downloaded 24 times

User avatar
hoglet
Posts: 8281
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol
Contact:

Re: Matchbox sized 6502 / Z80 / 6809 Co Pro

Post by hoglet » Sun Jan 25, 2015 8:55 am

Another small step towards the needle in haystack!

I found a bit of code which I think will turn 4 into 155:

Code: Select all

06bb:3ec2 8b4426               mov    ax, [si+26h]
06bb:3ec5 d1e0                 shl    ax, 1h
06bb:3ec7 48                   dec    ax
06bb:3ec8 2b4606               sub    ax, [bp+06h]
06bb:3ecb 894606               mov    [bp+06h], ax
I think:
- [bp+06h] starts off at 4 (set at 06bb:3498).
- [si+26h] contains the number of tracks on the drive, i.e. 80 (set at 06bb:343c)

The above code updates [bp+06h] to (80 * 2 - 1 - 4) = 155

I looks like the bug is that on the Co Pro this fragment of code is being executed, when it shouldn't be.

Now, as to why, I still have no idea. :lol:

Dave

User avatar
hoglet
Posts: 8281
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol
Contact:

Re: Matchbox sized 6502 / Z80 / 6809 Co Pro

Post by hoglet » Sun Jan 25, 2015 9:38 am

Here's a bit more code around the above fragment:

Code: Select all

06bb:3eb0 8b4426               mov    ax, [si+26h]
06bb:3eb3 394606               cmp    [bp+06h], ax
06bb:3eb6 7c16                 jl     loc_00003ece
06bb:3eb8 56                   push   si
06bb:3eb9 a04124               mov    al, byte ptr word ptr[2441h]
06bb:3ebc 32e4                 xor    ah, ah
06bb:3ebe 5b                   pop    bx
06bb:3ebf 094728               or     [bx+28h], ax
06bb:3ec2 8b4426               mov    ax, [si+26h]
06bb:3ec5 d1e0                 shl    ax, 1h
06bb:3ec7 48                   dec    ax
06bb:3ec8 2b4606               sub    ax, [bp+06h]
06bb:3ecb 894606               mov    [bp+06h], ax
06bb:3ece ;                                       XREFS First: 06bb:3eb6 Number : 1
I think:
- [bp+06h] starts off at 4 (set at 06bb:3498).
- [si+26h] contains the number of tracks on the drive, i.e. 80 (set at 06bb:343c)
- byte ptr word ptr[2441h] contains the bit that needs to be set in the drive control register to select side 1 (set at 06bb:3357)

As far as I can see, the above code is responsible for mapping logical tracks 80-159 onto side 1 tracks 79-0.

It must be the test at the start that is being incorrectly executed on the Zet core.

I need to try to write a small test case to confirm this.

Dave

firthmj
Posts: 230
Joined: Tue May 26, 2009 8:37 am
Location: Ipswich, UK
Contact:

Re: Matchbox sized 6502 / Z80 / 6809 Co Pro

Post by firthmj » Sun Jan 25, 2015 10:05 am

You may already have found this, but there is a dissaembly of the generic XIOS code available at:

https://web.archive.org/web/20130526020 ... cpm86.html

In the DPGEN.ZIP archive, as XIOS.A86.

For some reason, the CP/M software section of his website gives a holding page on the new www.seasip.info URL, and the old URL is not online, but it is in the Wayback Archive.

If you haven't seen it, I'm not sure (yet) if it gives any clue as to what that bit of code is supposed to do, or when it should be called.

Well done on your sterling work so far!

Michael
Had fun at the
Image
Meeting 13th May 2017

User avatar
hoglet
Posts: 8281
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol
Contact:

Re: Matchbox sized 6502 / Z80 / 6809 Co Pro

Post by hoglet » Sun Jan 25, 2015 5:19 pm

Woooo! I found a bug in the PUSH Immediate instruction.
e.g. PUSH 04h

The high byte of the 16-bit word being pushed onto the stack was junk!

This explains why the branch in the above fragment of code was taking the wrong path. Instead of the [BP+06h] being 0004 it was actually 0504.

That's the good news.

The bad news is after fixing this, I've still not got DOS Plus booting.

It's getting slightly further than before, and I can see sectors being read, but it then manages to crash the host.

Back to the logic analyzer on the Tube. :lol:

Dave

User avatar
hoglet
Posts: 8281
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol
Contact:

Re: Matchbox sized 6502 / Z80 / 6809 Co Pro

Post by hoglet » Sun Jan 25, 2015 5:43 pm

hoglet wrote: The bad news is after fixing this, I've still not got DOS Plus booting.
Can I revise that statement please? :D
IMG_0782.JPG
IMG_0784.JPG
It's booting correctly about 50% of the time, and hanging the host the other 50% of the time.

Which is a really big step forward. It also probably means the Zet there are no more critical bugs in the Zet processor, as I would expect these to be consistent.

Off to try Gem.....

Dave

paulb
Posts: 811
Joined: Mon Jan 20, 2014 9:02 pm
Contact:

Re: Matchbox sized 6502 / Z80 / 6809 Co Pro

Post by paulb » Sun Jan 25, 2015 5:47 pm

I just wanted to say that I think this is all just brilliant stuff! =D>

A side-effect will be that the potential user base for Master 512 software will be at record high levels, perhaps even surpassing those when the original system was being made. :)

User avatar
roland
Posts: 3232
Joined: Thu Aug 29, 2013 8:29 pm
Location: Born (NL)
Contact:

Re: Matchbox sized 6502 / Z80 / 6809 Co Pro

Post by roland » Sun Jan 25, 2015 8:37 pm

hoglet wrote:Woooo! I found a bug in the PUSH Immediate instruction.
e.g. PUSH 04h
The high byte of the 16-bit word being pushed onto the stack was junk!
In such situations I wonder why nobody else ever discovered and fixed this bug. Are you the first one or does the rest of the world just dump the core and try another?

Amazing job you've done, again =D>
256K + 6502 Inside
MAN WOMAN :shock:

User avatar
hoglet
Posts: 8281
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol
Contact:

Re: Matchbox sized 6502 / Z80 / 6809 Co Pro

Post by hoglet » Sun Jan 25, 2015 8:48 pm

roland wrote:In such situations I wonder why nobody else ever discovered and fixed this bug. Are you the first one or does the rest of the world just dump the core and try another?
I've been wondering the same....

There are not as many x86 cores as there are 6502 cores, so choice is much more limited, or I would have tried another one earlier. Also, each one has a very different bus interface, unlike most of the 6502s which are true to the originals.

All of the bugs I have found have been with instructions that were added with the 80186/8. I assume these instructions are not as widely used as the original 8086/8088 instructions, so software was compatible with as wide a range of early PCs as possible.

I guess Acorn approached this differently, as they were developing only for their own hardware that they knew was either an 80186 or a 80286.

I had a strong hunch that the bug would end up being in one of these instructions. When I realized that PUSH 04h was used in the initial seeking to track 4, I wrote a small test program just for this instruction. And this program quickly showed the problem.

But it has been like looking for a needle in the proverbial haystack, because there is so much code, and most of it looks compiler generated, so it's a pig to follow.

Dave

User avatar
hoglet
Posts: 8281
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol
Contact:

Re: Matchbox sized 6502 / Z80 / 6809 Co Pro

Post by hoglet » Sun Jan 25, 2015 8:54 pm

I've got a good idea now where the remaining unreliability is coming from. :D

I added some decoupling capacitors, but that made no difference at all. :lol:

I went back again to the logic analyzer, and immediately noticed that after the crash, both NMI and IRQ were being held asserted on the parasite.

I found a new trigger mode (Pattern Duration with Timeout) and user this to trigger if NMI was ever active for more than 10us.

This catches the crash every time!

It looks like a problem with the Zet core when both IRQ and NMI happen at close to the same time. I'll need to dig further, but this should be easier to fix (touch wood.....)

Dave

User avatar
jgharston
Posts: 3576
Joined: Thu Sep 24, 2009 11:22 am
Location: Whitby/Sheffield
Contact:

Re: Matchbox sized 6502 / Z80 / 6809 Co Pro

Post by jgharston » Mon Jan 26, 2015 12:42 am

Well done with the work on the 80x86 core.

In doing a bit of tidying up in preparing to back up my MDFS a couple of days ago I noticed a minor bug in the 6809 and 6812 Tube clients. If a FIRQ does not come from the Tube it was handed on to a null RTS, when an interupt needs to terminate with an RTI. Won't affect us unless we start adding FIRQ-generating hardware to the matchbox, but there's a one-instruction update to the Client code at mdfs.net. (See diff at &FFB0 for the naughty instruction.)

At least it wasn't as bad as the bug I spotted in the 6812 client that I spotted about five years ago where I'd swapped OSBGET and OSBPUT around!

Edit: Just noticed I've spelled 'DMA' as 'DNA' in one of the comments!

Code: Select all

$ bbcbasic
PDP11 BBC BASIC IV Version 0.25
(C) Copyright J.G.Harston 1989,2005-2015
>_

User avatar
TheCorfiot
Posts: 660
Joined: Mon Jan 08, 2007 5:22 pm
Contact:

Re: Matchbox sized 6502 / Z80 / 6809 Co Pro

Post by TheCorfiot » Mon Jan 26, 2015 1:36 am

Dave, you are just flipping amazing...

:)

User avatar
hoglet
Posts: 8281
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol
Contact:

Re: Matchbox sized 6502 / Z80 / 6809 Co Pro

Post by hoglet » Mon Jan 26, 2015 9:12 am

TheCorfiot wrote:Dave, you are just flipping amazing...
:)
I wouldn't say that - more just persistent and obsessive (according to my wife) :lol: :lol: :lol:

I can't believe a one character mistake took so long to find:
https://github.com/hoglet67/CoPro6502/c ... 8b862c3679

Anyway, I've fixed the unreliable interrupt issue this morning, and managed to boot ten times in a row without any crashes. This change was slightly more involved, and was more of an educated guess:
https://github.com/hoglet67/CoPro6502/c ... 8674443be3

With these changes in place I can reliably start GEM:
IMG_0787.JPG
This is looking like it's close to production ready now. Jason, I've checked the latest Zet fixes into Github, if you (or anyone else) wants to have a play. Let me know how you get on.

Also, it's currently running off a 16MHz clock, which might be a tad too fast for the RAM. It would be interesting to compare the performance with an actual Master 512, if anyone can think of a way of doing this.

I have a couple of general questions about the Master 512 setup:
- How do I install the keyboard mouse driver?
- Is there a schematic anyway of how to wire a quadrature mouse to the user port so it's compatible? I tried my old AMX Mouse compatible Atari trackball, and it's clearly not Master 512 compatible.

Dave

User avatar
roland
Posts: 3232
Joined: Thu Aug 29, 2013 8:29 pm
Location: Born (NL)
Contact:

Re: Matchbox sized 6502 / Z80 / 6809 Co Pro

Post by roland » Mon Jan 26, 2015 9:20 am

Magnificent =D>


I regret that I got rid of my MS Windows 1.0 discs a few years ago, I bet you can get it working on the matchbox :lol:
256K + 6502 Inside
MAN WOMAN :shock:

User avatar
danielj
Posts: 7324
Joined: Thu Oct 02, 2008 4:51 pm
Location: Manchester
Contact:

Re: Matchbox sized 6502 / Z80 / 6809 Co Pro

Post by danielj » Mon Jan 26, 2015 9:38 am

Mouse-wise it should be compatible with the AMX? I'm using one of those optical mice with mine which I bodged. It's detailed in the thread where Mark takes the piss out of the ridiculously ludicrous amount of heat shrink I used to join the cables together...

Here: http://www.stardot.org.uk/forums/viewto ... f=3&t=6869

Pinouts are on the first page.

I'm bringing my M512 to Halifax (it'll be the first time it's been up and running properly for a while), so if you want us to run any tests we can try. The processor's clocked at 10MHz in the M512.

I'm guessing some of the old Dhrystone benchmarks would be most appropriate?

d.

dixiestoat
Posts: 273
Joined: Tue Oct 09, 2012 8:58 am
Location: Warwickshire
Contact:

Re: Matchbox sized 6502 / Z80 / 6809 Co Pro

Post by dixiestoat » Mon Jan 26, 2015 2:21 pm

There are some seriously knowledgeable people on here, its baffling..! :D
If in doubt, CTRL-BREAK thou should clout..

harrowm
Posts: 121
Joined: Sun Nov 30, 2014 11:07 pm
Location: Singapore
Contact:

Re: Matchbox sized 6502 / Z80 / 6809 Co Pro

Post by harrowm » Mon Jan 26, 2015 4:19 pm

Inspiring is the adjective you are looking for :)

User avatar
1024MAK
Posts: 8900
Joined: Mon Apr 18, 2011 4:46 pm
Location: Looking forward to summer in Somerset, UK...
Contact:

Re: Matchbox sized 6502 / Z80 / 6809 Co Pro

Post by 1024MAK » Mon Jan 26, 2015 5:08 pm

hoglet wrote:
TheCorfiot wrote:Dave, you are just flipping amazing...
:)
I wouldn't say that - more just persistent and obsessive (according to my wife) :lol: :lol: :lol:
Also known as a dog with a bone :lol:

But yes, Dave, you are doing a really good job of debugging rather a lot of things =D> =D> =D>

Mark

steve3000
Posts: 1987
Joined: Sun Nov 25, 2012 12:43 am
Contact:

Re: Matchbox sized 6502 / Z80 / 6809 Co Pro

Post by steve3000 » Mon Jan 26, 2015 5:09 pm

hoglet wrote:With these changes in place I can reliably start GEM:
That is some great debugging work there!

I've never used a x86 co-pro on the beeb/master, hope I'll get the chance to try this out one day :)

User avatar
paulv
Posts: 3854
Joined: Tue Jan 25, 2011 6:37 pm
Location: Leicestershire
Contact:

Re: Matchbox sized 6502 / Z80 / 6809 Co Pro

Post by paulv » Mon Jan 26, 2015 6:24 pm

Awesome work =D> =D>

Definitely need to pick up the programing cables.

Did I say AWESOME WORK?

Paul

User avatar
jgharston
Posts: 3576
Joined: Thu Sep 24, 2009 11:22 am
Location: Whitby/Sheffield
Contact:

Re: Matchbox sized 6502 / Z80 / 6809 Co Pro

Post by jgharston » Mon Jan 26, 2015 7:08 pm

hoglet wrote:Also, it's currently running off a 16MHz clock, which might be a tad too fast for the RAM. It would be interesting to compare the performance with an actual Master 512, if anyone can think of a way of doing this.
Run DOS BBC BASIC, and use it to run ClockSp which times the execution speed of the BBC BASIC interpreter on the CPU the BASIC is running on. So it does two things: gives a comparative speed of the CPU, and gives a comparative speed of coding[/]i on that CPU.
hoglet wrote:I have a couple of general questions about the Master 512 setup:
- How do I install the keyboard mouse driver?
I think there's a driver called AMOUSE.COM (EXE? CMD?) as a third-party program.
hoglet wrote:- Is there a schematic anyway of how to wire a quadrature mouse to the user port so it's compatible? I tried my old AMX Mouse compatible Atari trackball, and it's clearly not Master 512 compatible.
That surprises me, I though it used the same wiring as the BBC Mouse - it could be that it uses the Master Compact wiring (see).

Checking the 6502.SYS code shows that it's not even the Compact wiring. It's both the AMX mouse *and* the Master512 mouse:
b7,b6,b5 = buttons Right, Middle, Left
b4,b3 = 11 - AMX mouse
b4,b3 <> 11 - Acorn mouse/trackerball
b4 = Y direction, Acorn mouse/trackerball
b3 = X direction, Acorn mouse/trackerball
b2 = Y direction, AMX mouse
b0 = X direction, AMX mouse
CB1 = X movement
CB2 = Y movement

So, a standard AMX-style mouse should work as long as b3 and b4 float or are held high.

Code: Select all

$ bbcbasic
PDP11 BBC BASIC IV Version 0.25
(C) Copyright J.G.Harston 1989,2005-2015
>_

User avatar
jbnbeeb
Posts: 450
Joined: Sat Apr 03, 2010 8:16 pm
Contact:

Re: Matchbox sized 6502 / Z80 / 6809 Co Pro

Post by jbnbeeb » Mon Jan 26, 2015 7:30 pm

This is looking like it's close to production ready now.
Well done Dave! =D> =D> =D> The progress you're making is really impressive and I really enjoy reading your updates.

Thanks,

jbnbeeb
I'm going to ..
ABUG Cambridge Sept 20-22nd 2019
Image

firthmj
Posts: 230
Joined: Tue May 26, 2009 8:37 am
Location: Ipswich, UK
Contact:

Re: Matchbox sized 6502 / Z80 / 6809 Co Pro

Post by firthmj » Mon Jan 26, 2015 8:29 pm

So I now have:

1) An LX9 CoPro
2) A JTAG cable
3) A PC with Xilinx ISE installed.

Is there any guidance on what steps are needed from here to getting a system where I can start tinkering contributing to the design?

Is just checking out Dave's GitHub repository going to get me everything I need to be able to create new MCS files for my board?

Is there a way to build/update one design at a time, or is it only possible to build and load all of them at once?

Thanks

Michael
Had fun at the
Image
Meeting 13th May 2017

User avatar
flynnjs
Posts: 809
Joined: Tue Jul 06, 2010 9:33 pm
Contact:

Re: Matchbox sized 6502 / Z80 / 6809 Co Pro

Post by flynnjs » Mon Jan 26, 2015 9:02 pm

Currently, I've been opening each ISE project file and building the .bit file.
Then once all the CPUs are built I open the ICAP project and ensure
that the offsets in the verilog are still correct for the .bit files (not had
time to investigate why some are a different size, I'm not using compression).
Build the ICAP and then use iMPACT to generate the .mcs file.

I'm sure it's possible to script the whole lot.

If you want to just tinker with one version you can JTAG it into the FPGA
from a .bit file without overwriting the flash, which is a lot quicker. Once
your changes are final you can create a .mcs file and burn it to flash.

Post Reply