Sep 032011
 

TFM released the first official version of the ROManager application for the MegaFlash from Bryce. After a long phase of testing by SyX the ROMananger in version 1.35 is now capable to perform the following tasks:

  • Park or Unpark a ROM
  • Clear a ROM
  • Copy, swap or shift ROMs
  • Test a ROM for name, version number and checksum.
  • Adapt a ROM checksum
  • ROMs can be loaded from disc or saved to disc.

There are versions for Basic (either from disc or ROM redident) or for FutureOS. The Basic version can work with different drives and OSs. The ROM resident version needs  32 KB, which equals two ROMs. A version which only needs one ROM is under development.

The ROManager including all source codes can be downloaded at: http://www.FutureOS.de

MegaFlash

Aug 052011
 

Finally the newest hardware release for the CPC is there: The MegaFlash. It is a ROM box, created by Bryce, which contains 512KB flash memory, which means that you can program it directly with your CPC. It is similar to the ROM-RAM-Box by the Inicrons, the RAM-Card by RAM7 or the SYMBiFACE II by Dr.Zed (only the ROM part). You can now store ROM software like the Starkos tracker, Maxam, Protext, etc. in it.
If you want to order such a device, be quick (only a few devices are left) and send Bryce a personal message in the CPC Wiki forum.

[UPDATE:] Sorry, I totally forgot to write about the software you need to program the MegaFlash ROM box. The box can be programmed with the MegaFlashROManager by TFM which is available for Basic and FutureOS. Thanks for your comment, TFM!

MegaFlash_Size

Connect CPC to a VGA display

 

I always wanted to connect my CPC to a VGA display, but haven’t found a good solution to do this. During the last weeks I searched through eBay (search for “CGA VGA converter”) and found a seller in Hong Kong (eBay name “chowhe_taiwan”), who sells a CGA to VGA converter for a very cheap price (I paid at that time around 27 EUR including shipment).

It also was advertised for arcade machines, so I thought that this device should work with a CPC, too.

cga_vga_converter

To sum it up, this are the features of the device:

  • Supports CGA / EGA and YUV signal input
  • Support the following VGA output resolutions: 640×480, 800×600, 1024×768, 1360×768
  • CGA / EGA signal auto scan (15k, 24k, 31k)
  • YUV signal auto scan (480i, 576i, 720i, 1080i, 480p, 576p, 720p, 1080p)
  • Chinese and english on screen display (default is chinese, but you will find the menu to change the language easily)
  • Position & zoom control

After two weeks the kit arrived and I had the time to have a look at it and it works really fine. It only has some problems with demos which intensively use hardware effects. Btw, the demo “Batman Forever” works fine with this converter (except the multi-colour picture :-( ). I also tested some other demos which heavily used hardware effects and it seems that the converter works very good with them. Most of them work without any flaws.

To connect the device you have several options: you will find a connector on the left bottom side to directly connect the RGBS signal from the CPC to the converter, but I used the cable which was delivered with the device which is connected to the connector over the CGA 15pin SUB-D connector. The connection is really simple, but it depends on your CPC model of course.

This is the pinout of the connector cable:

Cable colorFunction
RedRed analogue signal
GreenGreen analogue signal
BlueBlue analogue signal
GreySync / RGB switching control
YellowVSync (don’t connect this)
BlackGND / Common

Connection to the Amstrad CPC (464, 664, 6128):

To connect the converter to the Amstrad CPC, you just have to connect each signal cable directly to the corresponding pin of the monitor connector of the CPC. Have a look at the pinout of the connector. I also added an image from my soldered connector, which might help you building your own connector.

Pin No.Signal NameDescription
1RRed analogue signal
2GGreen analogue signal
3BBlue analogue signal
4SyncRGB switching control
5GNDCommon
6LumLuminance

 

Cpc_monitor_pinoutcga_vga_converter_connector

 

Connection to the Amstrad Plus (464+, 6128+, GX4000):

The connection to the Plus is nearly the same, but you have a new pinout, because the Plus monitor connector contains two additional pins for audio output.

Pin No.Signal NameDescription
1SyncRGB switching control
2GGreen analogue signal
3LumLuminance
4RRed analogue signal
5BBlue analogue signal
6LLeft audio signal
7RRight audio signal
8GNDCommon

Plus_monitor_pinout

If you connected the wires correctly and switch on your CPC, you should see something similar to this image (I used a CRT in this test):

main_screen

And here are some screenshots which I took with my digicam of several demos:

demoizart

voyage_93

ultimate_megademo

After all I really like this device and it seems to work in most cases and I would definitively buy it again :-) !

