Irem M84 partial schematics

 General  Comments Off on Irem M84 partial schematics
Oct 102015
 

I’ve started drawing out Irem’s M84 hardware. I’m using an R-Type II PCB so the ROM names are specific but the overall layout and functionality should be the same across the games.
I used the M81 schematics I made as the base as the hardware is very similar.

This will be updated as I get around to it or until I no longer need to carry on with it.
Available in the ‘Downloads/Schematics’ section.

 Posted by at 4:26 pm
Sep 232015
 

24/09/2015

A09 Konami-1 v1.4 update ( enhanced )

This is the final version unless some major bugs are found. I really can’t think of any other features you would want in an assembler.

  • RESET & IRQ vector support via -r & -i command line switches
  • Specifying -r or -i switch automatically pads binary to nearest multiple of 8kb
  • Creates multiple binary files from target for easy deployment to EPROMs ( max 8*8kb files )

The source code within the following archive contains original code which is copyright under the GPL2 & BSD3 licenses.

Please see comments in a09.c & konami1.c for license details.

Version: A09 v1.4

1.4

25/08/2015

A09 Konami-1 v1.1 update ( enhanced )

In this version the following improvements have been made

  • Source lines increased to 256 characters
  • Symbols increased to 32 characters
  • Use of underscored permitted in symbols
  • Symbol table is generated dynamically, previously it was limited to 2048 labels

Source, Windows & OSx64 executable provided in the package which can be downloaded from Programs/Software.

Thanks and credit goes out to Cmonkey for the first 3 improvements.

Version: A09 v1.1

v1.1

12/07/2015

If you’re reading this again at some point in the future then chances are you’ve discovered the following error message and want to fix it.

Sorry, no storage for symbols!!!

The A09 assembler has a maximum limit of 2048 labels hard coded by default which is definitely not enough if you want to re-assemble 6809 source from some of the konami1 games, dis-assembly can easily exceed 2048 labels.

#define NLABELS 2048

Modify the above value of 2048 in the source to your desired value and compile using the following command line. I increased mine to 100,000 as memory is not an issue these days.

gcc -o A09.exe A09.c konami1.c

9/7/2015

To get people who are interested started in home-brew apps on the Konami-1. I’ve included a very basic hello world asm source example which I’ve added to the download package. Produces the following output on a Track & Field PCB in SOCKET1A. The game EPROM A5 must be in SOCKET5A for this to work as the reset vector to the ROM A1 is obtained here.

Normally, your home brew code should be modified to start from 0xe000 and installed in SOCKET5A on the track & field pcb. The binary should be padded out to 8kb and the reset vector can be set to e000 from offset fffe in the produced binary using a hex editor.

7/7/2015

This assembler is based on the original A09 assembler sources written by L.C. Benschop which can be found here at https://koti.mbnet.fi/~atjs/mc6809/

This is a modified version of the above source that encrypts op-codes in order to run code on the Konami-1 CPU. This was the custom 6809 CPU used in games such as Gyruss, Track & Field, Circus Charlie, Roc ‘n Rope..etc.

This will allow for home-brew apps to run on the Konami-1 CPU without the need to encrypt op-codes by hand. The code uses the konami1_decodebyte() as found in the MAME sources, this function handles the op-code encryption for the Konami1.

Version: A09 v1.0

k1

 

 

 

 

 

 

 

 

Logic Probe testing

 General  Comments Off on Logic Probe testing
Sep 112015
 

This is something I’ve wanted to do for a while but never got around to.
The following is a mix of my personal thoughts and findings. I realise others will have the same equipment and the operation of these will likely differ.
This post is in no way a “What to buy” guide. It is meant to show how three different probes work at different voltage levels.

I’ve got three logic probes but only ever use one of them as I really like it but is it giving me the most accurate reading?
Lets take a look

So here are what I’ve got.
IMAG1589

Top one is a Tenma branded one (also seen this under different brand names). This is my probe of choice.
Second one is an unbranded one. Used this once and it feels really cheap in hand but it does have a buzzer in it to accompany the LED’s which is nice.
Lastly is an RS branded one. This is a recent eBay purchase bought mainly for this write-up.

First off, lead length.
There is nothing worse than being restricted but short leads when probing around a board.
Tenma = 58cm
Unbranded = 146cm
RS = 171cm

So my probe of choice has the shortest lead length. I must admit it has hindered me in the past.

To test the logic thresholds I used my programmable PSU and used the outputs that have a common ground.
Here are the ‘official’ threshold levels according to Wikipedia for TTL and CMOS (assumming VCC = +5v).
logic levels

The pictures below show the voltage at which the LOW LED goes OFF and the voltage at which the HIGH LED comes on.
Lets look at the Tenma probe to start with.
This probe only supports TTL logic levels where as the other two can switch between TTL and CMOS.

NOTE: You want to be looking at the smaller voltage settings at the bottom (under ‘Set’). This is the actual voltage settings and was checked for accuracy with a Fluke multimeter.

LOGIC LOW THRESHOLD (TTL)
Tenma Low_on

LOGIC HIGH THRESHOLD (TTL)
Tenma High_on

As you can see the LOW level begins to show around 0.1v below the stated thresholds. Not too bothered about that. Whats more worrying is the HIGH trigger point, its nearly 1v out of spec.

Next up is the unbranded probe

LOGIC LOW THRESHOLD (TTL)
TTL-UB Low_off

LOGIC HIGH THRESHOLD (TTL)
TTL-UB High_on

This has similar LOW trigger levels as the Tenma one and the HIGH trigger is around 0.7v lower bringing it nearer to the thresholds stated. Not too bad.

Finally the RS branded probe. The pictures are pretty useless here as the low brightness level of the probe at these voltages make it difficult to capture on camera but its there.
LOGIC LOW THRESHOLD (TTL)
TTL-RS Low_off

LOGIC HIGH THRESHOLD (TTL)
TTL-RS High_on

Results are very positive for this probe on the TTL setting.

Next I test the CMOS setting. As the Tenma cannot support CMOS it is obviously excluded from this test.
Unbranded first.

LOGIC LOW THRESHOLD (CMOS)
CMOS-UB Low_off

LOGIC HIGH THRESHOLD (CMOS)
CMOS-UB High_on

The LOW trigger is a bit low here but the HIGH is pretty good.
Now for the RS probe. Once again the pictures are pretty rubbish as the low level of the LED doesnt really show up on the camera but I assure you it is there.

LOGIC LOW THRESHOLD (CMOS)
CMOS-RS Low_off

LOGIC HIGH THRESHOLD (CMOS)
CMOS-RS High_on

The LOW trigger is much the same but the HIGH is a little higher than the unbranded.

So here we have the full results
results

This test wasn’t the greatest and it is only my interpretation of it. For example, should I have taken readings when the LED’s were at full illumination? Different people will prefer different things.
The unbranded probe didn’t seem to have that dimming of the LED’s depending on the voltage. It was clearly either ON or OFF. Whether this is a good or bad thing will depend on user preference. For me its not too good. This probe however is the only one to have the buzzer which is a nice thing to have sometimes.
I think for me the RS probe will now be my probe of choice. It has nice long leads, feels good to hold and use and the results were decent too.

 Posted by at 1:19 pm