[cctalk] Re: Computhink Eagle 32 - software, docs, info?

2024-01-10 Thread Wouter de Waal via cctalk

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?

2024-01-10 Thread Wouter de Waal via cctalk

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?

2024-01-05 Thread Wouter de Waal via cctalk

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?

2023-12-29 Thread Chris Hanson via cctalk
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?

2021-10-17 Thread Jules Richardson via cctalk

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?

2021-10-17 Thread Joshua Rice via cctalk



> 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?

2021-10-17 Thread Jules Richardson via cctalk



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