Menu

#347 i8255 emulation (for Didaktik D40/D80 and ...)

future
open
nobody
peripherals (4)
5
2023-03-23
2016-03-17
No

I just created this patch, to move here the i8255 patch, from the Didaktik D40/D80 patch

1 Attachments

Related

Bugs: #327
Patches: #331
Wiki: Fuse 1.2.2 Release Plan
Wiki: Fuse 1.3.0 Release Plan
Wiki: Fuse 1.3.1 Release Plan
Wiki: Fuse 1.3.2 Release Plan
Wiki: Fuse 1.3.3 Plan
Wiki: Fuse 1.3.4 Release Plan
Wiki: Fuse 1.3.5 Release Plan
Wiki: Fuse 1.3.6 Release Plan
Wiki: Fuse 1.3.7 Release Plan
Wiki: Fuse 1.3.8 Release Plan
Wiki: Fuse 1.4.0 Release Plan
Wiki: Fuse 1.4.1 Release Plan
Wiki: Fuse 1.5.0 Release Plan
Wiki: Fuse 1.5.1 Release Plan
Wiki: Fuse 1.5.2 Release Plan
Wiki: Fuse 1.5.3 Release Plan
Wiki: Fuse 1.5.4 Release Plan
Wiki: Fuse 1.5.5 Release Plan
Wiki: Fuse 1.5.6 Release Plan
Wiki: Fuse 1.5.7 Release Plan
Wiki: Fuse 1.6.0 Release Plan
Wiki: Fuse Next Release Plan

Discussion

  • Sergio Baldoví

    Sergio Baldoví - 2016-06-05

    The i8255.c and i8255.h files are missing. I wonder I they have the same contents from
    diff.i8255_01e.patch in [patches:#331].

     

    Related

    Patches: #331

  • Gergely Szasz

    Gergely Szasz - 2016-06-06

    Uhum...

     
  • Fredrick Meunier

    Committed as [r5614] in branches/2016-04-25-didaktik

    I can see where joystick_kempston_register_callback() is called when didaktik is enabled, but it doesn't seem to be reset when the interface is disabled again?

    I also get the following warnings:

    peripherals/i8255.c:111:26: warning: implicit conversion from enumeration type
          'enum i8255intrq' to different enumeration type 'i8255port'
          (aka 'enum i8255port') [-Wenum-conversion]
              i8255->intrq = INTE_A_IN;
                           ~ ^~~~~~~~~
    peripherals/i8255.c:127:26: warning: implicit conversion from enumeration type
          'enum i8255intrq' to different enumeration type 'i8255port'
          (aka 'enum i8255port') [-Wenum-conversion]
              i8255->intrq = INTE_B;
                           ~ ^~~~~~
    peripherals/i8255.c:162:26: warning: implicit conversion from enumeration type
          'enum i8255intrq' to different enumeration type 'i8255port'
          (aka 'enum i8255port') [-Wenum-conversion]
              i8255->intrq = INTE_A_OUT;
                           ~ ^~~~~~~~~~
    peripherals/i8255.c:179:26: warning: implicit conversion from enumeration type
          'enum i8255intrq' to different enumeration type 'i8255port'
          (aka 'enum i8255port') [-Wenum-conversion]
              i8255->intrq = INTE_B;
                           ~ ^~~~~~
    peripherals/i8255.c:271:26: warning: implicit conversion from enumeration type
          'enum i8255intrq' to different enumeration type 'i8255port'
          (aka 'enum i8255port') [-Wenum-conversion]
              i8255->intrq = INTE_A_OUT;
                           ~ ^~~~~~~~~~
    peripherals/i8255.c:286:26: warning: implicit conversion from enumeration type
          'enum i8255intrq' to different enumeration type 'i8255port'
          (aka 'enum i8255port') [-Wenum-conversion]
              i8255->intrq = INTE_B;
                           ~ ^~~~~~
    peripherals/i8255.c:319:26: warning: implicit conversion from enumeration type
          'enum i8255intrq' to different enumeration type 'i8255port'
          (aka 'enum i8255port') [-Wenum-conversion]
              i8255->intrq = INTE_A_IN;
                           ~ ^~~~~~~~~
    peripherals/i8255.c:335:26: warning: implicit conversion from enumeration type
          'enum i8255intrq' to different enumeration type 'i8255port'
          (aka 'enum i8255port') [-Wenum-conversion]
              i8255->intrq = INTE_B;
                           ~ ^~~~~~
    
     

    Related

    Commit: [r5614]

  • Fredrick Meunier

    I'd definitely like to see this merged to trunk for the next release.

     
  • Arki55

    Arki55 - 2023-03-22

    What's the point of this patch ? Support for D40/D80 was already added to Fuse. But to support its 8255 port, why ? I don't think it was used by anything explicitly. Especially if it needs explicit activation.
    Besides any peripheral that uses the same ports has port mapped/reading in its code. Fuse does not have plug-in peripherals, that would be making use of such interface and were universal and allow "plug in" into various peripherals with the same type of interface (on their other side).

    I've implemented 3ch DAC interface that reads data as if from 8255 chip on its own.
    But if there was need for more 3x parallel port devices, making such iterface universal could be doable. But not necessary.

     
    • Gergely Szasz

      Gergely Szasz - 2023-03-23

      Hi!

      If I remember well - but i have to see the schemntics - the 8255 involved to the bank switching.

      The patch make the i8255 emulation independent from Didaktik emulation.

       

Log in to post a comment.