⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ghdd.lst

📁 dvr
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.50   GHDD                                                                  12/14/2005 10:05:11 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE GHDD
OBJECT MODULE PLACED IN .\OBJ\ghdd.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ghdd.c LARGE OPTIMIZE(9,SIZE) BROWSE PRINT(.\LST\ghdd.lst) OBJECT(.\OBJ\ghd
                    -d.obj)

line level    source

   1          /*
   2          ********************************************************************************
   3          *
   4          * (c) Copyright 2002, Vineyard Technologies, Inc.
   5          *
   6          * Filename : ghdd.c
   7          * Programmer(s): Steve KyeongHyeon Lee
   8          * Created : 2003/05/07
   9          * Modified :
  10          *
  11          * Description : 
  12          ********************************************************************************
  13          */
  14                                            
  15          //######################################################################
  16          //
  17          //######################################################################
  18          
  19          #include "types.h"
  20          
  21          
  22          #include "8052reg.h"
  23          #include <stdio.h>             
  24          #include <absacc.h>
  25          #include "eprom.h"
  26          #include "gio.h"
  27          #include "hdd_if.h"
  28          #include "types.h"
  29          #include "ghdd.h"
  30          #include "lib.h"
  31          #include "gosd.h"
  32          #ifdef TMP_DEL
              #ifdef LANIF
              #include "lan.h"
              #endif
              #endif
  37          
  38          #include "key.h"
  39          
  40          //######################################################################
  41          //
  42          //######################################################################
  43          extern xdata u8 gv_time_data[6];
  44          extern xdata u8 osdgv_menu_base;
  45          extern xdata u16 gv_hdd_write_interrupt_cnt;
  46          
  47          //######################################################################
  48          //
  49          //######################################################################
  50          extern void LBA_write(u8 hddIndex);
  51          extern u32 mktime(u8 timedate[]);
  52          extern void real_time_read(u8 option);
  53          extern u8 get_front_key(void);
  54          
C51 COMPILER V7.50   GHDD                                                                  12/14/2005 10:05:11 PAGE 2   

  55          //######################################################################
  56          //
  57          //######################################################################
  58                                                                                                  // CB(Control Block) unit is 512
  59          #define HDD_CB_LOH_SIZE                 1                       // LOG Header structure
  60          #ifdef MORE_EVENT
              #define HDD_CB_LOG_SIZE                 64                      // LOG Body structure
              #else
  63          #define HDD_CB_LOG_SIZE                 4                       // LOG Body structure
  64          #endif
  65          #define HDD_CB_LBA_SIZE                 1                       // WCurrent pointer
  66          #define HDD_CB_SIG_SIZE                 1                       // Signature structure
  67          
  68          #define HDD_SECT_CNT_SZ1                1
  69          #define HDD_SECT_CNT_SZ8                8
  70          
  71          #define BLKEVTCNT                       32              // event count for one LBA
  72          #define MAXEVTCNT                       (HDD_CB_LOG_SIZE*BLKEVTCNT)     // one LBA(512) include 32 events
  73          
  74          #define HDD_ACCESS_TIMEOUT              30000   // 6 sec
  75          #define HDD_TMPBUFSIZE                  4096
  76          
  77          //######################################################################
  78          //
  79          //######################################################################
  80          #ifdef DEBUG_HDD_DUMP
              xdata u32 gv_HDD_NumOfLBA[2] = {0,0};
              #endif
  83          xdata u32 gv_HDD_LastLBA[2] = {0,0};            // Addressable Last LBA
  84          xdata u32 gv_HDD_LogHeadLBA[2] = {0,0};         // Log Head LBA
  85          xdata u32 gv_HDD_LogBodyLBA[2] = {0,0};         // Log Body LBA
  86          xdata u32 gv_HDD_CWLBA[2] = {0,0};                      // Current Writting LBA
  87          xdata u32 gv_HDD_EOVLBA[2] = {0,0};             // EOV [End Of Video] LBA
  88          
  89          xdata u32 gv_HDD_size[2];
  90          xdata u32 gv_WCurrent_LBA[2];
  91          xdata u32 gv_RCurrent_LBA[2];
  92          xdata u8 gv_HDD_play_hdd_index;
  93          xdata u8 gv_hdd_count = 0;
  94          
  95          xdata u8 *gv_hdd_signature = SIGNATURE;
  96          xdata u8 *gv_hdd_rom_ver_name = ROM_VERSION_NAME;
  97          xdata u8 gv_hdd_error_flag = 0;
  98          xdata u8 gv_HDD_format_index;
  99          xdata u8 gv_hdd_tmp_buf[HDD_TMPBUFSIZE];
 100          xdata u8 gv_HDD_usage[2];
 101          xdata u8 gv_HDD_exist[2];
 102          xdata u8 gv_evt_msg2read = FALSE;
 103          xdata EvtHead gv_evt_head;
 104          xdata EvtNode gv_evt_buf[MAXEVTCNT];
 105          xdata u8 gv_HDD_48bit_address[2]={0,0};
 106          
 107          xdata u8 gv_hdd_cache_disable_data = 0;
 108          
 109          //######################################################################
 110          //
 111          //######################################################################
 112          #ifndef PWRCV2
              u8 hdd_check_signature(u8 hddIndex, u8* disk_id);
              #endif
 115          void hdd_write_root_sector(u8 hddIndex);
 116          void hdd_sector_read(u8 hddIndex, u32 lba, u8 size, u8* buf);
