Menu

#362 Didaktik Gama emulation

future
open
nobody
None
5
2022-11-28
2015-05-25
No

Here are two patches to emulate Didaktik Gama

Didaktik Gama is Spectrum 48K clone made by the same factory.
It uses the same 48K ULA. The differences against original 48K "rubber:"
model are fully functional 4164 chips at #8000 - #FFFF, built-in i8255A
at PA=#1F, PB=#3F, PC=#5F, CWR=#7f. PC0 was used to swith the two banks
at #8000 - #FFFF.It has pulldown resistor on it, so bank 0 is choosen if
PC0 programmed as input. It was also fed to yellow LED at the panel,
that indicates the alternative bank to be active. And modified ROM. It
programs 8255 and modifies printer channel. LPRINT and LLIST is sent to
Centronics priter on 8255.

Omikron

So, we need i8255 patch

  • libspectrum/libspectrum.{h.in,c}: add new machine LIBSPECTRUM_MACHINE_DIDAKTIKG
  • libspectrum/timings.c: new timings for the new machine

  • fuse/machine.c: add new machine

  • fuse/menu{_data.dat,.c}: select rom for machine
  • fuse/settings.pl: ROM select
  • fuse/movie.c: the same timing as 48k
  • fuse/periph.h: new peripheral PERIPH_TYPE_DIDAKTIK_8255
  • fuse/settings.dat: settings for ROM
  • fuse/tape.c: add new machine to trap_check_rom()
  • fuse/machines/Makefile.am: new files: didaktik.[hc]
  • fuse/machines/didaktik.[hc]: the machine itself
  • fuse/machines/machines.h: didaktik_init() definition
  • fuse/machines/machines_periph.c: implement didaktik_8255 periph
  • fuse/unittests/unittests.c: add LIBSPECTRUM_MACHINE_DIDAKTIKG to various tests

There is no tape loading snapshot yet...
We can test bank switching:
CLEAR 32767
POKE 32768,1
PRINT PEEK 32768
OUT 95, 1
PRINT PEEK 32768
POKE 32768,255
OUT 95, 0
PRINT PEEK 32768

I cannot see any i8255 action if LLIST... ???

2 Attachments

Related

Wiki: Fuse 1.2 Release Plan
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

  • Fredrick Meunier

    Ticket moved from /p/fuse-emulator/patches/334/

     
  • Fredrick Meunier

    Ticket moved from /p/fuse-for-macosx/feature-requests/7/

     
  • Fredrick Meunier

    Ticket moved from /p/fuse-emulator/feature-requests/93/

     
  • Arki55

    Arki55 - 2022-11-28

    Ad "DIDAKTIK_8255" : The naming is too generic as there are..
    Didaktik Gama
    Didaktik M
    Didaktik Kompakt
    Didaktik D40/D80

    And some of these have built in i8255A with possibly same ports, but various differences.
    Like Gama has that PC0 bank switching, on D40 it needs to be activated with a separate port, then there is UR-4 with kempston port, etc.

    I was thinking about writing some base files/logic for i8255 and then extend it for various implementations such as this.. (besides D/A sound adapter * )
    But of course, in C extension is a limited term.

     

Log in to post a comment.