[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
News on the remake of the Mill 6809
- Subject: News on the remake of the Mill 6809
- From: Alex Freed <alex_news@alexfreed.com>
- Date: Tue, 03 Jul 2012 21:48:24 -0700
- Newsgroups: comp.sys.apple2
- Organization: Aioe.org NNTP Server
- User-agent: Mozilla/5.0 (Windows NT 5.1; rv:13.0) Gecko/20120614 Thunderbird/13.0.1
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.