C51 COMPILER V7.50   GHDD                                                                  12/14/2005 10:05:11 PAGE 3   

 117          void hdd_sector_write(u8 hddIndex, u32 lba, u8 size, u8* buf);
 118          void hdd_sector_set(u8 hddIndex, u32 Lba, u8 sector_counter);
 119          //void hdd_cache(u8 hddIndex, u8 enable_flag );
 120          void hdd_cmd(u8 hddIndex, u8 Command_Id );
 121          char hdd_select(u8 hddIndex);
 122          char hdd_wait_busy_free(void);
 123          char hdd_wait_dev_ready(void);
 124          char hdd_wait_rw_ready(void);
 125          
 126          static u8 hdd_evt_check2(u32 elba_s, u32 elba_e, u32 plba_s, u32 plba_e, u32 EndOfDisk);
 127          static u8 hdd_evt_check(u32 elba_s, u32 elba_e, u32 lba);
 128          
 129          //xdata u8 temp_arr[44];
 130          /*===============================================================================
 131          
 132              Checking HDD
 133              MASTER ...
 134              MASTER [NONE]
 135              MASTER [123456789012345678]
 136              MASTER [123456789012345678]-USED
 137              MASTER [123456789012345678]-NEW
 138              DVR NEEDS TO FORMAT HDD
 139              ALL DATA WILL BE LOST 
 140              [(SELECT)FORMAT/(MENU)CANCEL]?
 141              FORMAT COMPLETED
 142              FORMAT CANCELED - HDD IGNORED
 143                 
 144                 
 145          //===============================================================================*/
 146          char HDD_Initial(void)
 147          {
 148   1              xdata u8        j;
 149   1              xdata u16       i;
 150   1              xdata u16       tdata;
 151   1              xdata u16       tdata_l;
 152   1              xdata u32       temp;
 153   1              xdata u8        dsp_offset = 1 + osdgv_menu_base;
 154   1              xdata u8        model[25];
 155   1      #ifdef FONT_SC
 156   1              xdata u8        *hdd_id_str[2]={"rs-1  ", "rs-2  " };//祑絃-1 祑絃-2
 157   1      #else
                      xdata u8        *hdd_id_str[2]={"MASTER", "SLAVE " };
              #endif
 160   1              
 161   1      #ifdef DEBUG_HDD_DUMP
                      gv_HDD_NumOfLBA[0]      = gv_HDD_NumOfLBA[1]    = 0;
              #endif
 164   1      
 165   1              gv_HDD_LogHeadLBA[0]= gv_HDD_LogHeadLBA[1]      = 0;
 166   1              gv_HDD_LogBodyLBA[0]= gv_HDD_LogBodyLBA[1]      = 0;
 167   1              gv_HDD_CWLBA[0]         = gv_HDD_CWLBA[1]               = 0;
 168   1              gv_HDD_EOVLBA[0]        = gv_HDD_EOVLBA[1]              = 0;
 169   1              gv_HDD_LastLBA[0]       = gv_HDD_LastLBA[1]     = 0;
 170   1              gv_HDD_size[0]          = gv_HDD_size[1]                = 0;
 171   1              gv_WCurrent_LBA[0]      = gv_WCurrent_LBA[1]    = 0;
 172   1              gv_RCurrent_LBA[0]      = gv_RCurrent_LBA[1]    = 0;
 173   1              gv_HDD_usage[0]         = gv_HDD_usage[1]               = 0;
 174   1              gv_HDD_exist[0]         = gv_HDD_exist[1]               = 0;
 175   1              gv_hdd_count = 0;
 176   1      

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -