Print Page | Close Window

Arduino In-Circuit Tester: Build Project

Printed From: ukVac.com
Category: Technical
Forum Name: Tech, Maintenance & Repairs
Forum Description: Need Help? Ask Here
URL: http://www.ukvac.com/forum/forum_posts.asp?TID=349525
Printed Date: 21 Aug 2019 at 7:59pm


Topic: Arduino In-Circuit Tester: Build Project
Posted By: Judder
Subject: Arduino In-Circuit Tester: Build Project
Date Posted: 14 Jan 2016 at 4:18pm
Following on from a discussion that we were having over in the Valuations thread http://www.ukvac.com/forum/fluke-pods_topic349429.html" rel="nofollow - here , Paul Swan has being doing a fantastic job of building an Arduino based In-Circuit Tester for allowing for the testing of all aspects of arcade PCBs using a simple Arduino shield, a Fluke like POD and some nifty coding

I've been building a version https://www.flickr.com/photos/8191475@N06/albums/72157658324038723" rel="nofollow - here and wanted to encourage others to get involved with the project to help expand the amount of supported games, and generally help support Paul who has done a sterling job so far it getting everything all up and running



[Note: In the picture below the connectors are around the wrong way - please read page 3,4,5 and about 13 where we discuss the easy way to tell which way around they should be!]



https://www.flickr.com/photos/8191475@N06/albums/72157658324038723" rel="nofollow - https://www.flickr.com/photos/8191475@N06/albums/72157658324038723

As I had to order 10 boards from DirtyPCBs to get my boards made, I have 9 [now 5] spare which I'd like to give away to those on here who'd like to get involved

To build your own tester you'll need to follow Paul's instructions here

http:" rel="nofollow - http://www.paulswan.me/arcade/ArduinoMegaICT.htm

http://www.zzzaccaria.com/arcade/ArduinoMegaICT.htm" rel="nofollow - http://www.zzzaccaria.com/arcade/ArduinoMegaICT.htm

and then compile the Arduino code from Paul's GitHub project here

https://github.com/prswan/arduino-mega-ict" rel="nofollow - https://github.com/prswan/arduino-mega-ict

and the parts I used as are follows

2 x Ribbon Cable (you can be less colourful if you like!)



From eBay (£3.34) http://www.ebay.co.uk/itm/121653419437?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT" rel="nofollow - here

Lots of pin connectors like these



From eBay (£1.99) http://www.ebay.co.uk/itm/351393320199?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT" rel="nofollow - http://www.ebay.co.uk/itm/351393320199?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT

Lost of resistors like these



From eBay (£1.99) http://www.ebay.co.uk/itm/380688367832?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT" rel="nofollow - http://www.ebay.co.uk/itm/380688367832?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT

and an odd pin jumper like these to select how you want the POD to be configured versus the CPU of the board you are testing



From eBay (£2.49) http://www.ebay.co.uk/itm/141633634450?_trksid=p2057872.m2749.l2649&var=440786667903&ssPageName=STRK%3AMEBIDX%3AIT" rel="nofollow - http://www.ebay.co.uk/itm/141633634450?_trksid=p2057872.m2749.l2649&var=440786667903&ssPageName=STRK%3AMEBIDX%3AIT

PM me if you'd like to get involved, and we can use this thread to discuss how everyone is getting on, what they are doing, how it works etc.

Current goals are to add Williams support, as Paul has already added 6809P support with Star Wars - perhaps starting by mirroring Guddler's Fluke Memory testing and filling the memory to test the output on the screen

Alex




-------------
http://www.thedefenderproject.com/



Replies:
Posted By: andrewsm
Date Posted: 14 Jan 2016 at 5:02pm
This is a very interesting post! I am currently restoring a Moonbase machine and decided last year that controlling various parts of the circuits using an Arduino is a good way to debug them. I used a Mega 2560 as it has plenty of IO pins plus made a psuedo 8080 pod. Its working well and my plan was to put a post up once I have finished it. Looks like Ive been pipped at the post lol

-------------
WANTED: Any Nichi stuff. Need a set of Legs!!
http://www.arcadetester.co.uk" rel="nofollow - http://www.arcadetester.co.uk


Posted By: silverfox0786
Date Posted: 14 Jan 2016 at 6:20pm
nice one

i have 3 of those kits and been badgering paul to increase the game database

My Review of this kits
watch from 6 mins on



-------------
http://www.arcadetester.co.uk/index.php/Main_Page" rel="nofollow - AR81 Tester Wiki


Posted By: Purity
Date Posted: 14 Jan 2016 at 6:28pm
Looks like a very cool piece of kit.  I would be interested in one


-------------
http://www.arcadecollectors.co.uk" rel="nofollow">


Posted By: KmanSweden
Date Posted: 14 Jan 2016 at 6:43pm
Awesome project. Kind of like a Fluke9010 but not really. Not sure if I can help the project but I'd buy one when/if they go to production. :)
How is the games added?


Posted By: Nes4life
Date Posted: 14 Jan 2016 at 6:58pm
I'll be ordering the parts I need after a quick chat with Judder. My aim is to focus on porting Asteroids tests to this system. I'll be setting up a vec test bench as well.
Looking forward to getting on with this!

-------------
NES4Life
-------------
An arcade tech - not a gamer


Posted By: bbz149
Date Posted: 14 Jan 2016 at 7:45pm
Looks like a cracking bit of kit! Thumbs Up

I got a crap load of these in Black going spare if anybody needs them




-------------


Posted By: silverfox0786
Date Posted: 14 Jan 2016 at 8:09pm
Originally posted by KmanSweden KmanSweden wrote:

Awesome project. Kind of like a Fluke9010 but not really. Not sure if I can help the project but I'd buy one when/if they go to production. :)
How is the games added?


its open source

grab the file sand get the boards made and solder them up yourself

the games are added into the Sketch

paul was supposed to do a write up on how to add more games

im still waiting


-------------
http://www.arcadetester.co.uk/index.php/Main_Page" rel="nofollow - AR81 Tester Wiki


Posted By: The Last Bandit
Date Posted: 14 Jan 2016 at 9:05pm
Cool project :) 


Posted By: guddler
Date Posted: 14 Jan 2016 at 9:23pm
To add new games you need to add a new pair of files (cpp / h) in the relevant processor folder. To do that you will need to know the board in question inside out pretty much (or, mame inside out I guess). At the very least you will need to know the information on the memory and I/O layout which you can find from schematics or mame etc.

You'll need to define the ROM / RAM / IO areas and any special requirements such as special interrupts and how the arduino should handle them.

Then the game header file needs to be included in InCircuitTesterXXX.ino (where XXX is the CPU) and the game added to the menu for the LCD in that file.

That's all slightly over simplified. You'll find in the libraries/cpuXXX folder that there is a base game pair of files and a pair of files for variants, where the variants include from the base game. But that's just standard C/C++ fare.


Posted By: Judder
Date Posted: 14 Jan 2016 at 10:04pm
OK - all boards pretty much spoken for now

I have:

- backflipper

- nes4life

- simonden

- philumurr

- Equites

- chadsarcade

- Purity

and 1 other who has asked for them

Anyone who hasn't PM'd me their address please do so and I'll post them out tomorrow

Great stuff