May 112011
 

During the last years I searched for a good method to connect my Amstrad CPC to a VGA display, but haven’t found the desired hardware to do that. During a search on e*ay I found a converter, which was designed for arcade machines, and connected it to my CPC. You can now find the result and more information of that in the “Articles” section.

ACID Verilog code

 

Nilquader and I decided to release our Verilog code (based on Nocash’s decryption of the algorithm) to “emulate” the ACID protection chip of the Amstrad Plus. So, you can now find it here (for more information have a look at the ACID article of the CPCWiki):

Selec All Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company:
// Engineer: Octoate, Nilquader
// ACID Reverse engineering by nocash
//
// Create Date   : 00:45:53 09/03/2010
// Design Name   : amsacid
// Module Name   : amsacid
// Project Name  :
// Target Devices: Xilinx XC9572
// Tool versions :
// Description   : Reverse engineered Amstrad 40908 "ACID" Chip
//
// Revision:
// Revision 0.05
// Additional Comments:
//
//////////////////////////////////////////////////////////////////////////////////
module amsacid(PinCLK, PinA, PinOE, PinCCLR, PinSIN);
 
input PinCLK;
input [7:0]PinA;
input PinOE;
input PinCCLR;
 
output [7:0]PinSIN;
 
wire PinCLK;
 
reg [16:0]ShiftReg = 17'h1FFFF;
wire [16:0]CmpVal;
wire [16:0]XorVal;
 
assign CmpVal = 17'h13596	^ (PinA[0] ? 17'h0000c : 0)
				^ (PinA[1] ? 17'h06000 : 0)
				^ (PinA[2] ? 17'h000c0 : 0)
				^ (PinA[3] ? 17'h00030 : 0)
				^ (PinA[4] ? 17'h18000 : 0)
				^ (PinA[5] ? 17'h00003 : 0)
				^ (PinA[6] ? 17'h00600 : 0)
				^ (PinA[7] ? 17'h01800 : 0);
assign XorVal = 17'h0C820	^ (PinA[0] ? 17'h00004 : 0)
				^ (PinA[1] ? 17'h06000 : 0)
				^ (PinA[2] ? 17'h00080 : 0)
				^ (PinA[3] ? 17'h00020 : 0)
				^ (PinA[4] ? 17'h08000 : 0)
				^ (PinA[5] ? 17'h00000 : 0)
				^ (PinA[6] ? 17'h00000 : 0)
				^ (PinA[7] ? 17'h00800 : 0);
 
always@(negedge PinCLK)
	begin
 
	if (PinCCLR) // not in reset state
		begin
		if (!PinOE && ((ShiftReg | 17'h00100) == CmpVal))
			begin
			ShiftReg <= (ShiftReg ^ XorVal) >> 1;
			ShiftReg[16] <= ShiftReg[0] ^ ShiftReg[9] ^ ShiftReg[12] ^ ShiftReg[16] ^ XorVal[0];  // hier xorval mit berüchsichtigen
			end
		else
			begin
			ShiftReg <= ShiftReg >> 1;
			ShiftReg[16] <= ShiftReg[0] ^ ShiftReg[9] ^ ShiftReg[12] ^ ShiftReg[16];
			end
		end
	else
		begin
			ShiftReg <= 17'h1FFFF;
		end
	end
 
//assign PinSIN = ShiftReg[7:0] ^ 8'hff;
assign PinSIN = ShiftReg[7:0];
//assign PinSIN[0] = PinCLK;
 
endmodule

But this isn’t everything about the ACID. We also found a timing problem during the investigation with a logic analyzer, which you can see here:

ACID initialisation by Grim

ACID initialisation (by Grim)

You will find glitches on the /CCLR line which show that the SIN contact should be changed… All in all it is possible to use a fast flip-flop to change the SIN signal when such a glitch occurs (see picture below).

Flip flop for ACID replacement

Flip flop for ACID replacement

You see, this is a very simple schematic, but it isn’t much cheaper than a CPLD, which emulates the full ACID and it comes with a disadvantage: it won’t work with a reset, so you always have to switch the CPC off and on again.

So, have fun with it :-) .