Dec 242011
 

Did you ever think about having a Bluetooth connection to your CPC, e.g. to transfer your data or DSK images directly from or to it? Of course it is possible and it is very simple to realise that, plus: you can use all the tools, which already work with the CPC Booster+. I already use this setup for nearly a year and found the time time to document it. You can find the documentation in the articles section of this page.

Bluetooth modules on an Amstrad CPC

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 [[Inicron ROM-RAM-Box|ROM-RAM-Box]] by the Inicrons, the [[Ramcard 128|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

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.

Apr 152011
 

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 in the [[Amstrad Cartridge Identification Device|ACID article]] of the CPCWiki and right here in this posting:

`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 – maybe Bryce will change his cartridge design and support this solution in the future :-).

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close