[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

News on the remake of the Mill 6809




OK, a slow boat from China brought a few PCBs and I have assembled one card.

http://alexfreed.com/FPGApple/Mill6809/redesign_mill6809.jpg

Smaller and simpler than the original due to a CPLD replacing the memory remapping ROM and some glue logic.

The good news is that it works, but the bad news is that it takes an instrument to see that.

Here is a snapshot:

http://alexfreed.com/FPGApple/Mill6809/mill6809_analyzer.PNG

I'm trying to use the good old demo1.bas from the disk image.

 480  REM FFFE -> 40FA=JMP $1000
 490 X =  PEEK (ROM) * 256 +  PEEK (ROM + 1)
 500  REM
 510  POKE (X),126: REM  7E
 520  POKE (X + 1),CODE / 256
 530  POKE (X + 2),0
 540  POKE SLOT + 2,128: REM  RUN

This code wants to write a jump instruction to the address, presumably $40FA, pointed to by the last 2 bytes in standard Apple ][ ROM. Unfortunately my enhanced 2e has $FAC3 at FFFE-FFFF. So as one can see on the analyzer screen the 6809 fetches $FAC3 and jumps to that address. Which of course lives in ROM and can't be patched. Oops...

Sure I could load a standard monitor into the "language card", switch to it and then try it again, but this is a bit ugly. Also I'm pretty confident the basic counting test will work - after all both CPUs are running. Where should I take a better test? My main concern is that knowing that the LS14 was replaced with LS04 while adding the memory mapping for OS09 I suspect that timing may need to be tuned. Of course my address mapping CPLD is an order of magnitude faster than a ROM used in the original version, but "too fast" can also be an issue. So I need some tests before declaring the card operational. I want something that runs with all 3 versions of the memory map - virgin, flipped A15 and OS09 remapping.

-ALex.