Hardware > Hardware (High-End)
Milan Upgrades
patjomki:
Ich lasse ja nicht locker, was meine Midiman-Karte angeht. >:D
Ich habe nun in der Zwischenzeit den Milanblaster-Treiber ergattert. Dort sind auch für die unterschiedlichen Karten AUTO-Ordner-Programme enthalten (op_bios.prg für Optikarten, cs_bios.prg für Crystalkarten, mb_bios.prg für Creativekarten).
Benötige ich so ein Programm nicht auch für die Midiman, ich meine, woher soll der Milan sonst wissen, dass die Midiman eine Midikarte ist bzw. das Midioutput von Programmen, die kein MROS nutzen an die Midiman gesendet werden sollen?
Bei dem Treiber war auch eine Demoversion von MusicEdit von Herbert Walz dabei. Die läuft ja wunderbar auch ohne Dongle auf dem Milan. Aber auch da bleibt mein Keyboard stumm.
Hier noch ein Update zu meinen Milandaten, ich hatte irrtümlich geschrieben, TOS 4.06 zu haben. Tatsächlich sind die Daten wie folgt:
TOS 4.08 vom 14.05.06
GEMDOS 0.33
MVDI May 2006
AES 3.43
Bootblock: V1.04
dbsys:
--- Zitat von: patjomki am Fr 04.10.2019, 22:41:18 ---
Benötige ich so ein Programm nicht auch für die Midiman, ich meine, woher soll der Milan sonst wissen, dass die Midiman eine Midikarte ist bzw. das Midioutput von Programmen, die kein MROS nutzen an die Midiman gesendet werden sollen?
Bei dem Treiber war auch eine Demoversion von MusicEdit von Herbert Walz dabei. Die läuft ja wunderbar auch ohne Dongle auf dem Milan. Aber auch da bleibt mein Keyboard stumm.
--- Ende Zitat ---
Meiner Meinung nach liegt hier womöglich ein Denkfehler vor. Die Midiman war - soweit ich mich erinnere - ausschließlich für die Nutzung mit Cubase vorgesehen. Und dafür ist der Treiber "midiman.drv" nötig.
So verhält es sich auch mit jeder anderen MIDI-Hardware für ST, TT und Falcon, für die es im Lauf der Jahre von Steinberg passende Treiber gab: z.B. Midex und Midex+, SMP24, SMP II, ST MIDI, Timelock von Steinberg, Unitor und Export von C-Lab, MacMan LAN-Port Adapter von Midiman usw. Ich kann mir daher nicht vorstellen, daß es für den Milan anders gewesen wäre.
Für die generelle MIDI-Anwendung auf dem Milan war die Milanblaster (bzw. Soundblaster von Creative Labs) vorgesehen. MIDI I/O liegt bei der Soundblaster am Gameport-Anschluß an. Hierfür benötigte man eine entsprechende Kabelpeitsche. Das erklärt vermutlich auch, warum dem Milanblaster Treiber eine Demoversion von MusicEdit beilag.
patjomki:
Das TOS des Milan enthält aber Midiroutinen. Wenn MusicEdit nur TOS-Routinen nutzt, müsste dann ja was bei der Midiman MM-401 ankommen, wenn man auf der im Milan-TOS vorgesehenen Adresse und Interrupt was sendet.
Meiner Kenntnis nach sind dies im TOS 4.08 die Adresse #$C0000300 und der Interrupt #10 (MidiIRQ).
Da sich die Midiman aber nicht auf die Interruptnummer #10 ([Edit]Es gehen nur 2, 3, 5 und 7) setzen läßt, kann logischerweise nie etwas über TOS-Routinen herauskommen. MROS adressiert die Hardware direkt, daher geht es da (theoretisch), da aber der MROS-Treiber midiman1.drv ebenfalls die #$C0000300 und den Interrupt #10 (MidiIRQ) benutzt, wird die Midiman MM-401 in einem Milan nicht funktionieren können.
@KarlMüller: Kannst Du mal auf Deiner Winman 1x1 Midiman nachsehen, ob man dort den Interrupt #10 einstellen kann? [Edit: Habe gerade Fotos im Internet gefunden, die Winman 1x1 Midiman läßt sich auf Interrupt 10 einstellen (ist sogar der Default)]
[Edit]Fazit: eine Midiman MM-401 funktioniert in einem Milan nicht, für MIDI muss es die Winman 1x1 Midiman sein (oder eine Milanblaster mit Kabelpeitsche und den entsprechenden xx_bios.prg-Treibern).
Nervengift:
Hm ... ich habe in dem einen Dokument, das ich hier zum Milan-Board vorliegen habe, folgende Infos gefunden über die Interrupts:
--- Code: ---ISA Interrupts
0 Timer
1 keyboard
3 87308 serial port 2
4 87308 serial port 1
5 available
6 FDC
7 printer port
8 RTC
9 available
10 available
11 available
12 PS/2 mouse port
13 available
14 PCI IDE primary channel
15 PCI IDE secondary channel
--- Ende Code ---
Demnach ist der Interrupt erstmal grundsätzlich unbenutzt. Interessanterweise fehlt in der Auflistung der Interrupt 2.
Hier der komplette Inhalt des Dokumentes. Vielleicht ist das noch ganz hilfreich, ich kann mit dem Rest leider nicht ganz so viel anfangen. ???
--- Code: ---$Id: milan_hw.txt,v 1.10 1999/11/17 20:19:40 rincewind Exp $
Milan Mini-Hardwaredocumentation
Memory layout:
$00000000 - _phystop ST-RAM
$00E00000 - $00E7FFFF TOS
$01000000 - _ramtop TT-RAM
$40000000 - $7FFFFFFF PCI memory, overlayed with ISA memory[1]
$80000000 - $BFFFFFFF PCI I/O, overlayed with ISA I/O[1]
$C0000000 - $C000DFFF PCI/ISA I/O using big endian addressing
$FFFF8000 - $FFFFBFFF used by ST hardware emulation
$FFFFC000 - $FFFFDFFF Milan onboard I/O:
$FFFFC000 memory controller
$FFFFC103+4*reg_no MFP
$FFFFC200 PLX 9080
$FFFFE000 - $FFFFFFFF used by ST hardware emulation
[1] PCI memory and IO are subtractively decoded, ie. any access that is not
claimed by a PCI device is forwarded to the ISA bus.
ISA IO:
byte read adr: read from $C0000000+adr or read from $80000000+(adr^3)
byte write adr: write to $C0000000+adr or write to $80000000+(adr^3)
('adr' is an address on the ISA bus, eg. $278 for parallel port)
word read adr: read from $80000000+(adr^2) or read from $C0000000+adr [2]
word write adr: write to $80000000+(adr^2) or write to $C0000000+adr [2]
[2] When using $C0000000 for WORD I/O, the data read/written needs to be
swapped (ror.w #8,d0)
Used ISA addresses:
$20 ISA interrupt controller
$60 Keyboard
$A0 ISA interrupt controller
$15C PC87308 SuperIO configuration registers
$1F0 primary IDE interface
$170 secondary IDE interface
$278 Parallel port
$2A0 serial port 3 (optional)
$2A8 serial port 4 (optional)
$2F8 serial port 2
$3F0 Floppy disk controller
$3F8 serial port 1
$400-$420 onboard (SuperIO etc.)
ISA Interrupts:
ISA Interrupt vectors are located at $140+4*isa_int_vector.
You must use Setexc() to set the vector, because otherwise the interrupt is
not enabled in the interrupt controller. Restore the old vector using
Setexc() when uninstalling your driver.
The interrupt routine must end with an RTE instruction, and does not have
to do anything special about the interrupt controller - EOI handling is
done by TOS.
Original ST MFP GPIO-Port:
BIT DIR
0 IN Centronics BUSY
1 IN MFP serial port DCD
2 IN MFP serial port CTS
3 IN GPU DONE from blitter
4 IN MIDI/keyboard ACIA interrupt
5 IN FDC/ACSI interrupt
6 IN MFP serial port RI
7 IN monochrome detect signal
MILAN MFP GPIO-Port:
BIT DIR
0 OUT * MFP serial port RTS
1 IN MFP serial port DCD
2 IN MFP serial port CTS
3 OUT * MFP serial port DTR
4 IN * MFP serial port DSR
5 IN * not used
6 IN MFP serial port RI
7 IN * KEYLOCK switch
ISA Interrupts
0 Timer
1 keyboard
3 87308 serial port 2
4 87308 serial port 1
5 available
6 FDC
7 printer port
8 RTC
9 available
10 available
11 available
12 PS/2 mouse port
13 available
14 PCI IDE primary channel
15 PCI IDE secondary channel
ISA DMA
0 (Byte) free (used for refresh in original PC design)
1 (Byte) free
2 (Byte) floppy disk controller
3 (Byte) free
4 Cascade
5 (16 Bit) free
6 (16 Bit) free
7 (16 Bit) free
ISA I/O functions:
#define inb(port) (*(volatile UBYTE *)(0xC0000000L + (port))))
#define inw(port) (*(volatile UWORD *)(0x80000000L + (port)^2)))
#define outb(data, port) *(volatile UBYTE *)(0xC0000000L + (port)) = data;
#define outw(data, port) *(volatile UWORD *)(0x80000000L + (port)^2) = data;
--- Ende Code ---
Nervengift:
Auf welchen DMA-Kanal ist die Midi-Karte eingestellt (sofern sie einen braucht)? DMA 2 ist durch den Floppycontroller belegt. DMA 4 ist auch nicht frei. Der Rest kann verwendet werden, darf aber natürlich nicht mit anderen Karten kollidieren.
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln