// ***************************************************************************** // // This file is the template for the application to define the Node that is the // physical node. It can have completely different attributes than the virtual // nodes. // // ***************************************************************************** unit template_vnode_fdi; // This file contains application layer variabile the user can change to customize // features of OPStack including number of Nodes implemented by the library, // Hardcoded Events for physical node, etc {$IFDEF FPC} interface {$ENDIF} {$I Options.inc} uses nmranetdefines, opstacktypes; // ************************************************************************************************************************************************************** // FDI Memory ($FA) Space Implementation // ************************************************************************************************************************************************************** const USER_MAX_VNODE_FDI_ARRAY = 1104; USER_FDI_VNODE_ARRAY: array[0..USER_MAX_VNODE_FDI_ARRAY-1] of byte = ( $3C, $3F, $78, $6D, $6C, $20, $76, $65, $72, $73, $69, $6F, $6E, $3D, $22, $31, $2E, $30, $22, $20, $65, $6E, $63, $6F, $64, $69, $6E, $67, $3D, $22, $75, $74, $66, $2D, $38, $22, $3F, $3E, // $3C, $3F, $78, $6D, $6C, $2D, $73, $74, $79, $6C, $65, $73, $68, $65, $65, $74, $20, $74, $79, $70, $65, $3D, $22, $74, $65, $78, $74, $2F, $78, $73, $6C, $22, $20, $68, $72, $65, $66, $3D, $22, $68, $74, $74, $70, $3A, $2F, $2F, $6F, $70, $65, $6E, $6C, $63, $62, $2E, $6F, $72, $67, $2F, $74, $72, $75, $6E, $6B, $2F, $70, $72, $6F, $74, $6F, $74, $79, $70, $65, $73, $2F, $78, $6D, $6C, $2F, $78, $73, $6C, $74, $2F, $66, $64, $69, $2E, $78, $73, $6C, $22, $3F, $3E, // $3C, $66, $64, $69, $20, $78, $6D, $6C, $6E, $73, $3A, $78, $73, $69, $3D, $22, $68, $74, $74, $70, $3A, $2F, $2F, $77, $77, $77, $2E, $77, $33, $2E, $6F, $72, $67, $2F, $32, $30, $30, $31, $2F, $58, $4D, $4C, $53, $63, $68, $65, $6D, $61, $2D, $69, $6E, $73, $74, $61, $6E, $63, $65, $22, $20, $78, $73, $69, $3A, $6E, $6F, $4E, $61, $6D, $65, $73, $70, $61, $63, $65, $53, $63, $68, $65, $6D, $61, $4C, $6F, $63, $61, $74, $69, $6F, $6E, $3D, $22, $68, $74, $74, $70, $3A, $2F, $2F, $6F, $70, $65, $6E, $6C, $63, $62, $2E, $6F, $72, $67, $2F, $74, $72, $75, $6E, $6B, $2F, $70, $72, $6F, $74, $6F, $74, $79, $70, $65, $73, $2F, $78, $6D, $6C, $2F, $73, $63, $68, $65, $6D, $61, $2F, $66, $64, $69, $2E, $78, $73, $64, $22, $3E, // $3C, $73, $65, $67, $6D, $65, $6E, $74, $20, $6F, $72, $69, $67, $69, $6E, $3D, $22, $30, $22, $20, $73, $70, $61, $63, $65, $3D, $22, $32, $35, $30, $22, $3E, // $3C, $6E, $61, $6D, $65, $3E, $46, $75, $6E, $63, $74, $69, $6F, $6E, $20, $44, $65, $66, $69, $6E, $69, $74, $69, $6F, $6E, $20, $66, $6F, $72, $20, $61, $20, $53, $6F, $75, $6E, $64, $54, $72, $61, $78, $78, $20, $4E, $61, $72, $72, $6F, $77, $20, $47, $75, $61, $67, $65, $20, $4C, $6F, $63, $6F, $3C, $2F, $6E, $61, $6D, $65, $3E, // Function Definition for a SoundTraxx Narrow Guage Loco $3C, $67, $72, $6F, $75, $70, $3E, // $3C, $6E, $61, $6D, $65, $3E, $4C, $6F, $63, $6F, $6D, $6F, $74, $69, $76, $65, $20, $53, $6F, $75, $6E, $64, $73, $3C, $2F, $6E, $61, $6D, $65, $3E, // Locomotive Sounds $3C, $66, $75, $6E, $63, $74, $69, $6F, $6E, $20, $6F, $72, $69, $67, $69, $6E, $3D, $22, $30, $22, $3E, // $3C, $6E, $61, $6D, $65, $3E, $48, $65, $61, $64, $6C, $69, $67, $68, $74, $73, $3C, $2F, $6E, $61, $6D, $65, $3E, // Headlights $3C, $2F, $66, $75, $6E, $63, $74, $69, $6F, $6E, $3E, // $3C, $66, $75, $6E, $63, $74, $69, $6F, $6E, $20, $6F, $72, $69, $67, $69, $6E, $3D, $22, $37, $22, $3E, // $3C, $6E, $61, $6D, $65, $3E, $44, $69, $6D, $6D, $65, $72, $3C, $2F, $6E, $61, $6D, $65, $3E, // Dimmer $3C, $2F, $66, $75, $6E, $63, $74, $69, $6F, $6E, $3E, // $3C, $66, $75, $6E, $63, $74, $69, $6F, $6E, $20, $6F, $72, $69, $67, $69, $6E, $3D, $22, $31, $22, $3E, // $3C, $6E, $61, $6D, $65, $3E, $42, $65, $6C, $6C, $3C, $2F, $6E, $61, $6D, $65, $3E, // Bell $3C, $2F, $66, $75, $6E, $63, $74, $69, $6F, $6E, $3E, // $3C, $66, $75, $6E, $63, $74, $69, $6F, $6E, $20, $6F, $72, $69, $67, $69, $6E, $3D, $22, $32, $22, $3E, // $3C, $6E, $61, $6D, $65, $3E, $57, $68, $69, $73, $74, $6C, $65, $3C, $2F, $6E, $61, $6D, $65, $3E, // Whistle $3C, $2F, $66, $75, $6E, $63, $74, $69, $6F, $6E, $3E, // $3C, $66, $75, $6E, $63, $74, $69, $6F, $6E, $20, $6F, $72, $69, $67, $69, $6E, $3D, $22, $33, $22, $3E, // $3C, $6E, $61, $6D, $65, $3E, $53, $68, $6F, $72, $74, $20, $57, $68, $69, $73, $74, $6C, $65, $3C, $2F, $6E, $61, $6D, $65, $3E, // Short Whistle $3C, $2F, $66, $75, $6E, $63, $74, $69, $6F, $6E, $3E, // $3C, $66, $75, $6E, $63, $74, $69, $6F, $6E, $20, $6F, $72, $69, $67, $69, $6E, $3D, $22, $34, $22, $3E, // $3C, $6E, $61, $6D, $65, $3E, $48, $69, $73, $73, $3C, $2F, $6E, $61, $6D, $65, $3E, // Hiss $3C, $2F, $66, $75, $6E, $63, $74, $69, $6F, $6E, $3E, // $3C, $2F, $67, $72, $6F, $75, $70, $3E, // $3C, $67, $72, $6F, $75, $70, $3E, // $3C, $6E, $61, $6D, $65, $3E, $54, $72, $61, $69, $6E, $20, $53, $6F, $75, $6E, $64, $73, $3C, $2F, $6E, $61, $6D, $65, $3E, // Train Sounds $3C, $66, $75, $6E, $63, $74, $69, $6F, $6E, $20, $6F, $72, $69, $67, $69, $6E, $3D, $22, $35, $22, $3E, // $3C, $6E, $61, $6D, $65, $3E, $57, $61, $74, $65, $72, $20, $53, $74, $6F, $70, $3C, $2F, $6E, $61, $6D, $65, $3E, // Water Stop $3C, $2F, $66, $75, $6E, $63, $74, $69, $6F, $6E, $3E, // $3C, $66, $75, $6E, $63, $74, $69, $6F, $6E, $20, $6F, $72, $69, $67, $69, $6E, $3D, $22, $36, $22, $3E, // $3C, $6E, $61, $6D, $65, $3E, $43, $6F, $75, $70, $6C, $65, $72, $3C, $2F, $6E, $61, $6D, $65, $3E, // Coupler $3C, $2F, $66, $75, $6E, $63, $74, $69, $6F, $6E, $3E, // $3C, $66, $75, $6E, $63, $74, $69, $6F, $6E, $20, $6F, $72, $69, $67, $69, $6E, $3D, $22, $31, $31, $22, $3E, // $3C, $6E, $61, $6D, $65, $3E, $42, $72, $61, $6B, $65, $20, $53, $71, $75, $65, $61, $6C, $3C, $2F, $6E, $61, $6D, $65, $3E, // Brake Squeal $3C, $2F, $66, $75, $6E, $63, $74, $69, $6F, $6E, $3E, // $3C, $66, $75, $6E, $63, $74, $69, $6F, $6E, $20, $6F, $72, $69, $67, $69, $6E, $3D, $22, $31, $32, $22, $3E, // $3C, $6E, $61, $6D, $65, $3E, $49, $6E, $6A, $65, $63, $74, $6F, $72, $73, $3C, $2F, $6E, $61, $6D, $65, $3E, // Injectors $3C, $2F, $66, $75, $6E, $63, $74, $69, $6F, $6E, $3E, // $3C, $2F, $67, $72, $6F, $75, $70, $3E, // $3C, $67, $72, $6F, $75, $70, $3E, // $3C, $6E, $61, $6D, $65, $3E, $4D, $69, $73, $63, $20, $46, $75, $6E, $63, $74, $69, $6F, $6E, $73, $3C, $2F, $6E, $61, $6D, $65, $3E, // Misc Functions $3C, $66, $75, $6E, $63, $74, $69, $6F, $6E, $20, $6F, $72, $69, $67, $69, $6E, $3D, $22, $38, $22, $3E, // $3C, $6E, $61, $6D, $65, $3E, $4D, $75, $74, $65, $3C, $2F, $6E, $61, $6D, $65, $3E, // Mute $3C, $2F, $66, $75, $6E, $63, $74, $69, $6F, $6E, $3E, // $3C, $2F, $67, $72, $6F, $75, $70, $3E, // $3C, $2F, $73, $65, $67, $6D, $65, $6E, $74, $3E, // $3C, $2F, $66, $64, $69, $3E, // $00 // null ); implementation end.