Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.sys.apple2.programmer > #5588

//c IOU Softswitch Question

Newsgroups comp.sys.apple2.programmer
Date 2020-06-16 08:14 -0700
Message-ID <c2021189-2fbe-48cf-8824-eec86f50ae2bo@googlegroups.com> (permalink)
Subject //c IOU Softswitch Question
From Oliver Schmidt <ol.sc@web.de>

Show all headers | View raw


Hi,

The 'Apple IIc Technical Reference Manual' contains on page 346:

==========

Tables E-2 and E-3 show how to activate and read mouse intermpts 
without using the firmware. Remember to disable interrupts (SEI) 
before enabling mouse interrupts, then turn them on when done 
(CLI). 

Table E-2 
Activating mouse Interrupts 

-------------------------------------------------------------
To activate    Enable      Select      Enable      Disable 
interrupts on  IOU access  source      source      IOU access 
-------------------------------------------------------------
Mouse X        STA $C079   STA $C05C   STA $C059   STA $C078 
(rising edge)

Mouse X        STA $C079   STA $C05D   STA $C059   STA $C078 
(falling edge) 

Mouse Y        STA $C079   STA $C05E   STA $C059   STA $C078 
(rising edge) 

Mouse Y        STA $C079   STA $C05F   STA $C059   STA $C078 
(falling edge) 

VBL            STA $C079               STA $C05B   STA $C078 

==========

So access to IOU for VBL setting is controlled via $C078/$C079. But the 'Apple IIc Technical Note #9: Detecting VBL' says:

==========

This Technical Note describes how the VBLInt flag at $C019 behaves differently than documented in the Apple IIc Technical Reference Manual, Second Edition, when being polled.

The Apple IIc Technical Reference Manual, Second Edition, claims that reading $C019 reads and resets the VBLInt flag. This is not correct. After reading $C019 once the high bit has been set to flag VBL, the high bit remains set. A program polling VBL at $C019 would have to access either PTrig at $C070 or RdIOUDis at $C07E to reset the high-bit for $C019. Note that IOUDis must have been turned off by writing to $C07F then ENVBL accessed at $C05B in order to poll for $C019 on the IIc.

Developers are encouraged to detect VBL using an interrupt handler with one of the VBL-based mouse modes on the IIc, if possible.

==========

So access to IOU for VBL setting is controlled via $C07E/$C07F. Please note that the TechNote aims to correct the behavior of $C019. It doesn't say anything about wanting to correct the IOU access method.

So the obvious question I'm left with is: What does this discrepancy mean? BTW: The "usual suspect" https://www.kreativekorp.com/miscpages/a2info/iomemory.shtml only says:

C078 49272                C  W    Disable IOU Access
C079 49273                C  W    Enable IOU Access
C07E 49278 IOUDISON      EC  W    Disable IOU
C07F 49279 IOUDISOFF     EC  W    Enable IOU

This isn't that helpful either :-(

As always thanks for hints,
Oliver

Back to comp.sys.apple2.programmer | Previous | Next — Next in thread | Find similar | Unroll thread


Thread

//c IOU Softswitch Question Oliver Schmidt <ol.sc@web.de> - 2020-06-16 08:14 -0700
  //c IOU Softswitch Question Antoine Vignau <ntn.vignau@gmail.com> - 2020-06-16 12:20 -0700
    Re: //c IOU Softswitch Question Oliver Schmidt <ol.sc@web.de> - 2020-06-16 13:47 -0700
      Re: //c IOU Softswitch Question Oliver Schmidt <ol.sc@web.de> - 2020-06-16 14:15 -0700
        Re: //c IOU Softswitch Question Oliver Schmidt <ol.sc@web.de> - 2020-06-16 16:13 -0700
          Re: //c IOU Softswitch Question qkumba <peter.ferrie@gmail.com> - 2020-06-17 11:38 -0700
            Re: //c IOU Softswitch Question Oliver Schmidt <ol.sc@web.de> - 2020-06-17 15:12 -0700

csiph-web