Alex



Posted By: Judder
Date Posted: 14 Jan 2016 at 10:31pm
Originally posted by andrewsm andrewsm wrote:

This is a very interesting post! I am currently restoring a Moonbase machine and decided last year that controlling various parts of the circuits using an Arduino is a good way to debug them. I used a Mega 2560 as it has plenty of IO pins plus made a psuedo 8080 pod. Its working well and my plan was to put a post up once I have finished it. Looks like Ive been pipped at the post lol

Not at all

Why not join in and we can design an 8080 pod to work with the tester and then we can add drivers for Moonbase, Space Invaders, Lunar Lander etc.


Posted By: Purity
Date Posted: 14 Jan 2016 at 10:33pm
I'm sure some of us can add some more games to this, with a combined effort


-------------
http://www.arcadecollectors.co.uk" rel="nofollow">


Posted By: PaulSwan
Date Posted: 14 Jan 2016 at 11:12pm
For 8080 you'll need to use a probe head that has -5V and +12V isolated. I haven't looked in detail, but Intel CPU's probably won't need clock mastering (8085, 8086, 8088, 8035 etc). Motorola (68xx, 65xx) all do.

For specific questions feel free to use the GitHub "Issues" tab on the project.

Paul.


-------------
ZZZ


Posted By: andrewsm
Date Posted: 15 Jan 2016 at 1:49pm
Im more than happy top help out. The 8080 is not a total emulator, it allows me to read/write data and change address lines etc. Works without any voltage only ground. The board is powered up as usual and then I take control of the buses etc. Ive written my own code to run various routines like send text to the video ram etc but its been done in a way which helps me with the debug of these bloody terrible Moonbase boards. 

My intention is to add a LED display and various other options so that it makes up a piece of test kit. Im gonna get a motherboard knocked up soonish which will take the arduino as a daughter board and have a row of connectors so other processor adapters can be plugged in. I have tried to use the video library to display info on a monitor but the pins used are slap bang in the middle of the pins I use so shelved that for time being. Hooks up to a laptop with a terminal program controlling it. Have to say it works well and has helped me find some awkward faults. Its on going atm. I did make a program which clips over logic chips and also tests chips in-circuit. Works by reading all the pin states and comparing to set patterns. Needed buffers though as the states change too fast for the software to grab at once. 

When I get a minute I will take a look at this more. 


-------------
WANTED: Any Nichi stuff. Need a set of Legs!!
http://www.arcadetester.co.uk" rel="nofollow - http://www.arcadetester.co.uk


Posted By: guddler
Date Posted: 15 Jan 2016 at 2:15pm
This Is more the direction I would like to see the arduino tester go. A PC/Mac app sending commands to the tester and receiving the results back. Essentially separate the game from the hardware. That way we could have a much richer set of options for what we could write and you should also never hit any size issues.

I did something along these lines a few years back. I got to reading roms and that was about it. Paul has already done a much better job with timing and also the code framework than I ever did so I'm watching this one with interest.


Posted By: Judder
Date Posted: 15 Jan 2016 at 2:57pm
Boards are in the post first class on the way to everyone

Now the fun begins




Posted By: DanP
Date Posted: 15 Jan 2016 at 3:54pm
Would love to be involved in this but realistically I can't guarantee I can devote the required time to it so I've stayed out of the first batch of volunteers.   If another batch happens I'm happy to look to work on 6502 based Atari stuff (Centipede or ROTJ say).

Will be keen to see how you get on chaps!

Dan


Posted By: andrewsm
Date Posted: 15 Jan 2016 at 4:11pm
Well so far this is what I can do.

1) Read ROMS and display any number of bytes from a set start address
2) Set any address
3) Read one byte of data from any address
4) Write data to an address
5) Block fill an address range
6) Write characters to video RAM ( Specific to Moonbase and Midway 8080)
7) Write a text string to Video
8) Read IO ports
9) Write IO
10) Set status latch (Again Moonbase 8080 stuff)

Im still working on it as I debug the boards so hopefully it will be easyish to change for other processors. Im adding a 8 digit led display that will display set address and data in HEX. I like the LEDS as gives it a test equipment look plus nice and bright.

Once I have things debugged, I will post a good write up plus a technical document (on the way) for Moonbase and Midway.



-------------
WANTED: Any Nichi stuff. Need a set of Legs!!
http://www.arcadetester.co.uk" rel="nofollow - http://www.arcadetester.co.uk


Posted By: Nes4life
Date Posted: 15 Jan 2016 at 5:48pm
Just checking; but is everyone forking Paul's repo & then making a pull request when they've got something to merge back in? It's worth us making Paul's repo the main source.

Anyone interested in a Mac app to interface with this then? Happy to write it.
Just need some clear requirements and perhaps another tester. I'll try & do it in C (or at least a core of the functionality) so that it can be ported to other systems.

-------------
NES4Life
-------------
An arcade tech - not a gamer


Posted By: ColinD
Date Posted: 15 Jan 2016 at 5:55pm
Originally posted by DanP DanP wrote:

Would love to be involved in this but realistically I can't guarantee I can devote the required time to it so I've stayed out of the first batch of volunteers.   If another batch happens I'm happy to look to work on 6502 based Atari stuff (Centipede or ROTJ say).

Will be keen to see how you get on chaps!

Dan


Same here.... Looks cool :-)


Posted By: guddler
Date Posted: 15 Jan 2016 at 5:56pm
You know that at the moment it's a standalone item? Yes? No computer interface at all...


Posted By: DanP
Date Posted: 15 Jan 2016 at 6:00pm
Originally posted by guddler guddler wrote:

You know that at the moment it's a standalone item? Yes? No computer interface at all...

Yep Wink


Posted By: guddler
Date Posted: 15 Jan 2016 at 6:01pm
Yeah, that wasn't aimed at you, it was aimed at Phill who was asking if anyone wanted a Mac version


Posted By: DanP
Date Posted: 15 Jan 2016 at 6:07pm
How difficult would it be to build an interface to output a modern system?  Doesn't the arduino have USB onboard?   Wouldn't an initial terminal output type view be fairly simple to code?   Something similar to the Fluke output to AUX onto a terminal via RS232?   Sorry if I'm talking gibberish here, not really had much time to loom into it, just thinking out loud really.

Dan


Posted By: Nes4life
Date Posted: 15 Jan 2016 at 6:17pm
Not gibberish at all. I can make a Mac app with full gui interface; simples.
After the arduino performs all its tests for a game it could wait for further instructions from the USB (from a Mac or PC) and then return results to the USB for display. It's no bother. I'd try and make it generic enough for any game. I already have sample code.

What d'ya think?

-------------
NES4Life
-------------
An arcade tech - not a gamer


Posted By: guddler
Date Posted: 15 Jan 2016 at 6:33pm
It's what I'd like to see. Like I say, I already did it in the past in C# / Windows (I don't think I got to Mono / Mac at the time but it was the intention).

It should be easy enough to separate the two sides and it would therefore be easy enough to issue the commands that are already there.

Important thing is to make sure it works WITH the original design and doesn't drive a wedge between the two. Let's see what happens when people receive them. It's important not to forget that a considerable knowledge of the hardware that is being tested is required. You can't just add a new game. Well, you can, of course, but you're not going to have much of a clue whats going on when it doesn't work. There's a lot of little nuances that may not be implemented yet. Paul has already stated that this is particularly true for 6502.


