News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu

Dktronic 64 PAL reversed, almost working code.

Started by Piotr, 13:44, 12 October 17

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Piotr

Ok some time ago i play with DK tronic PAL and Brute force  metod, Code  almost working on GAL16v8 , R-type game running, demos too but not all, Batman Forever not start, Phortem not run proper. Demo iZ Art  hanging on some effect . So code is not full compatibile. Any ideas?

; Amstrad CPC memory expansion GAL
; Reverse-engineered from original HAL's truth table.
; Created by: MDS with Help from Zaxon.


CHIP CPCMEM GAL16V8

i0=1 i1=2 i2=3 i3=4 i4=5 i5=6 i6=7 i7=8 i8=9 GND=10
i9=11 q0=12 q1=13 q2=14 q3=15 q4=16 q5=17 i10=18 q7=19 VCC=20

EQUATIONS

!q7 = i8&i7&i5 | i4;

!q5 = i9&i8&!i7&i5&i4&!i3&!i2&!i1&!i0 | !i9&!i8&!i7 | i7&i5&i4 |
      i9&!i7&!i4 | i7&!i5 | i9&!i5 | i6;

!q4 = !i10&!i9&!i8&!i7&!i6&!i5&!i4&!i3&!i2&!i1&!i0 |
      i9&i8&!i7&i5&i4&!i3&!i2&!i1&!i0 | i9&i8&!i7&i5&!i4&i2&!i0 |
      i9&i8&!i7&i5&!i4&i3&!i0 | i9&i8&!i7&i5&!i4&i1;

!q3 = !i9&i8&!i7&!i6&!i0 | i7&!i6&i5&!i4&!i0 | i9&!i7&!i6&i5&i4&!i0 |
      !i1&!i0 | !i3;

!q2 = !i10&i9&!i7&!i6&i5&i4&i1&!i0 | !i10&!i9&i8&!i7&!i6&i1&!i0 |
      !i10&i7&!i6&i5&!i4&i1&!i0 | i9&!i7&!i6&i5&i4&!i3&i2 |
      !i9&i8&!i7&!i6&!i3&i2 | i7&!i6&i5&!i4&!i3&i2;

!q1 = i2 | i3 | i4;

!q0 = i7&i5&i4 | i9&i5 | !i7&i5;

Bryce

Quote from: Piotr on 13:44, 12 October 17Batman Forever not start, Phortem not run proper

Have you first confirmed that these programs work with the original PAL?

Bryce.

Piotr

I have orginal DK Tronic, when i install GAL programmed this code is hanging on some demo effects. Programs working perfect with orginal DK Tronic 64 orginal PAL and CPC 464.

Maybe schematic for DK Tronic will be usefull, is in Diptrace format, sorry about quality but is quick redrawed from PCB.

arnoldemu

@Piotr:

Please post a pdf of the schematics AND please assign labels to the pins on the GAL so that the equations are easier to read.
i0-i10 isn't as easy as D7/D6, A15, RAMDIS etc.
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

Piotr

#4
Arnoldemu , point is , schematic is a littlebit mess (Diptrace software is free and easy to download) , for convert it to PDF  i need some time. Anyway, here is log what and where,

EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
Copyright (c) National Semiconductor Corporation 1990-1993

Log file for cpcmemxp.eqn
Device: 16V8

Pin   Label               Type
---   -----               ----
1     i0                  pos,com input
2     i1                  pos,com input
3     i2                  pos,com input
4     i3                  pos,com input
5     i4                  pos,com input
6     i5                  pos,com input
7     i6                  pos,com input
8     i7                  pos,com input
9     i8                  pos,com input
10    GND                 ground pin
11    i9                  pos,com input
12    q0                  neg,com output
13    q1                  neg,com output
14    q2                  neg,com output
15    q3                  neg,com output
16    q4                  neg,com output
17    q5                  neg,com output
18    i10                 pos,com input
19    q7                  neg,com output
20    VCC                 power pin

EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
Copyright (c) National Semiconductor Corporation 1990-1993

Device Utilization:

No of dedicated inputs used               : 10/10 (100.0%)
No of feedbacks used as dedicated inputs  :  1/6  (16.7%)
No of dedicated outputs used              :  2/2  (100.0%)
No of feedbacks used as dedicated outputs :  5/6  (83.3%)

        ------------------------------------------
        Pin   Label                 Terms Usage
        ------------------------------------------
        19    q7                    2/8   (25.0%)
        17    q5                    7/8   (87.5%)
        16    q4                    5/8   (62.5%)
        15    q3                    5/8   (62.5%)
        14    q2                    6/8   (75.0%)
        13    q1                    3/8   (37.5%)
        12    q0                    3/8   (37.5%)
        ------------------------------------------
        Total Terms                31/64  (48.4%)
        ------------------------------------------

EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
Copyright (c) National Semiconductor Corporation 1990-1993

                            Chip diagram (DIP)

                             ._____    _____.
                             |     \__/     |
                          i0 |  1        20 | VCC
                          i1 |  2        19 | q7
                          i2 |  3        18 | i10
                          i3 |  4        17 | q5
                          i4 |  5        16 | q4
                          i5 |  6        15 | q3
                          i6 |  7        14 | q2
                          i7 |  8        13 | q1
                          i8 |  9        12 | q0
                         GND | 10        11 | i9
                             |______________|

Piotr

BTW i have also working clone of DK tronic ;) Problem is only to finish this PAL.

arnoldemu

#6
Ok a pdf would not help because there is no labels on it.

I loaded up the schematic, I can hover over the PAL pins and find some of the connections.

I *think* this is part of it:


MREQ=1 M1=2 IORQ=3 WR=4 A15=5 A14=6 i6=7 i7=8 i8=9 GND=10
i9=11 q0=12 q1=13 q2=14 RAS=15 q4=16 q5=17 RAMDIS=18 q7=19 VCC=20

EQUATIONS

!q7 = i8 & i7 & A14 |
         A15;

!q5 = i9 & i8 & !i7 & A14 & A15 & !WR & !IORQ & !M1 & !MREQ |
        !i9 &!i8 & !i7 |
       i7 &A14 & A15 |
      i9 & !i7 & !A15 |
    i7 & !A14 |
   i9 & !A14 |
  i6;

!q4 = !RAMDIS&!i9&!i8&!i7&!i6&!A14&!A15&!WR&!IORQ&!M1&!MREQ |
      i9&i8&!i7&A14&A15&!WR&!IORQ&!M1&!MREQ | i9&i8&!i7&A14&!A15&IORQ&!MREQ |
      i9&i8&!i7&A14&!A15&WR&!MREQ | i9&i8&!i7&A14&!A15&M1;

!RAS = !i9 & i8 & !i7 & !i6 & !MREQ |
     i7 & !i6 & A14 & !A15 & !MREQ |
i9 & !i7 & !i6 & A14 & A15 & !MREQ |
      !M1 & !MREQ |
!WR;

!q2 = !RAMDIS & i9 & !i7 & !i6 & A14 & A15 & M1 & !MREQ | !RAMDIS & !i9 & i8 & !i7 & !i6 & M1 & !MREQ |
      !RAMDIS & i7 & !i6 & A14 & !A15 & M1 & !MREQ | i9&!i7&!i6&A14&A15&!WR&IORQ |
      !i9&i8&!i7&!i6&!WR&IORQ | i7&!i6&A14&!A15&!WR&IORQ;

!q1 = IORQ | WR | A15;

!q0 = i7 & A14 & A15 | i9 & A14 | !i7 & A14;


!q1 makes sense, that is the I/O write to select the amstrad paging.
EDIT: Added RAS
EDIT: Made more of it readable with some spaces.
EDIT: Put it into a code block
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

Piotr

#7
Ok, i test it tomorrow.

Piotr

Hmm, is better, Batman start (on previous .JED not working) but hanging . Phortem total stop working  :)
Short vid where Batman hanging. 
https://www.youtube.com/watch?v=WvtVI9SHJgw

blackdalek

For those not in the know or technically minded... What exactly is a Dk'tronics PAL? Is it some kind of video adapter or chip? I tried googling Dk'Tronics and PAL together but got no useful results.
CPC6128 modded with ABBA switch. External 5.25" floppy drive with side switch and Multiface 2. Now also sporting a joystick splitter and M4 WiFi board.

00WReX

Quote from: blackdalek on 02:50, 02 January 18
For those not in the know or technically minded... What exactly is a Dk'tronics PAL? Is it some kind of video adapter or chip? I tried googling Dk'Tronics and PAL together but got no useful results.

A 'Programmable Array Logic' (PAL) is a family of programmable logic device semiconductors used to implement logic functions in digital circuits.

https://en.wikipedia.org/wiki/Programmable_Array_Logic

In the case of the DK'tronics 64K expansion (or the 6128 to access the second 64k bank), a PAL is programmed to perform Memory Management functions.

http://www.cpcwiki.eu/index.php/PAL16L8

Cheers,
Shane
The CPC in Australia...
Awa - CPCWiki

rpalmer

blackdalek,

The Dk'Tronics PAL is a chip to manage the memory banking on the CPC.

rpalmer

Powered by SMFPacks Menu Editor Mod