Nigel
e6901f0526
The uri has to contain 8.3 filenames for now as I have not yet figured out how to convert from that to regular filenaming for the name comparison. reading files is still limited to 1 sector
43 lines
960 B
C++
43 lines
960 B
C++
//
|
|
// Created by nigel on 23/02/23.
|
|
//
|
|
|
|
#pragma once
|
|
|
|
#include "../../../terminal/kterm.h"
|
|
#include "../../../memory/KernelHeap.h"
|
|
#include "../../../../CoreLib/Memory.h"
|
|
|
|
// Date Format
|
|
// [0..4] Day
|
|
// [5..8] Month
|
|
// [9..15] Year
|
|
class MSDOSDATE {
|
|
static void ParseDate(unsigned int date){
|
|
printf("Date (hex) 0x%x\n", date);
|
|
unsigned int year = (date >> 9 )+ 1980;
|
|
unsigned int month = (date & 0xf0 ) >> 4;
|
|
unsigned int day = date & 0xf ;
|
|
printf("Date: (D,M,Y) %d, %d ,%d\n", day , month, year );
|
|
}
|
|
};
|
|
|
|
|
|
|
|
// Time Format
|
|
// [0..4] Seconds
|
|
// [5..10] Minute
|
|
// [11..15] Hour
|
|
class MSDOSTIME {
|
|
static void ParseTime(unsigned int time)
|
|
{
|
|
printf("Time (hex) 0x%x\n", time);
|
|
unsigned int seconds = ( time & 0x0f) * 2;
|
|
unsigned int minutes = (time & 0xf0);
|
|
unsigned int hours = (time & 0xf00);
|
|
printf("Time (H:M:S) %d:%d:%d\n", hours, minutes, seconds);
|
|
}
|
|
};
|
|
|
|
|