Changeset 44 for branches/templates/AddrChannel.pas
- Timestamp:
- Oct 3, 2023, 12:09:51 AM (8 months ago)
- Location:
- branches/templates
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/templates
-
Property svn:ignore
set to
lib
templates.res
templates.lps
templates
-
Property svn:ignore
set to
-
branches/templates/AddrChannel.pas
r43 r44 7 7 8 8 type 9 {$MACRO ON} 9 10 TBitWidth = (bw8, bw16, bw32, bw64); 10 11 11 TAddrChannel8 = class 12 type 13 TRead8 = function (Address: Byte): Byte of object; 14 TWrite8 = procedure (Address: Byte; Data: Byte) of object; 15 var 16 Read8: TRead8; 17 Write8: TWrite8; 18 end; 12 {$DEFINE TGAddrChannel := TAddrChannel8} 13 {$DEFINE TGAddrChannelAddress := Byte} 14 {$DEFINE TGAddrChannelWidth := 8} 15 {$DEFINE INTERFACE} 16 {$I 'AddrChannel.inc'} 19 17 20 TAddrChannel16 = class 21 type 22 TRead8 = function (Address: Word): Byte of object; 23 TRead16 = function (Address: Word): Word of object; 24 TWrite8 = procedure (Address: Word; Data: Byte) of object; 25 TWrite16 = procedure (Address: Word; Data: Word) of object; 26 var 27 Read8: TRead8; 28 Read16: TRead16; 29 Write8: TWrite8; 30 Write16: TWrite16; 31 end; 18 {$DEFINE TGAddrChannel := TAddrChannel16} 19 {$DEFINE TGAddrChannelAddress := Word} 20 {$DEFINE TGAddrChannelWidth := 16} 21 {$DEFINE INTERFACE} 22 {$I 'AddrChannel.inc'} 32 23 33 TAddrChannel32 = class 34 type 35 TRead8 = function (Address: DWord): Byte of object; 36 TRead16 = function (Address: DWord): Word of object; 37 TRead32 = function (Address: DWord): DWord of object; 38 TWrite8 = procedure (Address: DWord; Data: Byte) of object; 39 TWrite16 = procedure (Address: DWord; Data: Word) of object; 40 TWrite32 = procedure (Address: DWord; Data: DWord) of object; 41 var 42 Read8: TRead8; 43 Read16: TRead16; 44 Read32: TRead32; 45 Write8: TWrite8; 46 Write16: TWrite16; 47 Write32: TWrite32; 48 end; 24 {$DEFINE TGAddrChannel := TAddrChannel32} 25 {$DEFINE TGAddrChannelAddress := DWord} 26 {$DEFINE TGAddrChannelWidth := 32} 27 {$DEFINE INTERFACE} 28 {$I 'AddrChannel.inc'} 49 29 50 TAddrChannel64 = class 51 type 52 TRead8 = function (Address: QWord): Byte of object; 53 TRead16 = function (Address: QWord): Word of object; 54 TRead32 = function (Address: QWord): DWord of object; 55 TRead64 = function (Address: QWord): QWord of object; 56 TWrite8 = procedure (Address: QWord; Data: Byte) of object; 57 TWrite16 = procedure (Address: QWord; Data: Word) of object; 58 TWrite32 = procedure (Address: QWord; Data: DWord) of object; 59 TWrite64 = procedure (Address: QWord; Data: QWord) of object; 60 var 61 Read8: TRead8; 62 Read16: TRead16; 63 Read32: TRead32; 64 Read64: TRead64; 65 Write8: TWrite8; 66 Write16: TWrite16; 67 Write32: TWrite32; 68 Write64: TWrite64; 69 end; 30 {$DEFINE TGAddrChannel := TAddrChannel64} 31 {$DEFINE TGAddrChannelAddress := QWord} 32 {$DEFINE TGAddrChannelWidth := 64} 33 {$DEFINE INTERFACE} 34 {$I 'AddrChannel.inc'} 70 35 71 36 { TAddrChannel } … … 92 57 constructor Create(Channel: TAddrChannel64); overload; 93 58 end; 94 95 59 96 60
Note:
See TracChangeset
for help on using the changeset viewer.