Posted By: PaulSwan
Date Posted: 15 Jan 2016 at 6:58pm
You should fork the repo and submit pull requests back to it to update the code base. The right way to manage source code with GitHub is widely documented online.

IIRC the Arduino does have a USB device library you can use to communicate with it over the USB port to a Windows app so you could use a Windows app to control it if you wish.

Paul.

-------------
ZZZ


Posted By: andrewsm
Date Posted: 15 Jan 2016 at 8:57pm
Sorry to be ignorant here on the tech terms but what is 'forking'?

-------------
WANTED: Any Nichi stuff. Need a set of Legs!!
http://www.arcadetester.co.uk" rel="nofollow - http://www.arcadetester.co.uk


Posted By: guddler
Date Posted: 15 Jan 2016 at 9:03pm
https://help.github.com/articles/fork-a-repo/" rel="nofollow - https://help.github.com/articles/fork-a-repo/


Posted By: andrewsm
Date Posted: 15 Jan 2016 at 9:05pm
Cheers Guddler. I understand now thanks.

-------------
WANTED: Any Nichi stuff. Need a set of Legs!!
http://www.arcadetester.co.uk" rel="nofollow - http://www.arcadetester.co.uk


Posted By: guddler
Date Posted: 15 Jan 2016 at 11:29pm
So...
http://www.visualmicro.com/" rel="nofollow -
http://www.visualmicro.com/" rel="nofollow - http://www.visualmicro.com/

I'll stick that there first as a bit of a TL;DR for those that don't want to read the rest of this. I'm a bit of an odd beast (yeah, I know, it's been said MANY times ) but what I really mean is that most of the time you will notice me pushing for everything Mac in this world. That is because my day to day computer is a MacBookAir and if Apple made a gaming rig (and I could afford it), so would my gaming machine.

However, given that Apple do NOT make a decent MODERN gaming machine (flame me all you like, it's the truth), I have a Skylake based W10 machine that I use for gaming. I also tinker with development. Quite a lot since it used to be my day job for 99% of my career so far, and when it comes to development I'm firmly split between Mac OS X and Windows. In the arcade (hardware) world, it's difficult to get away from Windows so I use Visual Studio 2015 Community Edition (which is legitimately 100% free for anyone that doesn't know).

I discovered the above when it was in it's early days in 2012 / 2013. I just re-downloaded and re-installed after not having Arduino anything installed for a long time so thought I'd mention it.

Personally I believe that if you already have VS installed, or you have a machine that you could, you'd be doing yourself a complete injustice by not installing this add-on. A lot of the functionality is free and it will be fully functioning for 45 days. That includes full debugger and allsorts but best of all, full library management and intellisense. It's a godsend!

I'm lucky enough to have bought the pro version back in 2013 and my license is still valid even though the product is vastly improved (happy days!) but having said that, the pro version is only 15 quid for personal use anyhow!!

I haven't imported this project yet to see if there are any issues but I've used VS for C++ on the Arduino before so I don't see why there would be.



Posted By: guddler
Date Posted: 15 Jan 2016 at 11:30pm
Oh, PS: I'll still be pushing Phill for anything Mac, and maybe contributing because at the end of the day my machine in the games room is a Mac (sort of) and I only drop into a Windows VM there when I need to use stuff like my logic analyser or my EPROM reader.


Posted By: Morty
Date Posted: 16 Jan 2016 at 12:18pm
Looks like an exciting project, lets face it the more tools people have access to, the more likely some of these old cabs have of surviving

Being a software developer meant I could not resist coding an app a few years ago, work in progress to assist in fixing video games, I'll start a separate thread but in summary:

Application with an XML file per game
Collection of PCB's that make up the game
PCB hi res scan
Component list
How to/fix logs (referenced to components)
Memory map (maps suitable components into a memory map such as RAM/ROM/IO)
Schematics

Tools include
ROM Test - scans ROM, graphical display of pass/fail of each location, CRC matching to ROM name (I found 1 rev2 ROM mixed in with rev1 ROM's for example on a centipede PCB)
RAM test - write/read test patterns
Analysis of patterns for example bit 1 always low (grounded), bit 7 always as bit 8 (shorted tracks?) etc
Writes all results to screen and a PDF so you can keep copies or study off line later

+lots more in progress (example is a virtual control panels so you can drag and drop joysticks, buttons, spinners, coin mechs etc then test a PCB without real controls hardware)


The actual test equipment hardware is abstracted away from the application...so it can be used with different hardware, such as this project if a PC link was added, it only requires the mapping of a few different commands such as read/write to a memory location

I developed it using the Fluke 9010A, also had it using a HP analyser to probe up to 80 pins (I was going to try to add features for testing descite PCB's without CPUS or in place component testing using logic maps to see if components matched the specifications)

Also I did some work with Neil ("Mitchell Gant") using his CPU tester PCB, so this application was working with that, it was fun running Centipede and being able to stop and start the game (he emulates a 6502). I was able to do the same testing of RAM/ROM etc with this as I did with the Fluke, the application had no idea what hardware was actually in use






Just thought i would mention it in case it was of any use for this project. Its all coded in C#/visual studio btw



-------------
Wanted: Konami Track and Field / System 1 Roadrunner kit / Lottery Win.


Posted By: Nes4life
Date Posted: 16 Jan 2016 at 1:01pm
Now that's an app! I love the very literal highlighting of components on the PCB.
Great visual representation. Clap


-------------
NES4Life
-------------
An arcade tech - not a gamer


Posted By: backflipper
Date Posted: 16 Jan 2016 at 5:30pm
Man this blows me away. Nice work to everyone. Incredible stuff going on in the background.


Posted By: guddler
Date Posted: 18 Jan 2016 at 9:53pm
Just a heads up that I've added Asteroids to the code but I'm waiting for my parts to arrive before I do any kind of push to my fork or pull request. And sorry, not to steal anything away from Phill but Asteroids is the one I know most about and have all the kit ready to go and a working board set. Phill, you can add Deluxe if you like

I've done this as a base game and a derived game just like Astro Fighter and Tomahawk 777. I did this because there is Asteroids and Asteroids Deluxe which vary slightly. There's also stuff like Meteroids and Planet but I think they use the same setup as Asteroids.

I'm hoping that we will have a little more success with this 6502 game than Paul had with Astro Fighter / Tomahawk 777. Yes, CLK2 is used on Asteroids but it looks like basic ram and rom tests shouldn't utilise it. From a CPU point of view we should be in pretty good shape since everything exotic like IRQ, SO, SYNC are not used.

From what I can see the main things that will be impacted by the lack of CLK2 are a couple of the sounds (thump for example) and sadly, some of the signals used by the state machine. That's a pain as it means drawing is probably out. Will see.

Need to walk before we run. Will report back on how the ROM and RAM tests perform (if they do!) There is always the possibility that I've misunderstood something in the code yet

[EDIT] Should have looked better at the schematics before I posted that! The NMI is not the watchdog so I need to look at what is going on every 4ms in the NMI routine to see if we need to concern ourselves with it or not. That will be well documented on the web I expect.


Posted By: Judder
Date Posted: 18 Jan 2016 at 10:12pm
Quote Just a heads up that I've added Asteroids to the code


Fantastic stuff and great to be making progress so quickly

We also have another set going out to a rather good Williams expert so I'm hoping with myself and Phil we can make some dent into that!

Alex


Posted By: guddler
Date Posted: 18 Jan 2016 at 10:42pm
Let's not get too excited. Let's see if it works first


Posted By: Nes4life
Date Posted: 19 Jan 2016 at 7:59am
Guddler, you submit what you want mate! There's a good possibility that my main contribution will be with the app extension. We'll need a way of passing generic read / write commands along with an address to each game from the host app. My first thought is that we can have each game (arduino side) present a list of addresses and the commands each block can support (read and / or write) and the host app will consume that dictionary / array. The host app can then present a decent GUI. We'd need to implement a standard protocol basically.



-------------
NES4Life
-------------
An arcade tech - not a gamer


Posted By: guddler
Date Posted: 19 Jan 2016 at 10:29am
I'll see if I can dig out my work from when I was playing with this. I don't know if it will help or not but I had a basic protocol working and was sending commands to the Arduino which was then executing them and passing the results back. It's on a VM, I just need to install Hyper-V on my dev partition now I have one (I wasn't about to kill off my gaming partition with a hypervisor layer).

Disappointingly my parts haven't turned up today but I guess I should have guessed as much, 1st class post very rarely operates within 1 day where I am (you'd think I was in the remote islands of Scotland or something!)

I did commit my initial work to a new branch in my fork if someone would like to have a look and check it. If I've done it correctly (to be confirmed!) then it will show the sort of thing that is involved in adding a new game and as I said above, it's incomplete right now. In particular, while ROM checksums are correct I've not pulled the hex data out of the ROMs yet so that data is wrong.


Posted By: Dave2084
Date Posted: 19 Jan 2016 at 8:13pm
Exciting stuff ... looking forward to playing with this!  :-)

-------------
Dave Langley

http://www.robotron-2084.co.uk/" rel="nofollow - www.robotron-2084.co.uk


Posted By: PaulSwan
Date Posted: 19 Jan 2016 at 8:53pm
Re: 6502
The plan for all 65xx & 68xx was to go with clock mastering. The next time I fix T777 I was planning on re-implementing 6502 to be clock mastering (same as 6809). In the Asteroids case, it would provide the same benefits as it does on Star Wars - the ability to use signal capture and single step of the whole board.

How compatible clock mastering is with DRAM has not yet been evaluated.

Paul.



-------------
ZZZ


Posted By: guddler
Date Posted: 19 Jan 2016 at 9:18pm
When you say clock mastering, do you mean that CLK2 and CLK1 (where used) would be generated in the ICT code from CLK0? Or do you mean add it to the code as a completely independently generated pair of timed clocks that presumably are considerably slower due to Arduino limitations?

I just looked at the datasheet for the 650x family and was still a bit in the dark about what the CLK's were up to, but I found this rather nice page that (assuming it is correct) explains it nicely:
http://lateblt.livejournal.com/88105.html" rel="nofollow - http://lateblt.livejournal.com/88105.html

So hopefully I understand now


Posted By: PaulSwan
Date Posted: 19 Jan 2016 at 9:30pm
Yes, CLK2 & CLK1 generated based on CLK0 where the board oscillator clock is also generated by the ICT replacing the xtal clock as was done for SW. It's not real time - much slower as you note.

Paul.



-------------
ZZZ


Posted By: guddler
Date Posted: 19 Jan 2016 at 9:35pm
Understood. And hence the comment on what DRAM might think of this!

I was wondering how on earth the Arduino was possibly going to be able to do that fast enough

As an aside, don't suppose anyone has produced a board with compatible pinouts to an Arduino but way faster have they? And preferably code compatible. It really seems that the only thing really holding the Arduino platform back from being a complete star is the speed.

[EDIT] Just answered my own question. Yes, Arduino Due is 84Mhz vs. 16Mhz, BUT it's 3.3v so would need a bunch of level shifting stuff, so not ideal.


Posted By: Scott560
Date Posted: 19 Jan 2016 at 9:54pm
Looks like everyone has been busy - i had considered breaking out the arduino to dump my moonbase eeproms if my reader wasn't going to play ball - but havent tried yet.

Andrew - seems like you are way ahead of me! Moonbase is still stuck in the garage with little work done so far :(


Posted By: guddler
Date Posted: 20 Jan 2016 at 1:56am
OK, question...

There is a section in the code for 'write-only' memory.

Outputs are a kind of write-only memory. At least on Asteroids anyway, there are no reads in the same locations, but of course outputs have their own definitions.

Asteroids has 3 outputs that are a bit "special" in so much as there is no bit mask, or rather it makes no difference WHAT you write to the address, it is the address select logic that triggers the event. /WDCLR, /DMAGO and /NOISERESET.

I've implemented these in the output region with a mask of 0xff and an invert mask also of 0xff.

Should they instead be defined as read-only memory?

I haven't really dug into what the ICT is actually doing with these definitions too much yet, that was something I was going to do when things don't do what I picture they should in my head. I guess I'm being lazy so feel free to tell me to RTFC




Posted By: PaulSwan
Date Posted: 20 Jan 2016 at 4:08am
That sounds like it should be an OUTPUT_REGION. You can leave the bitmasks 0x00 if the data is don't care. The write only RAM is intended for things like colour tables or bitmap memory that the CPU can write but not read back. It's treated as memory so that patterns can be conveniently written to it. OUTPUT_REGION is bits out of a byte for control ports.

Feel free to use the "Issues" tab on the GitHub repo :)

Paul.



-------------
ZZZ


Posted By: guddler
Date Posted: 20 Jan 2016 at 2:10pm
Cool. Will do.

All my parts have arrived today. My keypad doesn't work off the bat. I don't know if it's because it's a v1 or if it's a different make (I guess a clone, but who cloned who?)

Mine is a DFRobots v1. I did a quick test and got the analog values out, fudged the code and it worked so I know the keypad is ok. I just need to do something properly with it later.


Posted By: Nes4life
Date Posted: 20 Jan 2016 at 3:48pm
Been away this week so done diddly-squat. Will contribute when I get back!
Did write a robust arduino manager to sit on top of ORSSerialManager (third party serial lib).
It'll indefinitely re-attempt to find an Arduino and connect to it. It spits out its current status so we can display it graphically like a traffic light etc. I'll chat with Guddler and build upon his existing work.

-------------
NES4Life
-------------
An arcade tech - not a gamer


Posted By: Nes4life
Date Posted: 21 Jan 2016 at 7:19pm
Bought this Arduino Mega, LCD and extras for £14 odd delivered. UK based. http://www.ebay.co.uk/ulk/itm/301812738833" rel="nofollow - http://www.ebay.co.uk/ulk/itm/301812738833

-------------
NES4Life
-------------
An arcade tech - not a gamer


Posted By: Judder
Date Posted: 21 Jan 2016 at 7:45pm
Originally posted by Nes4life Nes4life wrote:

Bought this Arduino Mega, LCD and extras for £14 odd delivered. UK based. http://www.ebay.co.uk/ulk/itm/301812738833" rel="nofollow - http://www.ebay.co.uk/ulk/itm/301812738833

That's a great price - nice spot Thumbs Up

I bought this one as I already had a LCD shield, but it is via Hong Kong so longer wait times (just for reference)

http://www.ebay.co.uk/itm/261665271557" rel="nofollow - http://www.ebay.co.uk/itm/261665271557


Posted By: abaxas
Date Posted: 21 Jan 2016 at 7:54pm
Just a note... I have 9x keypads in stock.

£4 normal 2nd class £5 2nd class signed for.

Cheapest on ebay is £4.85 so I'll throw some other bits in aswell if people ask!




Posted By: guddler
Date Posted: 22 Jan 2016 at 9:35am
Are these the SainSmart v1.1 LCD Keypads?


Posted By: Dave2084
Date Posted: 22 Jan 2016 at 9:49pm
The postie was kind to me today and brought me two nice parcels.

A Mega 2560 and the display shield £11.77 for the pair delivered here:
http://www.ebay.co.uk/itm/351593274656" rel="nofollow - http://www.ebay.co.uk/itm/351593274656

And the bare boards.  That's my weekend sorted.


-------------
Dave Langley

http://www.robotron-2084.co.uk/" rel="nofollow - www.robotron-2084.co.uk


Posted By: Dave2084
Date Posted: 22 Jan 2016 at 10:34pm
Originally posted by Nes4life Nes4life wrote:

Bought this Arduino Mega, LCD and extras for £14 odd delivered. UK based. http://www.ebay.co.uk/ulk/itm/301812738833" rel="nofollow - http://www.ebay.co.uk/ulk/itm/301812738833

I just received mine from them today, though I spent £3 less but didn't get the extras, if I'd seen it I'd probably gone for yours instead.

Got the mega and shield running on my mac with a test program, need to build the board tomorrow and start playing.

Will the 6809 code drive a 6802/08 as well?  I have a few Williams sound boards out to fix and they would be a nice gentle start, much simpler than a CPU board.




-------------
Dave Langley

http://www.robotron-2084.co.uk/" rel="nofollow - www.robotron-2084.co.uk


Posted By: guddler
Date Posted: 22 Jan 2016 at 11:25pm
Well, I'm thwarted at the last hurdle! Finished mine, plugged it in and in an Atari board it blows the 5V fuse I have in my rig. Strangely, using a bootleg of the same game it doesn't pop the fuse but all the same, I suspect I've crimped the sodding ribbon cable up the wrong way or something which is a pain as that's the one thing I don't have any spare of. Will just have to make it a little shorter. I'm already a fair bit shorter as I'm using some I had left over from something else.

Will just have to sit here now with my meter and work out what I've done


Posted By: PaulSwan
Date Posted: 23 Jan 2016 at 12:09am
Don't forget to put the GND jumper in the right place on the probe head :)


-------------
ZZZ


Posted By: guddler
Date Posted: 23 Jan 2016 at 1:04am
Need to have a fresh look at it tomorrow. I'm pretty sure it's all cabled up fine. 6502, pin 1 @ 14, 40 @ 15, gnd jumpers for pins 1 & 21 and they all beep out OK with no gnd shorts. So a bit odd why it's blowing fuses.

It did cross my mind if the Atari brick needs to be isolated from the mains but I've never had to do that before.


Posted By: PaulSwan
Date Posted: 24 Jan 2016 at 5:05am
I've never had to do that with Star Wars that was running off a native brick & ARII.


-------------
ZZZ


Posted By: guddler
Date Posted: 24 Jan 2016 at 11:15am
I think I've sussed it. I didn't get time to test it yesterday but it looks like I've ended up with my head pcb the opposite way round to your pictures which means all the ground pins would have been connected to the cpu socket. I've got it the right way round now and everything checks out ok. I'm hoping to get time to test it this afternoon.


Posted By: Dave2084
Date Posted: 24 Jan 2016 at 2:45pm
I've been trying to implement 6802 to test a Williams sound board.

I have it up and running after a fashion but the Bus test always reports D0 as being bad on a working sound board.

Given that the clock generation circuity is part of the 6802 itself how do I implement timing for reading and writing data via the E pin?

I'm also wondering about the best way to implement testing the 6821, should be a readwrite RAM region or input and output? 




-------------
Dave Langley

http://www.robotron-2084.co.uk/" rel="nofollow - www.robotron-2084.co.uk


Posted By: Dave2084
Date Posted: 24 Jan 2016 at 2:47pm
Originally posted by guddler guddler wrote:

I think I've sussed it. I didn't get time to test it yesterday but it looks like I've ended up with my head pcb the opposite way round to your pictures which means all the ground pins would have been connected to the cpu socket. I've got it the right way round now and everything checks out ok. I'm hoping to get time to test it this afternoon.

I was struggling there yesterday as well and I couldn't see any explicit instructions on connecting the two halves together.  I ended up zooming in of the pictures on Paul's site and orientating my unit and ribbon cables to be the same as Paul's.  I ended up with the in a working state but not exactly the same as they had been before I checked.


-------------
Dave Langley

http://www.robotron-2084.co.uk/" rel="nofollow - www.robotron-2084.co.uk


Posted By: guddler
Date Posted: 24 Jan 2016 at 4:07pm
I was a bit puzzled because I used Judder's pics so my cable was exactly the same as his. A bit odd but serves me right for being lazy and not working out eh pinout properly. If I now compare what I have to Paul's pics, I can see that the head part on mine is effectively upside down. Not really a problem, it appears to be working now.

Having said that, I appear to have the same problem as you with D0, mine reports bad but I'm not using a known good board. I've switched to a known working board but this one is a bootleg Asteroids which doesn't have test points so I need to find out where to solder a link to disable the watchdog because of course now bus test is (understandably) bitching about the reset line.

I'll report back when I've got the known good board sussed out. Once I've done that I'll be able to complete the ROM test and do a pull request for Asteroids too...


Posted By: Dave2084
Date Posted: 24 Jan 2016 at 5:06pm
Originally posted by guddler guddler wrote:

Having said that, I appear to have the same problem as you with D0, mine reports bad but I'm not using a known good board. I've switched to a known working board but this one is a bootleg Asteroids which doesn't have test points so I need to find out where to solder a link to disable the watchdog because of course now bus test is (understandably) bitching about the reset line.

I did do some testing yesterday with a pair of Galaxians boards, both were non runners, on reported RAM issues and the other ROM issues, but I didn't see the D0 problem there.

Given I've created the 6802 code myself and C++ is not really my thing I'm amazed it does anything.

I chose to look at the Williams sound boards as they are nice and simple.  Some ROM, RAM and IO (by way of a 6821) no bank switching and no watchdog.

What i'm struggling with is how to generate the clock in the Ardruino as it all is generated in the (now missing) 6802 chip with just an XTAL across pins 38 and 39.


-------------
Dave Langley

http://www.robotron-2084.co.uk/" rel="nofollow - www.robotron-2084.co.uk


Posted By: guddler
Date Posted: 24 Jan 2016 at 5:34pm
I'm not sure yet on generating clocks on the 650x series I haven't got to that point. If you look at the code for Star Wars then I believe Paul has done it in there.

[EDIT] Sorry, you're not talking about 650x so doubly not sure yet

