What makes SmartPorts so "smart"? [message #362586] |
Mon, 05 February 2018 11:07 |
|
Originally posted by: cb meeks
I hear the term SmartPort used quite often with the IIc but I must admit I'm not sure what it's all about.
I don't own any technical references to the IIc (although, I guess I could find the PDF's but I prefer reading on paper).
Anyway, what are they all about?
Thanks for any info!
|
|
|
|
Re: What makes SmartPorts so "smart"? [message #362594 is a reply to message #362592] |
Mon, 05 February 2018 12:39 |
David Schmidt
Messages: 993 Registered: October 2012
Karma: 0
|
Senior Member |
|
|
On 2/5/2018 12:36 PM, Bill Buckels wrote:
> "cb meeks" <cbmeeks@gmail.com> wrote:
>> I hear the term SmartPort used quite often with the IIc but I must admit
>> I'm not sure what it's all about.
>
> Me neither... seems rather dumb to me. [...]
I dunno - you plug different kinds of drives in, and they get assigned
to an "appropriate" (virtual) slot automatically. Plug in a 3.5"? Slot
5. Plug in a 5.25"? Goes to slot 6. At least a little clever, I think.
|
|
|
Re: What makes SmartPorts so "smart"? [message #362595 is a reply to message #362586] |
Mon, 05 February 2018 12:43 |
|
Originally posted by: cjparana
On Monday, February 5, 2018 at 11:07:07 AM UTC-5, cb meeks wrote:
> I hear the term SmartPort used quite often with the IIc but I must admit I'm not sure what it's all about.
>
> I don't own any technical references to the IIc (although, I guess I could find the PDF's but I prefer reading on paper).
>
> Anyway, what are they all about?
>
> Thanks for any info!
It's "smart" in that it handles all the ways original Apple II hardware handled and expected disks (using Disk II controller cards and drives, the first two drives on the card in slot 6, the next in slot 5). The firmware started at slot 7 and tried successively lower slot numbers until it found one with controller card. On the machines with SmartPorts, this is less meaningful (as far as the slot/drive), but older software uses this convention, and the SmartPort makes this transparent to the old software. The SmartPort also handles RAM disks (Usually referred to as RAM5, because it's a RAM "disk," virtually inserted into "slot 5." Basically, the SmartPort is a virtual layer that makes anything it's talking to behave as a block I/O device as far as the software is concerned. It also handles device status, resetting a device, formatting, reading, writing, and control info.
|
|
|
|
|
|
Re: What makes SmartPorts so "smart"? [message #362605 is a reply to message #362603] |
Mon, 05 February 2018 14:19 |
|
Originally posted by: cb meeks
On Monday, February 5, 2018 at 2:01:51 PM UTC-5, Antoine Vignau wrote:
> The first name of SmartPort was Protocol Comverter, see http://www.brutaldeluxe.fr/documentation/iwm.html
>
> It adds a layer to calling a block or character device, it removes a couple of annoying code to identify the connected devices, it offers expandability.
>
> I like SmartPort a lot, it eases a developer's life,
>
> Antoine
At least they didn't call it the "iPort". LOL
OK, I think I understand a little more now. The reason I ask is that I'd love to design something for the IIc. Something along the lines of music and SD device. But I guess I got some studying to do.
|
|
|
Re: What makes SmartPorts so "smart"? [message #362630 is a reply to message #362586] |
Mon, 05 February 2018 18:50 |
|
Originally posted by: MG
On Monday, February 5, 2018 at 8:07:07 AM UTC-8, cb meeks wrote:
> I hear the term SmartPort used quite often with the IIc but I must admit I'm not sure what it's all about.
>
> I don't own any technical references to the IIc (although, I guess I could find the PDF's but I prefer reading on paper).
>
> Anyway, what are they all about?
>
> Thanks for any info!
SmartPort refers to two different, but related, things:
(1) an IWM-based communication protocol that delivers packets from one IWM to another IWM. This was used on the UniDisk 3.5 and would have been used by the Apple //c LocalTalk adapter. A few products also support the protocol. There is little official Apple documentation on it. Much of what we know about it today was reverse-engineered.
(2) a defined software interface, originally developed for interacting with (1) but eventually used for all kinds of disk-type devices. There is good documentation in the Apple //c Technical Reference (2nd ed.) and the Apple IIgs Firmware Reference. For the Apple IIgs, the Extended SmartPort interface was developed to support larger devices.
From a programmer perspective, I agree wholeheartedly with Antoine regarding (2).
MG
|
|
|
Re: What makes SmartPorts so "smart"? [message #362650 is a reply to message #362586] |
Mon, 05 February 2018 21:29 |
|
Originally posted by: James Davis
On Monday, February 5, 2018 at 8:07:07 AM UTC-8, cb meeks wrote:
> I hear the term SmartPort used quite often with the IIc but I must admit I'm not sure what it's all about.
>
> I don't own any technical references to the IIc (although, I guess I could find the PDF's but I prefer reading on paper).
>
> Anyway, what are they all about?
>
> Thanks for any info!
It also allows daisy-chaining SOME disk drives, IIRC.
|
|
|
Re: What makes SmartPorts so "smart"? [message #388394 is a reply to message #362586] |
Tue, 05 November 2019 18:46 |
|
Originally posted by: doc.maynord
On Monday, February 5, 2018 at 9:07:07 AM UTC-7, cb meeks wrote:
> I hear the term SmartPort used quite often with the IIc but I must admit I'm not sure what it's all about.
>
> I don't own any technical references to the IIc (although, I guess I could find the PDF's but I prefer reading on paper).
>
> Anyway, what are they all about?
>
> Thanks for any info!
Interesting: It seems that you have found a plethora on answers by people that do not know either. Smartport allowed ProDOS to take chained devices connected to one card in one slot that exceeded the standard of 2 drives per slot and map the 3,4, drive etc to another slot as if they were installed there.
|
|
|
Re: What makes SmartPorts so "smart"? [message #388411 is a reply to message #362630] |
Wed, 06 November 2019 07:08 |
|
Originally posted by: John Brooks
On Monday, February 5, 2018 at 3:51:00 PM UTC-8, MG wrote:
> On Monday, February 5, 2018 at 8:07:07 AM UTC-8, cb meeks wrote:
>> I hear the term SmartPort used quite often with the IIc but I must admit I'm not sure what it's all about.
>>
>> I don't own any technical references to the IIc (although, I guess I could find the PDF's but I prefer reading on paper).
>>
>> Anyway, what are they all about?
>>
>> Thanks for any info!
>
> SmartPort refers to two different, but related, things:
>
> (1) an IWM-based communication protocol that delivers packets from one IWM to another IWM. This was used on the UniDisk 3.5 and would have been used by the Apple //c LocalTalk adapter. A few products also support the protocol. There is little official Apple documentation on it. Much of what we know about it today was reverse-engineered.
>
> (2) a defined software interface, originally developed for interacting with (1) but eventually used for all kinds of disk-type devices. There is good documentation in the Apple //c Technical Reference (2nd ed.) and the Apple IIgs Firmware Reference. For the Apple IIgs, the Extended SmartPort interface was developed to support larger devices.
>
> From a programmer perspective, I agree wholeheartedly with Antoine regarding (2).
>
> MG
A few more details:
1) On the hardware-side, Smartport repurposes the Disk][ connector pins to enable the AppleII CPU to talk with a daisy-chain of smart drives (such as the embedded 6502 inside a white Unidisk 3.5 drive).
2) On the software side, Smartport introduces a new ROM driver API which fixes a number of limitations of the older ProDOS ROM drivers:
A) Allows more than 2 drives per slot
B) Max disk size increased to 2TB
C) Driver parameters anywhere in 64K memory (older API used fixed zero page $42-$47)
D) New Smartport calls allow reading/writing byte streams (not limited to 512 byte blocks)
E) Smartport can load data directly into GS 16MB address space, or aux ram on IIe,IIc
F) Improved status/control calls to locate and configure drives
-JB
|
|
|
Re: What makes SmartPorts so "smart"? [message #388419 is a reply to message #388411] |
Wed, 06 November 2019 10:48 |
qkumba
Messages: 1584 Registered: March 2013
Karma: 0
|
Senior Member |
|
|
> C) Driver parameters anywhere in 64K memory (older API used fixed zero page $42-$47)
However, the implementation will still alter those locations after translating the request.
Note also that SCSI won't allow read to/write from page 0 at all.
> E) Smartport can load data directly into GS 16MB address space, or aux ram on IIe,IIc
There are implementation details for that last one, though.
Some drivers (e.g. SCSI and MicroDrive) will crash if only aux write was enabled.
|
|
|
Re: What makes SmartPorts so "smart"? [message #388427 is a reply to message #388419] |
Wed, 06 November 2019 14:52 |
|
Originally posted by: John Brooks
On Wednesday, November 6, 2019 at 7:48:31 AM UTC-8, qkumba wrote:
>> C) Driver parameters anywhere in 64K memory (older API used fixed zero page $42-$47)
>
> However, the implementation will still alter those locations after translating the request.
> Note also that SCSI won't allow read to/write from page 0 at all.
>
>> E) Smartport can load data directly into GS 16MB address space, or aux ram on IIe,IIc
>
> There are implementation details for that last one, though.
> Some drivers (e.g. SCSI and MicroDrive) will crash if only aux write was enabled.
Do you know which Smartport driver(s) alter $4x?
BTW: I believe Apple's Slinky memory card Smartport driver saves and restores all used zero page including $4x. Apple Slinky card SP also properly supports aux read/write, though Apple has separately recommended against reading/writing aux mem directly.
-JB
|
|
|
|