Previous Thread
Next Thread
Print Thread
Page 3 of 3 1 2 3
Joined: Jan 2011
Posts: 252
Likes: 3
Senior Member
Offline
Senior Member
Joined: Jan 2011
Posts: 252
Likes: 3
there is are a bunch of new Imagewriter floppy images on http://bitsavers.org/bits/IBM/Displaywriter including a version of MSDOS

Joined: May 2012
Posts: 555
Likes: 1
S
Senior Member
OP Offline
Senior Member
S
Joined: May 2012
Posts: 555
Likes: 1
Originally Posted by shattered
Self-test on this machine is very, very paranoid -- I think I've found a emulation bug in i8255.cpp smile

And there are two more bugs, apparently. Datasheet shows that INTR bit should go high only after STB is deasserted (goes high); and that asserting STB should always load data into input latch. With these changes, keyboard interface test is happy.

Joined: May 2012
Posts: 555
Likes: 1
S
Senior Member
OP Offline
Senior Member
S
Joined: May 2012
Posts: 555
Likes: 1
DW also does not like this line of code in i8255.cpp::set_mode()

m_ibf[PORT_A] = 1; // correct? needed by SAM Coupe Blue Alpha sampler

Joined: May 2004
Posts: 970
Likes: 44
D
Senior Member
Offline
Senior Member
D
Joined: May 2004
Posts: 970
Likes: 44
Would be good if we could get both happy. If you want to test the Blue Alpha Sampler, start MAME like this:

Code
mame samcoupe -exp blue_sampler -flop1 sam_sound_sampler_software_blue_alpha.dsk

Press any key, then enter "boot" to boot. Wait for it to load, then type L to load and "debbie" as filename. Wait again, then press P to play the sample.

The disk is available here: https://redump.net/files/sam_sound_sampler_software_blue_alpha.zip

1 member likes this: Robbbert
Joined: May 2012
Posts: 555
Likes: 1
S
Senior Member
OP Offline
Senior Member
S
Joined: May 2012
Posts: 555
Likes: 1
I think this last one can be worked around (read the port at reset time). Other two may be hard to test, I'm going to PR them separately.

Joined: May 2012
Posts: 555
Likes: 1
S
Senior Member
OP Offline
Senior Member
S
Joined: May 2012
Posts: 555
Likes: 1
Floppy interface reverse engineering notes, for future reference. (LLE is not working yet.)

Since 765 is not designed to work with 8 inch drives, the MCU likely intercepts SEEK and STEP signals and converts them to motor phase signals.


Code
cpu ports:

8150	r/w	?? reset mcu?  needs delay
8152	w	?? reset 765?  needs delay
8154	w	wrap
8156	r	wrap
8158	r	765 MSR
815A	r/w	765 FIFO
815C	r/w	mcu CSR -- mcuppi PA


mcu registers:

0.R3	?? head movement requested (b0, b1)
0.R4	??
0.R6	?? timer ticks?
0.R7	?? timer ticks?

1.R0	?? initial value 0x20
1.R1	reply queue pointer, initial value 0x20
1.R2	?? timer ticks?  initial value 0x80 (bit 7 -- ??)
1.R3	?? current phase
1.R4	?? current phase
1.R5
1.R6	??
1.R7	??


mcu memory locations:

20-27	cpu reply queue
28	?? temp area for cmd 4
31-33	?? save area used by INT handler
37-39	?? save area
3c	?? drive ready status?  current rpm?
3d	?? initial value 0xd9
3e	?? timer related, initial value 0x5c
3f	?? initial value 0x65


mcu signals:

reset
int	handle incoming command?
t0	?? irq source
t1	?? SEEK from 765

P1	0-2	+ to ppi - address bits + chip select
	3	+ from drive 0 - index
	4	+ from drive 1 - index
	5	to drive 0 - gate for ??
	6	to drive 1 - gate for ??
	7

P2	0	+ head engage signal - to drive 0
	1	+ head engage signal - to drive 1
	2	??
	3-4	access 0/1 drive 0 ??
	5-6	access 0/1 drive 1 ??
	7


mcuppi ports:

PB0	?? to drive 0
PB1	?? to drive 1
PB2	??
PB3	?? to drive 0
PB4	?? to drive 1
PB5	?? IRQ to CPU?  ?? to gate for 765 signals
PB6	??
PB7

PC0	i/o in	from 765 ??	STEP ??
PC1	i/o in	from 765 ??	DIR ??
PC2	i/o in
PC3	INTR	to ??		IBF, OBF gated by INTE2, INTE1
PC4	~STB	from ???	set to load data into PA
PC5	IBF	to ???		data loaded into PA
PC6	~ACK	from ???	set before reading data in PA
PC7	~OBF	to ???		data available in PA

Last edited by shattered; 03/01/22 08:31 PM.
Joined: Jan 2011
Posts: 252
Likes: 3
Senior Member
Offline
Senior Member
Joined: Jan 2011
Posts: 252
Likes: 3
the 765 doesn't do head stepping motor control for any floppy disk drive, that is always the responsibility of the drive itself.

Joined: May 2012
Posts: 555
Likes: 1
S
Senior Member
OP Offline
Senior Member
S
Joined: May 2012
Posts: 555
Likes: 1
NEC's datasheet mentions that 765 supports VERSION command. 8272 does not document it. 82077 does document it.

765B vs 765A -- always sets OR (A does not set it on the final byte of a sector); always resets DRQ on overrun (A requires change in DACK input).

Page 3 of 3 1 2 3

Link Copied to Clipboard
Who's Online Now
1 members (Pernod), 23 guests, and 4 robots.
Key: Admin, Global Mod, Mod
ShoutChat
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics9,158
Posts119,911
Members5,034
Most Online1,283
Dec 21st, 2022
Our Sponsor
These forums are sponsored by Superior Solitaire, an ad-free card game collection for macOS and iOS. Download it today!

Superior Solitaire
Forum hosted by www.retrogamesformac.com