[cctalk] Re: Computhink Eagle 32 - software, docs, info?
Hi all Oops that went off before I was finished with it. I suspect that I can figure out from the pattern of I/O accesses which devices are at which address in the memory map, at least if I bring up an emulation in MAME. That should at least allow writing new code for it, and _maybe_ even figuring out which CRT controller the video hardware uses and where in the memory map it is. (I suspect the 6845 and/or 6847 just from the time period, but who knows? Gotta see what it actually do when trying to show the âIPL IN PROGRESSâ string contained in the ROM, or one of the couple error strings ) As far as I can tell this is where a character gets displayed. ; character in +1(A6) 00FFCE0C : 48E7 C000MOVEM.L D0,D1,-(A7) 00FFCE10 : 302B 06ACMOVE.W +1708(A3),D0 ; get something 00FFCE14 : 6122 BSR $00FFCE38 ; do something 00FFCE16 : 0040 8000ORI.W#$8000,D0 00FFCE1A : 11C0 8001MOVE.B D0,$00FF8001 ; Low byte 00FFCE1E : E048 LSR.W#8,D0 00FFCE20 : 11C0 8003MOVE.B D0,$00FF8003 ; High byte 00FFCE24 : 11EE 0001 8005 MOVE.B +1(A6),$00FF8005 ; Character 00FFCE2A : 0838 0006 801B BTST #6,$00FF801B ; Wait for a flag 00FFCE30 : 66F8 BNE $00FFCE2A 00FFCE32 : 4CDF 0003MOVEM.L (A7)+,D0,D1 00FFCE36 : 4E75 RTS ; Here with something (from $06AC(A3)) in D0 ; current guess, it's the cursor position, which then gets translated ; to an X and a Y byte in D0.w 00FFCE38 : 0C2B 0050 06B7 CMPI.B #$50,+1719(A3) 00FFCE3E : 6628 BNE $00FFCE68 ; Return 00FFCE40 : 48C0 EXT.LD0 00FFCE42 : 81FC 0050DIVS #$0050,D0 00FFCE46 : 4840 SWAP D0 00FFCE48 : 3200 MOVE.W D0,D1 00FFCE4A : 4840 SWAP D0 00FFCE4C : ED48 LSL.W#6,D0 00FFCE4E : 0C01 0040CMPI.B #$40,D1 00FFCE52 : 6C08 BGE $00FFCE5C 00FFCE54 : 11FC 8013 MOVE.B #$00,$00FF8013 00FFCE5A : 600A BRA $00FFCE66 00FFCE5C : 0441 0040SUBI.W #$0040,D1 00FFCE60 : 11FC 0001 8013 MOVE.B #$01,$00FF8013 00FFCE66 : 8041 OR.W D1,D0 00FFCE68 : 4E75 RTS Or maybe it's talking to a chip (not 6845 which is memory mapped or 7220 which has two registers only) and someone recognises it? W
[cctalk] Re: Computhink Eagle 32 - software, docs, info?
Hi all Chris gave me a copy of the boot ROM and I played around with it a bit. I threw the 4KB of boot ROM in Ghidra and confirmed a couple things: - At boot, ROM is mapped to 0, and then remapped either by a write to the location or by a cycle counter: The initial stack pointer at 0x0 is 0x0001fffe and the initial program counter at 0x4 is 0x00ffc026, indicating the ROM is normally located at 0x00ffc000. - The ROM freely interchanges addresses in the 0x00ffc000..0x00ff range and addresses in the 0xc000..0x range, which is annoying to deal with in Ghidra. The code takes advantage of the 68000 sign-extend on absolute short addressing mode, like move.b #$00, $8011. IDA correctly disassembles this to "move.b #0,($FF8011).w". I assume Ghidra if sign-extending it all the way to 8011? - I/O devices appear to be in the 0x00ff8000..0x00ffbfff range, all of the devices accessed via the bootstrap seem to be barely above 0x00ff8000. - Only NMI, bus error, interrupt 2, and interrupt 5 are set up by the bootstrap. Yup. - The bootstrap is very bare-bones but still has a bunch of indirection in it; itâs obviously written in assembly, but it does seem to have parameterization so it may support both console and serial I/O. I suspect either some low-level high-level language, or massive use of macros (which is in effect a low-level high-level language :-) Code like: ; Called with A6 pointing to a length and a string address 00FFCA4C : 48E7 8080MOVEM.L D0,A0,-(A7) 00FFCA50 : 3016 MOVE.W (A6),D0 ; length 00FFCA52 : 48C0 EXT.LD0 00FFCA54 : 206E 0002MOVEA.L +2(A6),A0; pointer to string 00FFCA58 : 508E ADDQ.L #8,A6; clear stack 00FFCA5A : 5380 SUBQ.L #1,D0 00FFCA5C : 6B0E BMI $00FFCA6C; done 00FFCA5E : 518E SUBQ.L #8,A6; make space on stack again 00FFCA60 : 1D58 0001MOVE.B (A0)+,+1(A6) ; one character on stack 00FFCA64 : 4EB8 C566JSR $00FFC566 00FFCA68 : 51C8 FFF4DBF D0,$00FFCA5E ; loop 00FFCA6C : 4CDF 0101MOVEM.L (A7)+,D0,A0 00FFCA70 : 4E75 RTS I suspect that I can figure out from the pattern of I/O accesses which devices are at which address in the memory map, at least if I bring up an emulation in MAME. That should at least allow writing new code for it, and _maybe_ even figuring out which CRT controller the video hardware uses and where in the memory map it is. (I suspect the 6845 and/or 6847 just from the time period, but who knows? Gotta see what it actually do when trying to show the âIPL IN PROGRESSâ string contained in the ROM, or one of the couple error strings ) Chris
[cctalk] Re: Computhink Eagle 32 - software, docs, info?
Hi Chris and all - No video board, whether text or graphics Since thereâs no video board in the system, and a couple of cables internally that arenât attached to anything, I expect it was removed by a previous caretaker. This is sad because without one itâs unlikely to come up, not that anyone has found any software for it. On the other hand, there are zero PALs, so both full reverse engineering and maintenance should be straightforward. I've scanned the press releases and adverts that come up on Google and I'm going to wager it was meant to be used with one or two terminals. Nowhere do they mention a display, and the adverts show a box sitting next to a terminal. Send me a copy of the ROM binary please? W
[cctalk] Re: Computhink Eagle 32 - software, docs, info?
I picked up this system from its previous caretaker yesterday, to hold onto for a friend. I’ve also inventoried the major functional ICs and archived the “IPL-M” ROMs. Here’s what’s in the Eagle-32: - Main Logic Board - 8MHz 68000 CPU - 2x D8255 programmable peripheral interface - left 8255 is clearly for parallel and user port - right 8255 I strongly suspect is for hard disk, possibly ANSI or SASI - D8253C programmable interval timer - 2x 2651N programmable communications interface for serial ports - 2x 2716 for IPL-M 0/1 ROMs - Disk Controller Board - FD1701B-02 floppy disk controller - No video board, whether text or graphics Since there’s no video board in the system, and a couple of cables internally that aren’t attached to anything, I expect it was removed by a previous caretaker. This is sad because without one it’s unlikely to come up, not that anyone has found any software for it. On the other hand, there are zero PALs, so both full reverse engineering and maintenance should be straightforward. I threw the 4KB of boot ROM in Ghidra and confirmed a couple things: - At boot, ROM is mapped to 0, and then remapped either by a write to the location or by a cycle counter: The initial stack pointer at 0x0 is 0x0001fffe and the initial program counter at 0x4 is 0x00ffc026, indicating the ROM is normally located at 0x00ffc000. - The ROM freely interchanges addresses in the 0x00ffc000..0x00ff range and addresses in the 0xc000..0x range, which is annoying to deal with in Ghidra. - I/O devices appear to be in the 0x00ff8000..0x00ffbfff range, all of the devices accessed via the bootstrap seem to be barely above 0x00ff8000. - Only NMI, bus error, interrupt 2, and interrupt 5 are set up by the bootstrap. - The bootstrap is very bare-bones but still has a bunch of indirection in it; it’s obviously written in assembly, but it does seem to have parameterization so it may support both console and serial I/O. I suspect that I can figure out from the pattern of I/O accesses which devices are at which address in the memory map, at least if I bring up an emulation in MAME. That should at least allow writing new code for it, and _maybe_ even figuring out which CRT controller the video hardware uses and where in the memory map it is. (I suspect the 6845 and/or 6847 just from the time period, but who knows? Gotta see what it actually do when trying to show the “IPL IN PROGRESS” string contained in the ROM, or one of the couple error strings…) — Chris
Re: Computhink Eagle 32 - software, docs, info?
On 10/17/21 2:18 PM, Joshua Rice wrote: I saw that exact thread, and was as intrigued as you. Looks like it didn’t have any graphics capability, but instead had a text-based terminal built in. Quite unusual to see such a basic machine with such a capable CPU. The Infoworld article claimed 80x25 text, but also 240x512 graphics, suggesting that it was pixel addressable. The overview on the 1000bit site also says Unix ability (which would be really interesting given that the machine is contemporary with first offerings from companies such as Sun and Masscomp), but I'm not sure how much trust to place in that claim. cheers Jules
Re: Computhink Eagle 32 - software, docs, info?
> On Oct 17, 2021, at 4:33 PM, Jules Richardson via cctalk > wrote: > > > Hey all, > > Someone in one of the Facebook vintage groups that I'm in just picked up a > Computhink Eagle 32, an early-ish (appears to be circa 1981/82) 68000-based > machine with integral display and keyboard. I saw that exact thread, and was as intrigued as you. Looks like it didn’t have any graphics capability, but instead had a text-based terminal built in. Quite unusual to see such a basic machine with such a capable CPU. Here’s an imgur URL to the pictures, for anyone not in the facebook group: https://imgur.com/gallery/8cFyA7p Here’s the link to the facebook post: https://www.facebook.com/groups/vintagecomputerclub/posts/5038930992806893/ Cheers, Josh
Computhink Eagle 32 - software, docs, info?
Hey all, Someone in one of the Facebook vintage groups that I'm in just picked up a Computhink Eagle 32, an early-ish (appears to be circa 1981/82) 68000-based machine with integral display and keyboard. On the rear it has a 50-pin connection for floppy and a 34-pin connection for a hard disk, but they have no external peripherals for it, and also no software and documentation. It's quite possible that the floppy connection is simply Shugart; hard disk *maybe* SASI I suppose, skimping on the number of ground lines (in which case it likely ran an external bridge to ST412/506). Online searching shows up very little about this system; does anyone here happen to have one or know anything about them? This one seems to have a pair of 256KB memory boards fitted, but also (perhaps worryingly) an empty "video" slot - although CRT connections apparently route to the main system board, so there's a chance that there was just a video expansion option not fitted to this particular machine. Still, even if that's not an issue, without knowledge of drives and software it might forever remain in boat anchor territory... cheers, Jules