Fixing Panasonic FS-A1 MK2 firmware issues

By Alexey

Guardian (1662)

Alexey's picture

10-08-2018, 00:10

I am thinking of fixing the Panasonic FS-A1 MK2 firmware issues by replacing the original 28-pin masked ROM chip with a specially made board having the 27C010 EPROM chip installed in a socket. The chip will be in PLCC32 case.

The original firmware will be patched so that the Panasonic's UI is disabled by default. This will fix the booting issues with Carnivore2, MegaFlashRom and other cartridges. The built-in UI could be still started by holding one of the service keys (probably I will make it react to "Home" or "Select").

Will there be enough people willing to buy the board with the programmed EPROM chip? I need at least 9 people to show their interest to start making the board for the batch.

Login or register to post comments

By Meits

Scribe (5116)

Meits's picture

10-08-2018, 00:47

Is it possible to update the carnivore 2 to change the disable button? As far as I know MFR can do this. Never tried it. Still default because I have nothing else reacting on ESC button.

By gdx

Prophet (2270)

gdx's picture

10-08-2018, 10:37

The firmware is useless. The calendar is buggy and SOFASET by Louthrax is a good alternative for most functions.
I think it's better to remove it. That's what I did on my FS-A1 with an eeprom W27C512-70.
About FS-A1mkII, I noticed that fs-a1mk2_cockpit2.rom contains only a routine to initialize SRAM of the RTC when GRAPH key is pressed during start. That routine is also into fs-a1mk2_cockpit3.rom so this part of 16kB can be filled with 0FFh as the FS-A1. The real size of firmware is 64Ko in fact. However, I do not recommend it but you can keep fs-a1mk2_cockpit2.rom part if you remove the firmware.

fs-a1mk2_cockpit2.rom routine:

	org	04010h

	ld	a,7
	call	0141h	;Scan row 7 in keyboard matrix
	and	4	;test GRAPH key
	ret	nz	;Back if GRAPH is not pressed
	di
	ld	hl,RTCdata	;403Ah
	ld	b,2
	ld	c,20h	;SRAM block 2, register 0
loop2:
	push	bc
	ld	b,0dh
loop1:
	ld	a,(hl)
	ld	ix,01f9h
	push	bc
	push	hl
	call	015fh	;Write data to Sram from RTC
	pop	hl
	pop	bc
	inc	hl
	inc	c
	djnz	loop1
	pop	bc
	ld	c,30h	;SRAM block 3, register 0
	djnz	loop2
	ei
	ret
RTCdata:
	db 0Ah,00h,00h,01h,0Dh,01h,0Fh,04h,07h,03h,02h,00h,00h,00h
	db 00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h

The firmware is probably convertible to a Rom of 64kB using a mapper but I think it's more easy to program it self from the beginning without bug.

By Alexey

Guardian (1662)

Alexey's picture

10-08-2018, 13:39

Meits wrote:

Is it possible to update the carnivore 2 to change the disable button? As far as I know MFR can do this. Never tried it. Still default because I have nothing else reacting on ESC button.

Carnivore checks for those buttons at startup:

[F4] - disable autostart option
[F5] - disable startup menu

The ESC is used to skip autostart and from the boot block UI.

By Alexey

Guardian (1662)

Alexey's picture

10-08-2018, 13:42

gdx wrote:

The firmware is useless. The calendar is buggy and SOFASET by Louthrax is a good alternative for most functions.
I think it's better to remove it. That's what I did on my FS-A1 with an eeprom W27C512-70.

Well, it's indeed useless then. Could you please share the 64kb image that you used to fix your MK2?

By gdx

Prophet (2270)

gdx's picture

10-08-2018, 14:18

EEPROM_W27C512-70.zip

fs-a1mk2a.bin is the rom for FS-A1mkII with Main-ROM + Sub-ROM. (not tested)
fs-a1mk2b.bin is the rom for FS-A1mkII with Main-ROM + Sub-ROM + GRAPH key to initialize SRAM of the RTC. (not tested)

FS-A1-EEROM.rom is the rom for FS-A1. (tested ok)

By Alexey

Guardian (1662)

Alexey's picture

10-08-2018, 21:39

Thanks, gdx. What did you do with pin 22 of the EPROM chip? On 27C512 chip it's OE/VPP and on the computer's board it's A16. If I remember correctly, you should not connect this pin to the board, it should be connected to CE (pin 20).

By gdx

Prophet (2270)

gdx's picture

11-08-2018, 01:57

VPP is used when you program the 27C512 only and I think /OE is A16 on original Rom. So no modification is necessary, simply replace original Rom with the Eprom.

By Alexey

Guardian (1662)

Alexey's picture

12-08-2018, 01:59

I have a different mainboard, by the way. Installing the 27C512 EPROM into a socket instead of the original ROM chip worked like a charm. The computer boots and allows other cartridges to boot normally. Thanks, gdx! I think that for such computers this modification is a must. Desoldering the old ROM chip was super easy because the board is one-sided.

I also had to fix the mess on the video board. It was the same crappy video board with leaky electrolytic capacitors. Those leaked ages ago, damaged the board to the extent that one SMD component went off the board. I had to clean up everything and install tantalum capacitors to whatever was left from the solder pads. Looks ugly. The missing 820 Ohm resistor was replaced with a 750 Ohm one. Now the machine works well with the composite video output.

By Alexandre_Taito

Champion (322)

Alexandre_Taito's picture

15-08-2018, 06:53

Alexey wrote:

I also had to fix the mess on the video board. It was the same crappy video board with leaky electrolytic capacitors. Those leaked ages ago, damaged the board to the extent that one SMD component went off the board. I had to clean up everything and install tantalum capacitors to whatever was left from the solder pads. Looks ugly. The missing 820 Ohm resistor was replaced with a 750 Ohm one. Now the machine works well with the composite video output.

Alexey, wait one more month, I'm redesigning this HIC-1 hybrid board with option for the CXA2045 and s-video output. It will be an open project too, so you can make some boards for you. I'm waiting for parts to test it Smile

My MSX profile