home *** CD-ROM | disk | FTP | other *** search
-
- #ifndef EXEC_TYPES_H
- #include <exec/types.h>
- #endif
-
- #ifndef __STDIO_H
- #include <stdio.h>
- #endif
-
-
- #define GAL16V8 1 /*GAL-Typ*/
- #define GAL20V8 2
- #define GAL16V8A 3
- #define GAL20V8A 4
- #define UNKNOWN 5
- #define NOT_SPECIFIED 6
-
- #define IC1 3 /*IC-Nummern*/
- #define IC2 -1 /*IC2 nur für Elektor- und*/
- #define IC3 0 /*Maxon-GAL-Brenner*/
- #define IC4 1
- #define IC5 2
- #define IC6 0
- #define IC7 1
- #define IC10 10
-
- #define ON 1 /*LED-Status*/
- #define OFF 0
-
- #define YES 1
- #define NO 0
-
- #define PROG 1 /*GAL-Modus*/
- #define VERIFY 0
-
- #define LOW 0
- #define HIGH 1
- #define EINGANG 0
- #define AUSGANG 1
-
- #define CONT_REQ 0 /* Requester-Typen*/
- #define INFO_REQ 1
- #define ERR_REQ 2
- #define GALTYPE_REQ 3
- #define ATYPE_REQ 4
- #define ERASE_REQ 5
-
- /*Dauer des STR-Impulses in*/
- #define PROG_TIME1 80000L /*Mikrosekunden für pro-*/
- #define PROG_TIME2 10000L /*grammieren*/
- #define PROG_TIME3 40000L
- #define PROG_TIME4 100000L
- #define VERIFY_TIME 5L /*lesen*/
- #define BULK_TIME 100000L /*Bulk-Erase*/
-
-
- /*Spannung*/
- #define V12_00 4 /*12.00 Volt*/
- #define V14_00 3 /*14.00 Volt*/
- #define V14_50 2 /*14.50 Volt*/
- #define V15_75 1 /*15.75 Volt*/
- #define V16_50 0 /*16.50 Volt*/
-
-
-
- #define COPYGAL 1 /*für ProgJedecToGAL-Routine*/
- #define PROGGAL 2
-
- /*Voreinstellungen*/
- struct Configuration { BYTE GALType; /*GALType = 16V8 od. 20V8*/
- BYTE AType; /*TRUE=A; FALSE=normal*/
- BYTE AutoAType; /*autom. A-Typ-Erkennung*/
- BYTE GALTypeReq; /*TRUE=Requester für GAL-Typ*/
- BYTE GenJedec; /*Jedec-File erstellen?*/
- BYTE GenFuse; /*Fuse-File erstellen?*/
- BYTE GenChip; /*Chip-File erstellen?*/
- BYTE GenPin; /*Pin-File erstellen?*/
- BYTE AutoSave; /*automatisch sichern?*/
- BYTE AutoGAL; /*autom. GAL eistellen?*/
- BYTE ProgEmptyTest; /*Leertest vor Prog.GAL*/
- BYTE ProgVerify; /*Verify nach Prog.GAL*/
- BYTE CopyEmptyTest; /*Leertest vor Copy-GAL*/
- BYTE CopyVerify; /*Verify nach Copy-GAL*/
- BYTE EraseEmptyTest; /*Leertest nach GAL-Löschen*/
- BYTE JedecSecBit; /*Security-Bit des Jedec*/
- BYTE JedecFuseChk; /*Fuse-Checksumme des Jedec*/
- BYTE JedecFileChk; /*File-Checksumme des Jedec*/
- };
-
-
-
- struct JedecStruct { BYTE GALLogic[2560]; /*max. Größe der Fuse-Mat.*/
- BYTE GALXOR [8]; /*XOR-Bits*/
- BYTE GALSig [64]; /*Signatur*/
- BYTE GALAC1 [8]; /*AC1-Bits*/
- BYTE GALPT [64]; /*Produkttermfreigabe*/
- BYTE GALSYN; /*SYN-Bit*/
- BYTE GALAC0; }; /*AC0-Bit*/
-
-
- /*GAL16V8*/
- #define LOGIC16 0 /* Positionen der Bits in der*/
- #define XOR16 2048 /* Jedec-Datei*/
- #define SIG16 2056
- #define AC116 2120
- #define PT16 2128
- #define SYN16 2192
- #define AC016 2193
- #define NUMOFFUSES16 2194
- /*GAL20V8*/
- #define LOGIC20 0 /* Positionen der Bits in der*/
- #define XOR20 2560 /* Jedec-Datei*/
- #define SIG20 2568
- #define AC120 2632
- #define PT20 2640
- #define SYN20 2704
- #define AC020 2705
- #define NUMOFFUSES20 2706
-
- #define LOGIC16_SIZE 2048 /*Anzahl der Bits für XOR usw.*/
- #define LOGIC20_SIZE 2560
- #define ROW_SIZE 64
- #define XOR_SIZE 8
- #define SIG_SIZE 64
- #define AC1_SIZE 8
- #define PT_SIZE 64
- #define SYN_SIZE 1
- #define AC0_SIZE 1
- #define ACW_SIZE 82 /*Architektur-Kontroll-Wort*/
-
- #define MAX_FUSE_ADR16 31 /*Adressen der GALs (für Fan-Post)*/
- #define SIG_ADR16 32
- #define MAX_FUSE_ADR20 39
- #define SIG_ADR20 40
- #define ACW_ADR 60
- #define SECURITY_ADR 61
- #define ERASE_ADR 63
-
- #define MAX_OR 8 /*max. Anzahl der OR-Verknüpfungen*/
-
- /*GAL-Assembler*/
-
-
- /*Konstanten für den Assembler*/
- #define ASSEMBLER 0 /*ganzes File assemblieren->Jedec*/
- #define OPTIMIZER 1 /*nur bis zu den Gleichungen assem-*/
- /*blieren (Optimizer)*/
-
- struct Pin { BYTE p_Neg; /*Pin negiert?*/
- BYTE p_Pin; }; /*Pinnummer*/
-
-
- struct GAL_OLMC { BYTE Active; /*Ausgang negiert?*/
- BYTE PinType; /*Eingang, komb. Ausgang...*/
- BYTE TriCon; /*Tri.-Kontrolle angegeben?*/
- BYTE FeedBack; }; /*Ausgang mit Rückkopplung?*/
-
- #define ACTIVE_LOW 0 /*Pin High-aktiv*/
- #define ACTIVE_HIGH 1 /*Pin Low-aktiv*/
- /*PinType: */
- #define NOTUSED 0 /*Pin (noch) nicht verwendet*/
- #define NOTCON 0 /*Pin nicht verwendet*/
- #define INPUT 2 /*Eingang*/
- #define COMOUT 3 /*kombinatorischer Ausgang*/
- #define TRIOUT 4 /*Tristate-Ausgang*/
- #define REGOUT 5 /*Register-Ausgang*/
- #define COM_TRI_OUT 6 /*entweder Tri. oder komb. Ausgang*/
- /*TriCon:*/
- #define NO_TRICON 0 /*kein Tri.-Kontrolle angegeben*/
- #define TRICON 1 /*Tri.-Kontrolle angegeben*/
- #define TRI_VCC 2 /*ständige Tristate-Freigabe*/
- #define TRI_GND 3 /*ständig hochohmig*/
- #define TRI_PRO 4 /*Tristate-Kontrolle über Produktterm*/
-
-
- #define NC_PIN 30
-
- #define MODE1 1 /*Betriebsmodi (SYN,AC0)*/
- #define MODE2 2
- #define MODE3 3
-
-
- /*Konstanten für den Optimizer*/
- #define NEGATION 0x80 /*Bit 7 = 1 wenn '/' vor Pinnamen*/
- #define EQUASKIP 0xFE /*wird nicht beachtet*/
- #define EQUAEND 0xFF /*Ende einer Gleichung*/
- #define EQUASEND 0x00 /*Ende aller Gleichungen, bis zum*/
- /*DESCRIPTION*/
-
- #define ENTRY_SIZE 256 /*Anzahl der Einträge pro Puffer*/
-
- #define SIZE_OF_EQUASTRING 80
- /*Aus der Struktur Buffer wird*/
- /*eine verkettete Liste aufgebaut,*/
- /*in deren "Entries" entsprechende*/
- /*Daten abgelegt werden*/
- struct Buffer { struct Buffer *Next;
- struct Buffer *Prev;
- UBYTE Entries[ENTRY_SIZE]; /*hier werden z.B. die codier-*/
- }; /*ten Gleichungen abgelegt*/
-
- /*diese Struktur wird für Parameter*/
- /*und für Ergebnisse von Funktionen*/
- /*benötigt; sie enthält alle Infor-*/
- /*mationen über den aktuellen Puffer*/
- /*(siehe Equations-Struktur*/
- struct ActBuffer { struct Buffer *ThisBuff; /*Zeiger auf aktuellen Puffer*/
- UBYTE *Entry; /*Zeiger in das Entries-Feld*/
- UBYTE *BuffEnd; /*Zeiger auf Pufferende*/
- };
-
-
-
-
-
-
- /* GALer.c */
- void ExecuteMenu ();
- void PAL_NTSC ();
- int GetParPort ();
- void FreeParPort ();
- int GetTimer ();
- void FreeTimer ();
- void WaitForTimer ();
- void OpenStuff ();
- void CloseStuff ();
-
- /* Port.asm */
- void InitGALer ();
- void EnableOutput ();
- void DisableOutput ();
- void InitParPort ();
- void RestoreParPort ();
- void WriteByte ();
- int ReadByte ();
- void SetGAL ();
- void VeditOn ();
- void VeditOff ();
- void LED ();
- void EnableVcc ();
- void DisableVcc ();
- void EnableVEdit ();
- void DisableVEdit ();
- void SetRow ();
- void SDIn ();
- int SDOut ();
- void Clock ();
- void STRImpuls ();
- void EditMode ();
- void ExitEditMode ();
- void SetPV ();
- void SetVolt ();
-
-
- /* GAL2.c */
- void GALInfo ();
- int ReadGALParameter ();
- int GALAType ();
- UBYTE GetByte ();
-
-
- /* GAL.c */
- void ProgramGAL ();
- void CopyGAL ();
- void Leertest ();
- int CheckGAL ();
- void TestSecurity ();
- void Compare ();
- void PrintACW ();
- void PrintSignature ();
- int ProgJedecToGAL ();
- void ReadGALToJedec ();
- void SetSecurity ();
- void Loeschen ();
- void EraseIt ();
-
-
- long FileSize ();
-
- /* GALasm.c */
- int AssembleInputFile ();
- void SetAND ();
- void IsPinName ();
- int GetNextChar ();
- int GetNextLine ();
- void AsmError ();
- void WriteChipFile ();
- void WritePinFile ();
- void WriteFuseFile ();
- void WriteSpaces ();
-
- /* Jedec.c */
- void PutJedec ();
- int FileChecksum ();
- int FuseChecksum ();
- int MakeJedecBuff ();
- void WriteJedecFile ();
- int SearchNextChar ();
- int SearchNextAsterix ();
- int GetJedec ();
- void JedecError ();
-
- /* Optimizer.c */
- int SearchVar ();
- int Optimizer ();
- struct ActBuffer GetProdTermStart ();
- void KillProdTerm ();
- int OptimizeEqua ();
- int Resolvente ();
- int NumOfVar ();
- int AddResolvente ();
- int IsThereAProdTerm ();
- int SearchVarProd ();
- int WriteNewSource ();
- int CopyEqua ();
- int PrintEqua ();
- int GetNext ();
- int GetNextEqua ();
- void PrintOptText ();
- int ScrollRequester ();
- int TranslateEqua ();
-
- /* Pruefer.c */
- void Pruefer ();
- void SetPegel ();
- void CheckOutput ();
- void TogglePruefer ();
- void DrawGAL ();
- void DrawLeftPin ();
- void DrawRightPin ();
- void PrintPinNames ();
- void ClearPinNames ();
-
- /* Sub.c */
- void Schreibverhalten ();
- void JedecRequester ();
- void About ();
- int mystrcmp ();
- int MyFileReq ();
- int CompareRequester ();
- int MyRequest ();
- int AsmRequester ();
- long FileSize ();
- int ReadFile ();
- void ErrorReq ();
- void PrintText ();
- void PrintErrorLine ();
- void LoadConfig ();
- void SaveConfig ();
- void SetGALType ();
- int AddByte ();
- int AddString ();
- void IncPointer ();
- void DecPointer ();
- void FreeBuffer ();
-
-
- /* Reasm.c */
- int CheckPinNames ();
- int PinNameRequester ();
- int RowActive ();
- int OLMCOutput ();
- int MakeEquation ();
- int Reasm ();
- void Reassembler ();
- void ReasmError ();
-