Topics

Fiddling with MSI88/e

 

Hello all,

I've been playing with the MSI88/e this weekend, using Lee Hart's
partial reverse-engineered schematics from the FILES section.

Looking at these, it seems that EF3 and Q are wired to the port in a
way that could support a bit-banged serial interface. It so happens
that Lee has also written the code for that in his IDIOT/4 monitor,
which comes complete with TMSI tiny BASIC.

I assembled the TMSI BASIC source, configured for 8K ROM (PAGE=2000H),
with SEQ/REQ reversed (to account for the inverted buffering of Q),
and using EF3 instead of EF4. The goal is to explore the unit
interactively via a terminal. I can see valid serial data from the
remote terminal on pin 22 (EF3), but no activity on Q. I did remember
to fill the unused ROM with FF to keep the startup code from trying to
execute a ROMed basic routine. I

To try to isolate the problem, I also tried a little program:

0000 36 05 LOOP B3 QOFF
0002 7a REQ
0003 30 00 BR LOOP
0005 7b QOFF SEQ
0006 30 00 BR LOOP

(At my programmer, I couldn't remember the code for SKP)

Again, no terminal echo, and no activity on Q, despite clock at pin 1
and valid logic signalling at EF3.

Interestingly, I notice that after powerup, the clock doesn't seem to
start up until the right-hand switch on the display board is toggled.
Forcing a reset by pulling pin 3 (CLR) low has no real effect.

It sure would be nifty to get one of these little buggers up and
running :-) Anybody have any insights, corrections, or suggestions?

Thanks,

Dave

 

A quick follow up. I did the above without the bottom RAM board in
the stack. When I attach all of the boards, then the little EF3->Q
mirror program works (somewhat--unshifted characters are not as
expected). Sadly, still no sign of life with the TMSI Basic+IDIOT/4
EPROM in place.

I don't know why the presence of the RAM board should have any effect.

Interestingly, I notice that after powerup, the clock doesn't seem
to
start up until the right-hand switch on the display board is
toggled.

On reassembling the unit, I "discovered" the label- ON/OFF :-)

Dave

richardep20002000
 

Im Not Sure Where You Got Your TB-Mon Code. But The One that I Have
Was Set Up to use 1000 As Begining ram Page, But I Can't fined where
I got it. I Looked At The lay out of your computer an noted it uses
an 8K rom which would put the ram starting a 2000 the code would have
to be changed.



--- In cosmacelf@..., "dfnr2" <dfnr2@y...> wrote:
A quick follow up. I did the above without the bottom RAM board in
the stack. When I attach all of the boards, then the little EF3->Q
mirror program works (somewhat--unshifted characters are not as
expected). Sadly, still no sign of life with the TMSI Basic+IDIOT/4
EPROM in place.

I don't know why the presence of the RAM board should have any
effect.

Interestingly, I notice that after powerup, the clock doesn't seem
to
start up until the right-hand switch on the display board is
toggled.

On reassembling the unit, I "discovered" the label- ON/OFF :-)

Dave

richardep20002000
 

Dave,

I did Fined where I got it. and also noted that it also uses FLAG 4 not 3.

----- Original Message -----
From: "richardep20002000" <stateamuse@...>
To: <cosmacelf@...>
Sent: Monday, November 17, 2003 11:15 PM
Subject: [cosmacelf] Re: Fiddling with MSI88/e


Im Not Sure Where You Got Your TB-Mon Code. But The One that I Have
Was Set Up to use 1000 As Begining ram Page, But I Can't fined where
I got it. I Looked At The lay out of your computer an noted it uses
an 8K rom which would put the ram starting a 2000 the code would have
to be changed.



--- In cosmacelf@..., "dfnr2" <dfnr2@y...> wrote:
A quick follow up. I did the above without the bottom RAM board in
the stack. When I attach all of the boards, then the little EF3->Q
mirror program works (somewhat--unshifted characters are not as
expected). Sadly, still no sign of life with the TMSI Basic+IDIOT/4
EPROM in place.

I don't know why the presence of the RAM board should have any
effect.

Interestingly, I notice that after powerup, the clock doesn't seem
to
start up until the right-hand switch on the display board is
toggled.

On reassembling the unit, I "discovered" the label- ON/OFF :-)

Dave


========================================================
Visit the COSMAC ELF website at http://www.cosmacelf.com, or view the
Wiki/FAQ at http://1802.bitting.com/

To unsubscribe from this group, send an email to:
cosmacelf-unsubscribe@...



Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/


 

I configured it for RAM at 2000H, input from EF3. I also swapped the
REQ/SEQ instructions, to account for the inverter on Q, but am not
seeing their effect (no activity on Q).

Dave

--- In cosmacelf@..., "Richard" <stateamuse@c...> wrote:
Dave,

I did Find where I got it. and also noted that it also uses FLAG 4
not 3.

richardep20002000
 

It Seems to me you are not making it past the baud detection routine, I am
Not Real Up on serial input. But Heres somethings I noted.

Some terminals have inverted signal output.