I was wrong with my bus issue incidentally. My "POD" head was still jumpered for Z80. Now it's setup correctly I'm getting "E:A0 f7ff" am going to go into the code now to see what that's trying to say and troubleshoot. RAM tests work so I assume it isn't a board fault, although it's possible.


Posted By: Dave2084
Date Posted: 24 Jan 2016 at 5:57pm
Originally posted by guddler guddler wrote:

I was wrong with my bus issue incidentally. My "POD" head was still jumpered for Z80. Now it's setup correctly I'm getting "E:A0 f7ff" am going to go into the code now to see what that's trying to say and troubleshoot. RAM tests work so I assume it isn't a board fault, although it's possible.

Funny you should say that,  about 30 minutes ago I realised that I'd done the same.  Haven't re-tried it yet though.

Note to Paul ... the jumpers are will buried inside the UUT plug so there's no reminder that they are there and even if you remember you have to unplug one of the cables to get to them  If there are any more hardware revisions can they be moved somewhere easier to get to of it doesn't make the PCB any bigger?






-------------
Dave Langley

http://www.robotron-2084.co.uk/" rel="nofollow - www.robotron-2084.co.uk


Posted By: Judder
Date Posted: 24 Jan 2016 at 7:59pm
Originally posted by guddler guddler wrote:

I was a bit puzzled because I used Judder's pics so my cable was exactly the same as his.

Ah - good point

Looking at Paul's pictures it appears that his leads have a plug upside down to mine so the lead nearest to the Arduino screen should be the one snug to the edge of the ROM adapter

Guddler - any photos of yours connected the right way?

I was studying this picture but your eyes go a bit fuzzy after a while with all the colours...



[edit] Labelled as I think they should be




Posted By: guddler
Date Posted: 24 Jan 2016 at 8:19pm
I have a picture on my phone that I took. I'm back up the shed for an hour or so now so I can setup access to my repo from my workbench. That will make things a little easier (when the weather is warm enough). Once I'm back down in the house I'll upload the pic.

Have looked at my code and now understand what my BUS error is telling me, so now I need "just" need to see why it's telling me that A11 is stuck low when RAM and ROM tests work. Looking at the schematics vs. what the board does, I have to say, it's perfectly possible it's not lying and A11 is indeed stuck low


Posted By: guddler
Date Posted: 24 Jan 2016 at 8:24pm
Regarding the cable. Bottom line is there's no real substitute for checking it with a meter.

When I say "beep" below, I mean 470 ohms (and mine reads around 420 Ohms - although the battery light is on in my meter)

Pin 1 on the CPU should beep out to pin 14 on the Arduino (top left of the shield as the keypad is the correct way up), pin 2, CPU = pin 16, Arduino. Pin 40 of the CPU = pin 15 of the Arduino, pin 39 of the CPU = pin 17 of the Arduino.

Just checking those 4 would be enough to make sure you are correctly orientated.


Posted By: guddler
Date Posted: 24 Jan 2016 at 9:20pm
Originally posted by PaulSwan PaulSwan wrote:

You can leave the bitmasks 0x00 if the data is don't care.

Just thought I'd update this. Not to be picky, just so that it's here for anyone else. But...

I hadn't looked into it, but I wondered why my "Write Outputs" menu only had one entry despite me adding a bunch of outputs. I'd quickly gone over the defined array and couldn't see anything wrong.

Now I've got something on the bench to play with I can look at it properly.

Because the code for the output write says this:

    if (key == UP_KEY)
    {
        if (m_outputRegion[m_outputWriteRegion+1].activeMask != 0)
        {
            m_outputWriteRegion++;
        }
    }

(Note the check for activeMask being non-zero)

You need to make sure that a write where the data is "don't care" is in fact 0xff or the code will think it's reached the last entry in the menu and not let you go up any further. Consequently because my very first entry in my array of outputWrites had an activeMask of 0x00 (don't care) it effectively killed off the rest of my menu.


Posted By: Dave2084
Date Posted: 24 Jan 2016 at 9:31pm
Still can't get the bus test to work with the data bus enabled.  When I do I get 'E: D0 41', if I disable all the other bus tests and just test the data bus with the UUT plug disconnected I still get it.

There can't be anything wrong with cabling as it was quite happily doing ROM test on Galaxian yesterday.

I can now do a ROM test on a a Defender sound board, however, D6 seems to be stuck high (but this is a working board).  Not sure where to go next.

I might dig out my fluke and do some testing of the boards I'm working with so I have known good results.


-------------
Dave Langley

http://www.robotron-2084.co.uk/" rel="nofollow - www.robotron-2084.co.uk


Posted By: guddler
Date Posted: 24 Jan 2016 at 10:48pm
Well, I'm done for the week now as I'm away working most of this coming week. I may get time tomorrow night but in reality I'd rather not rush it.

I don't know if this would help you, but it may be worth going back to basics and writing a completely new sketch that just toggles a CPU pin, high / low for a given period and checking it on a scope or logic probe. If you want to be fancy, do it on all 40 pins of the CPU and the 8 additional ones, advancing each time any key is pressed on the keypad.

In my case I think that will help me because the behaviour I'm seeing on Asteroids could genuinely be explained by A11 not being able to be driven high and it's now got me thinking that I may have a dry joint or some other soldering or cable issue. As well as my bus test I'm audio outputs that don't activate even when you toggle them, I'm seeing the incorrect ROMs being read and even though I'm passing RAM tests, it could very easily be reading the same RAMs all the time and not really reading all of them. How would the tester know?

On Asteroids, A11 plays a part in pretty much all of that. So maybe I should just listen to the tester and investigate the non drivable pin on the bus test before jumping to the conclusion the test isn't working

Since Judder asked, heres my tester. No blinding colours on the cable because I already had some lying about. And it's not all that long either because it's all I had.

Note that every connector has a strain relief clip on it so the cable loops over the top and in from the left or right (in from the left on the connectors on the left in the picture and vice versa). I also bought a funky little case for £6 too. I can't fit the lid on thanks to the stupidly short pins on the LCD but at least I don't have to worry about shorting anything out.




Posted By: Judder
Date Posted: 24 Jan 2016 at 11:51pm
Originally posted by guddler guddler wrote:

Since Judder asked, heres my tester. No blinding colours on the cable because I already had some lying about. And it's not all that long either because it's all I had


Looks great BTW

One thing I found with mine is if you fit the LCD and the Shield together before you connect them to the Arduino, you can actually sit the 'V' of the shield underneath the LCD screen V connector and before the LCD circuit board so that they fit together fairly tightly and lock together

Days of Lego obviously paid off...


Posted By: guddler
Date Posted: 25 Jan 2016 at 12:21am
That's interesting to know as it goes because I reckon that if I did that I could probably change the pins on the LCD to the long ones, same as the shield and then fit the lid on. Might have to try that.


Posted By: guddler
Date Posted: 25 Jan 2016 at 3:41pm
I had a very quick look at my tester at lunchtime. I modified Arduino's "blink" example to toggle pin 52 instead of pin 13 (which on 6502 is A11, hence 0xf7ff in the bus error). I then used an LED on the end of 2 wires and sure enough, no blinking at the CPU end. A very quick trace back showed blinking before the resistor but not after. Modifying the pin to 50 confirms that a good pin does indeed blink the resistor, in other words 470 Ohms plus whatever value was already soldered in to the wire of the resistor was not to much to prevent the eLED lighting, so blow me, i have a faulty resistor brand new out of the pack. Wasn't expecting that. But the good news is, when I next get time to play with this, I'll be in business by the looks of it

So my Arduino ICT was used to fix itself


Posted By: Nes4life
Date Posted: 25 Jan 2016 at 3:53pm
Awesome! We should definitely make some sort of self-test feature.

-------------
NES4Life
-------------
An arcade tech - not a gamer


Posted By: PaulSwan
Date Posted: 25 Jan 2016 at 4:28pm
I'll try and answer everything mentioned above:-

Re: The cable hookup
- I'll make a note to take a picture of the cabling to be clear on the cable connection and which way round things go.

Re: The jumper placement
 - The consideration was to keep the probe head as small as possible so that it doesn't foul other components next to the CPU on the board. It's easy to change if you want the Design Spark source files to make a different layout.

Re: The bus test.
 - The bus test simply puts the Arduino pins into input-pullup mode and reads back the value to determine if it's 0xFF as expected. The pullup is very weak - some boards with some buffer configurations overload the pullup causing the bus test to fail. As a result, this needs to be a per-game setting to determine if it's a valid test or not.
 
Re: 6802
- I'll try and check the datasheet and report back.

Please feel free to use the Issues tab on the repo for questions :)

Paul.



-------------
ZZZ


Posted By: PaulSwan
Date Posted: 25 Jan 2016 at 4:46pm
Re: The bitmask
- I should have read the code myself again :)

Re: Self test
- A simple one could be added based on simply connecting 1-20 to 40-21 on a test socket.

6802
 - It looks like since the CPU generates the clock on "E" you don't need a separate external master clock like 6809. You can just drive "E" from the CPU like the 6502 CLK outputs (i.e. the 6502 example is a closer fit to what you want than the 6809 example is). The two 6802 XTAL inputs can be set to input and ignored.

Paul.



-------------
ZZZ


Posted By: Dave2084
Date Posted: 25 Jan 2016 at 6:53pm
Originally posted by PaulSwan PaulSwan wrote:

6802
 - It looks like since the CPU generates the clock on "E" you don't need a separate external master clock like 6809. You can just drive "E" from the CPU like the 6502 CLK outputs (i.e. the 6502 example is a closer fit to what you want than the 6809 example is). The two 6802 XTAL inputs can be set to input and ignored.

Thanks Paul, I did get as far as the ignoring the bust test and I'm able to read valid data, but D6 is stuck high.   Going to investigate that this evening.


-------------
Dave Langley

http://www.robotron-2084.co.uk/" rel="nofollow - www.robotron-2084.co.uk


Posted By: Dave2084
Date Posted: 25 Jan 2016 at 8:35pm
So I wrote a simple test program the blinks all the outputs a few times a second.  I could then push an LED into the ribbon header at the UUT plug board end, this tests the Arduino and the cables but not the UUT plug board. After this i tried the LED on the UUT plug board and finally plugged straight into the Arduino itself.

My Arduino has a bad pin 53, (Pin 21 of the UUT board plug) the LED drive is significantly lower than the others (the LED barely lights up you have to have the lights off to see it.

This shouldn't affect my testing for now as the pin 21 is GND on the 6802.

So, I still need to figure out why my reads don't work properly.

 


-------------
Dave Langley

http://www.robotron-2084.co.uk/" rel="nofollow - www.robotron-2084.co.uk


Posted By: Dave2084
Date Posted: 25 Jan 2016 at 9:42pm
Originally posted by Dave2084 Dave2084 wrote:

So, I still need to figure out why my reads don't work properly.

And I can now successfully read a ROM.  Smile

The issue in the end was a typo.  D6 is pin 27 but I defined at as pin 37 (E) so I had two 37's and no 27.

Still don't have the bus test working so I have just commented it out and before I progress to a different CPU I'll need a fully working Arduino.

Next step writing to RAM!


-------------
Dave Langley

http://www.robotron-2084.co.uk/" rel="nofollow - www.robotron-2084.co.uk


Posted By: guddler
Date Posted: 26 Jan 2016 at 12:54am
Regarding further revisions of the hardware there's two things I'd put forward if anyone was interested. One trivial and might give a bit more room to move the jumpers, one not so trivial.

First one, I'd go SMD on the resistors. Yeah, I know, SMD - ooo, scary! Actually, no. Sure fine pitch QFP package chips are not pleasant (but even they can be done just with a decent iron easy enough), but simple resistors and caps and stuff (AKA bird seed) are no more difficult than through hole. Granted if you're like me you might need to buy a magnifying lamp

Without trying it in a PCB package I'd have no idea what impact that would have on the design. It actually might not help one bit because your design would either become single layer or you'd end up with a hell of a lot of VIA's. So OK, thinking aloud, maybe it won't help.

The other one would certainly not be trivial. Adding a CPU to the "POD". In a very simplistic way, maybe there is some cheap CPLD or similar device that could simply switch all pins based on a single switch input. But given that would need to be an 80+ pin device, I doubt such a beast exists. The other problem is that you'd probably be making the design of the POD CPU specific. But maybe not, maybe it could be jumpered in just the same way as the head.

Would be nice to have a quick way to switch between CPU and ICT though.

Oh well, no harm in dreaming


Posted By: chadsarcade
Date Posted: 26 Jan 2016 at 8:08am
I'm still waiting on a few parts so a little behind on this but have been reading the thread, and thought I'd chuck a couple of thoughts in:

1. Couldn't the CPU select jumpers be moved to the main PCB if a rev 2 were to be designed to make it easier to get to them?

2. Has anyone considered using an 80-pin IDE cable? Ignoring the fact for a moment that one pin is keyed off, it has a gnd per signal to minimise e-m induction so perhaps a single ribbon could be used? This would also make the CPU jumpers easier to get at, and the CPU pod end not much bugger than a 40 pin DIL package.

I can also confirm that Paul's software build instructions work fine under Linux. Like Dave, I got a £10-odd Arduino and LCD shield combo, the software compiles and uploads OK but I'll be checking the output pins after reading the comments above.




Posted By: adrian purser
Date Posted: 26 Jan 2016 at 9:50am
Originally posted by chadsarcade chadsarcade wrote:


2. Has anyone considered using an 80-pin IDE cable? Ignoring the fact for a moment that one pin is keyed off, it has a gnd per signal to minimise e-m induction so perhaps a single ribbon could be used? This would also make the CPU jumpers easier to get at, and the CPU pod end not much bugger than a 40 pin DIL package.


I looked at this a while ago because I have a drawer full of these cables. I found that all of the ground pins are shorted together so this only leaves 32 available pins (including one gnd pin).  This may be enough if you only use the bare minimum signals but I wanted to include all signals including interrupts (6502).



Posted By: chadsarcade
Date Posted: 26 Jan 2016 at 12:33pm
Originally posted by adrian purser adrian purser wrote:

I looked at this a while ago because I have a drawer full of these cables. I found that all of the ground pins are shorted together so this only leaves 32 available pins (including one gnd pin).  This may be enough if you only use the bare minimum signals but I wanted to include all signals including interrupts (6502).


Thanks for the info Ade, I too have a few of these but I haven't deconstructed one. Pity so many of the pins are common.


Posted By: PaulSwan
Date Posted: 26 Jan 2016 at 4:31pm
I simply copied the Fluke design so that the cable set and probe head could also be used to replace a damaged Fluke pod head (i.e. it was designed for both purposes).
Paul.




-------------
ZZZ


Posted By: Dave2084
Date Posted: 26 Jan 2016 at 7:46pm
Originally posted by PaulSwan PaulSwan wrote:

I simply copied the Fluke design so that the cable set and probe head could also be used to replace a damaged Fluke pod head (i.e. it was designed for both purposes).

And for this I thank you.  Never will I have to fear I can't fix a probe lead again. Big smile


-------------
Dave Langley

http://www.robotron-2084.co.uk/" rel="nofollow - www.robotron-2084.co.uk


Posted By: Dave2084
Date Posted: 26 Jan 2016 at 7:49pm
I think I've sorted out my iffy pin now or it has just started working on its own! Smile

Anyway here's the code I was using to flash all the pins we use for the ICT (though I skip the ones for the LED Keypad shield). I then just used an LED to check them.

void setup() {
  for (int thisPin = 14; thisPin < 70; thisPin++) { 
    if ( !(thisPin > 53 && thisPin < 62) ) pinMode(thisPin, OUTPUT);
  }
}
void loop() {
  for (int thisPin = 14; thisPin < 70; thisPin++) {
    if ( !(thisPin > 53 && thisPin < 62) ) digitalWrite(thisPin, HIGH);
  }
  delay(100);
  for (int thisPin = 14; thisPin < 70; thisPin++) {
    if ( !(thisPin > 53 && thisPin < 62) ) digitalWrite(thisPin, LOW);
  }
  delay(100);
}


-------------
Dave Langley

http://www.robotron-2084.co.uk/" rel="nofollow - www.robotron-2084.co.uk


Posted By: Judder
Date Posted: 30 Jan 2016 at 10:27am
** Hardware run update **

I've had a few more enquiries from arcade collectors on UKVac to get hold of a set of Paul's Arudino tester boards, so I'm thinking of doing another run of boards through DirtyPCBs

The cost for a set will be £5.00, which is pretty much at cost of what it costs to get the boards produced and posted so I will open a separate thread over on the For Sale board, and anyone interested can sign up there - leaving this thread for the build / expand project

We will need at least 8 people signed up to do the production run, and I have one already so that leaves 7 more interested parties to get it going

Feel free to invite friends over at other boards to sign-up for a set too

Thanks!

Alex


Posted By: guddler
Date Posted: 30 Jan 2016 at 2:57pm
Right, I've just got mine working. It was those damn jumpers. I had it on 20 instead of 21. That'll be why A11 was tied low then

Everything is now working as expected in Asteroids except for the bus test which appears to be returning 7c for the data bus. I'm going to try a few boards now and see if that is just this Meteoroids booty or if it's all Asteroids boards. If it's the same across all of the boards that I have here then maybe I could implement it as an entry in the custom menu?

As ever I'm juggling too many things at once so maybe tomorrow I'll get the time to add the different ROM variants and then I might be somewhere near making a pull request.


Posted By: Dave2084
Date Posted: 30 Jan 2016 at 3:01pm
Originally posted by Judder Judder wrote:

I've had a few more enquiries from arcade collectors on UKVac to get hold of a set of Paul's Arudino tester boards, so I'm thinking of doing another run of boards through DirtyPCBs

I would like another another set ...

Also how about running extra CPU Socket boards?   
These would be handy for fixing fluke pods with damaged cables.




-------------
Dave Langley

http://www.robotron-2084.co.uk/" rel="nofollow - www.robotron-2084.co.uk


Posted By: Nes4life
Date Posted: 30 Jan 2016 at 11:55pm
Making progress on mine! Also, made good headway with the host Mac app. Implementing the core communication in C so that it's cross-platform. I'm focusing on usability and robustness.

http://s1150.photobucket.com/user/Phillrb/media/BB9BD081-E15B-408B-82CD-F7D3D4833F91_zps9kvtqmqu.jpg.html" rel="nofollow">



-------------
NES4Life
-------------
An arcade tech - not a gamer


Posted By: Judder
Date Posted: 31 Jan 2016 at 11:08am
Originally posted by Nes4life Nes4life wrote:

Making progress on mine! Also, made good headway with the host Mac app. Implementing the core communication in C so that it's cross-platform. I'm focusing on usability and robustness.


Looking good!

One helpful trick I used for mine was to get a pair of nail clippers and use them to clip off the bottom of the resistor legs once soldered in - means you can remove any excess leg and solder and keep them all well away from each other

@Dave - good point about more CPU adapters versus shields - I'll see how interest goes for the second run and maybe run a 2 to 1 to get more


Posted By: guddler
Date Posted: 31 Jan 2016 at 11:48am
@Phill - check the resistors up in the top left near your forefinger, they look like they're overhanging where you're going to need to put the pin headers.

I would definitely like some additional head PCBs. My idea was to use wire links instead of the jumpers (because they're not the easiest to get to) and have a head per CPU, then maybe use sockets with the quick release clips to change CPU.


Posted By: Dave2084
Date Posted: 31 Jan 2016 at 5:56pm
Originally posted by guddler guddler wrote:

I would definitely like some additional head PCBs. My idea was to use wire links instead of the jumpers (because they're not the easiest to get to) and have a head per CPU, then maybe use sockets with the quick release clips to change CPU.

Good idea!  I think actually I'd be interested in maybe 1 set + 6 extra Head PCBs

Now if only I can get write work on the 6802.  Reading works just fine. 
Spent a number of hours looking at it today and can't figure out why it doesn't work.

I've also coded up initialising the 6821 etc for the IO test, but since I can't write to the 6821's DDR to initialise it I can't test that either.


-------------
Dave Langley

http://www.robotron-2084.co.uk/" rel="nofollow - www.robotron-2084.co.uk


Posted By: PaulSwan
Date Posted: 01 Feb 2016 at 5:24am
Point me to your fork/branch and I can take a look.
Paul.



-------------
ZZZ


Posted By: Nes4life
Date Posted: 01 Feb 2016 at 10:16am
Hey Paul, after fitting the shield into the arduino alongside the lcd I think there's a small change you can make to the pcb layout to make the fit more snug. I found that the resistors in the top left (see my last photo) were about one resistor's width too far left. This meant that the edge of the lcd shield sort of sat on the far left resistor. I managed to push the resistor's right a little but probably better to address it on the pcb layout itself. I'll get a better photo of the issue tonight.

-------------
NES4Life
-------------
An arcade tech - not a gamer


Posted By: Dave2084
Date Posted: 01 Feb 2016 at 10:44am
Originally posted by PaulSwan PaulSwan wrote:

Point me to your fork/branch and I can take a look.

I hadn't yet got round to forking and branching from guthub, I have now but the version of the code on my laptop isn't the latest, I'll sort it out later and send you a link.


-------------
Dave Langley

http://www.robotron-2084.co.uk/" rel="nofollow - www.robotron-2084.co.uk



Print Page | Close Window