The program is looking for a High start bit so. the EF3 line should be
holding low (gnd) when the terminal is not transmitting, This is at the
processor pin 22. I did see another inverter on this line.

If you will send me a binary of the code you are using i will look for a
problem in it if there is any.

one other thing i can suggest is add the following program to the ROM.
10PR"HELLO"
20GOTO10

The program will fined the program and began executeing it. This way it will
be outputing on
the Q line at a constant rate. At the default baud entered at 08BB. This
also by passes the baud detection to see if you can get output.

Also Have You had It working with the same terminal using the origianl Rom?

Hope this helps,
Richard

----- Original Message -----
From: "dfnr2" <@dfnr2>
To: <cosmacelf@...>
Sent: Tuesday, November 18, 2003 8:35 AM
Subject: [cosmacelf] Re: Fiddling with MSI88/e


I configured it for RAM at 2000H, input from EF3. I also swapped the
REQ/SEQ instructions, to account for the inverter on Q, but am not
seeing their effect (no activity on Q).

Dave

--- In cosmacelf@..., "Richard" <stateamuse@c...> wrote:
Dave,

I did Find where I got it. and also noted that it also uses FLAG 4
not 3.


========================================================
Visit the COSMAC ELF website at http://www.cosmacelf.com, or view the
Wiki/FAQ at http://1802.bitting.com/

To unsubscribe from this group, send an email to:
cosmacelf-unsubscribe@...



Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/

bill_rowe_ottawa <bill_rowe@...>
 

This is too funny, I'm in a time warp loop back to where Dave was
five years ago - hope I have better luck! I can see one thing that
might have been wrong if the idiot monitor assumed RAM at 2000.
There may be ram there but it might wel cause an address conflict
with an eeprom.


--- In cosmacelf@..., "dfnr2" <dfnr2@...> wrote:

Hello all,

I've been playing with the MSI88/e this weekend, using Lee Hart's
partial reverse-engineered schematics from the FILES section.

Looking at these, it seems that EF3 and Q are wired to the port in a
way that could support a bit-banged serial interface. It so
happens
that Lee has also written the code for that in his IDIOT/4 monitor,
which comes complete with TMSI tiny BASIC.

I assembled the TMSI BASIC source, configured for 8K ROM
(PAGE=2000H),
with SEQ/REQ reversed (to account for the inverted buffering of Q),
and using EF3 instead of EF4. The goal is to explore the unit
interactively via a terminal. I can see valid serial data from the
remote terminal on pin 22 (EF3), but no activity on Q. I did
remember
to fill the unused ROM with FF to keep the startup code from trying
to
execute a ROMed basic routine. I

To try to isolate the problem, I also tried a little program:

0000 36 05 LOOP B3 QOFF
0002 7a REQ
0003 30 00 BR LOOP
0005 7b QOFF SEQ
0006 30 00 BR LOOP

(At my programmer, I couldn't remember the code for SKP)

Again, no terminal echo, and no activity on Q, despite clock at pin
1
and valid logic signalling at EF3.

Interestingly, I notice that after powerup, the clock doesn't seem
to
start up until the right-hand switch on the display board is
toggled.
Forcing a reset by pulling pin 3 (CLR) low has no real effect.

It sure would be nifty to get one of these little buggers up and
running :-) Anybody have any insights, corrections, or suggestions?

Thanks,

Dave

randy129
 

--- "bill_rowe_ottawa" <bill_rowe@...> wrote:

This is too funny, I'm in a time warp loop back to where Dave was
five years ago - hope I have better luck! I can see one thing that
might have been wrong if the idiot monitor assumed RAM at 2000.
There may be ram there but it might wel cause an address conflict
with an eeprom.
...
--- In cosmacelf@..., "dfnr2" <dfnr2@> wrote:
...
I assembled the TMSI BASIC source, configured for 8K ROM
(PAGE=2000H),
I thought you said the RAM in yours was at 8000?

That certainly seems like enough to keep it from working!


In your other message you asked about:

I see the assembly listing of IDIOT/4 on the cosmac elf site
but is there a HEX file somewhere?
If you want just the IDIOT/4 monitor, it seems there is a link
to a hex file in the same paragraph as the link to the assembly listing.

Try googling for the.code.is.provided.in.three.formats
if you still didn't find it. :-)

But don't you really want the (unassembled) source to change
the ram address? Or are you just gonna patch the hex file
by hand? I suppose that might work!!!

I don't see the unassembled source for either the plain
IDIOT, or the combo with tiny basic. Seems like it would
be a lot of work to convert the listing back to plain source.
dfnr2 says he assembled it, maybe he still has the source?

Randy

Bill Rowe <bill_rowe@...>
 

I am not 100% sure of the RAM, dave may have wanted it to start LOOKING for RAM upwards of 2000. Where I was going was that with the way the chip selects are wired and depending on the rom he was using there could be an address conflict.

----- Original Message -----
From: randy129

I assembled the TMSI BASIC source, configured for 8K ROM
(PAGE=2000H),
I thought you said the RAM in yours was at 8000?

That certainly seems like enough to keep it from working!

In your other message you asked about:

I see the assembly listing of IDIOT/4 on the cosmac elf site
but is there a HEX file somewhere?
If you want just the IDIOT/4 monitor, it seems there is a link
to a hex file in the same paragraph as the link to the assembly listing.

Try googling for the.code.is.provided.in.three.formats
if you still didn't find it. :-)

But don't you really want the (unassembled) source to change
the ram address? Or are you just gonna patch the hex file
by hand? I suppose that might work!!!

I don't see the unassembled source for either the plain
IDIOT, or the combo with tiny basic. Seems like it would
be a lot of work to convert the listing back to plain source.
dfnr2 says he assembled it, maybe he still has the source?

Randy






No virus found in this incoming message.
Checked by AVG.
Version: 7.5.524 / Virus Database: 270.4.0/1507 - Release Date: 18/06/2008 7:09 AM

Lee Hart
 

randy129 wrote:
I assembled the TMSI BASIC source, configured for 8K ROM (PAGE=2000H)
bill rowe wrote:
This is too funny, I'm in a time warp loop back to where Dave was five years ago - hope I have better luck! I can see one thing that might have been wrong if the idiot monitor assumed RAM at 2000. There may be ram there but it might well cause an address conflict with an eeprom.
I thought you said the RAM in yours was at 8000? I don't see the unassembled source for either the plain
IDIOT, or the combo with tiny basic. Seems like it would
be a lot of work to convert the listing back to plain source.
dfnr2 says he assembled it, maybe he still has the source?
It's been a long time; but if I remember correctly the IDIOT monitor itself doesn't need any RAM at all, and can be located anywhere in memory that you have 512 bytes available.

When you add BASIC and the register save/restore features, then it needs RAM; and it will therefore need to be assembled accordingly (and have RAM at the intended locations). I think I set it up so a 4K ROM could have the IDIOT monitor and BASIC, and would occupy addresses 0-1FFF. The RAM would then start at 2000h (just above this ROM) and could go as high as you liked.

--
Ring the bells that still can ring
Forget the perfect offering
There is a crack in everything
That's how the light gets in -- Leonard Cohen
--
Lee A. Hart, 814 8th Ave N, Sartell MN 56377, leeahart_at_earthlink.net

Bill Rowe <bill_rowe@...>
 

thanks lee. The version of idiot/4 that i'm working with is 1K with the register saving routines built in and it finds its own ram.

I don't have it working in the MSI/88e yet but i'm getting there. I'm at a point now where I know it's running and waiting for a serial input - won't be long now.

----- Original Message -----
From: Lee Hart
To: cosmacelf@...
Sent: Sunday, June 22, 2008 3:08 PM
Subject: Re: [cosmacelf] Re: Fiddling with MSI88/e


randy129 wrote:
>>> I assembled the TMSI BASIC source, configured for 8K ROM
>>> (PAGE=2000H)

bill rowe wrote:
>> This is too funny, I'm in a time warp loop back to where Dave was
>> five years ago - hope I have better luck! I can see one thing that
>> might have been wrong if the idiot monitor assumed RAM at 2000.
>> There may be ram there but it might well cause an address conflict
>> with an eeprom.

> I thought you said the RAM in yours was at 8000?
> I don't see the unassembled source for either the plain
> IDIOT, or the combo with tiny basic. Seems like it would
> be a lot of work to convert the listing back to plain source.
> dfnr2 says he assembled it, maybe he still has the source?

It's been a long time; but if I remember correctly the IDIOT monitor
itself doesn't need any RAM at all, and can be located anywhere in
memory that you have 512 bytes available.

When you add BASIC and the register save/restore features, then it needs
RAM; and it will therefore need to be assembled accordingly (and have
RAM at the intended locations). I think I set it up so a 4K ROM could
have the IDIOT monitor and BASIC, and would occupy addresses 0-1FFF. The
RAM would then start at 2000h (just above this ROM) and could go as high
as you liked.

--
Ring the bells that still can ring
Forget the perfect offering
There is a crack in everything
That's how the light gets in -- Leonard Cohen
--
Lee A. Hart, 814 8th Ave N, Sartell MN 56377, leeahart_at_earthlink.net





------------------------------------------------------------------------------


No virus found in this incoming message.
Checked by AVG.
Version: 7.5.524 / Virus Database: 270.4.1/1511 - Release Date: 20/06/2008 11:52 AM

Lee Hart
 

Bill Rowe wrote:
thanks lee. The version of idiot/4 that i'm working with is 1K with
the register saving routines built in and it finds its own ram.
Inside it, you'll find the core idiot/2 monitor, which doesn't use any RAM or care where in ROM it is addressed. It is just 2 pages (512 bytes) long.

I don't have it working in the MSI/88e yet but i'm getting there.
I'm at a point now where I know it's running and waiting for a serial
input - won't be long now.
That's great. I have a few of these MSI/88s as well I'd like to do something with!

--
Ring the bells that still can ring
Forget the perfect offering
There is a crack in everything
That's how the light gets in -- Leonard Cohen
--
Lee A. Hart, 814 8th Ave N, Sartell MN 56377, leeahart_at_earthlink.net