Skip to content

Commit 82ae78c

Browse files
committed
tv desktop + RTC timer in protecrted mode - no BIOS
1 parent 3b92d3b commit 82ae78c

17 files changed

Lines changed: 324 additions & 17 deletions

File tree

Makefile

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -434,7 +434,11 @@ SHOBJS := \
434434
$(OBJ_DIR)/user32/symbol_table.o \
435435
$(OBJ_DIR)/user32/TurboVision/Application.o \
436436
$(OBJ_DIR)/user32/TurboVision/TObject.o \
437-
$(OBJ_DIR)/user32/TurboVision/Hardware.o \
437+
$(OBJ_DIR)/user32/TurboVision/TDesktop.o \
438+
$(OBJ_DIR)/user32/TurboVision/TMenuBar.o \
439+
$(OBJ_DIR)/user32/TurboVision/TStatusBar.o \
440+
$(OBJ_DIR)/user32/TurboVision/THardware.o \
441+
$(OBJ_DIR)/user32/TurboVision/rtc.o \
438442
$(OBJ_DIR)/user32/TurboVision/platform/strings.o \
439443
$(OBJ_DIR)/user32/rtl/rtl_ExitProcess.o \
440444
$(OBJ_DIR)/stl/stl_init.o

src/kernel/ckernel.cc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,9 @@ extern void* krealloc(void* ptr, uint32_t new_size);
2424
extern int atapi_read_sectors(uint32_t lba, uint32_t count, void *buffer);
2525
extern int sata_read_sectors(uint32_t lba, uint32_t count, void *buffer);
2626

27+
extern "C" void clear_screen(unsigned char, unsigned char);
2728
extern "C" void printformat(char*, ...);
29+
2830
extern "C" void detect_memory(void);
2931
extern "C" void enter_usermode(void);
3032
extern "C" void irq_init(void);
@@ -92,7 +94,7 @@ extern "C" int txt_main()
9294
printformat("ATAPI: NOK\n");
9395
check_ahci();
9496
}
95-
97+
9698
if (iso_mount() != 0) {
9799
printformat("ISO mount Error.\n");
98100
} else {

src/kernel/lba.inc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
; DONT CHANGE THIS FILE - all modifieds will be lost.
33
; -----------------------------------------------------
44
TEST_LBA equ 0
5-
BOOT2_LBA equ 582 ; start LBA BOOT2
5+
BOOT2_LBA equ 583 ; start LBA BOOT2
66
BOOT2_SECTORS equ 2 ; 2048 * 2
77
; -----------------------------------------------------
88
KERNEL_LBA equ 552 ; start LBA KERNEL

src/user32/TurboVision/inc/TApplication.h

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
# include "stdint.h"
1010

1111
# include "TurboVision/inc/TObject.h"
12+
# include "TurboVision/inc/TDesktop.h"
1213
//# include "TurboVision/inc/TGroup.h"
1314
//# include "TurboVision/inc/TEditView.h"
1415

@@ -18,12 +19,15 @@ namespace tvision
1819
{
1920
public:
2021
TApplication(void);
21-
virtual ~TApplication() {}
22+
virtual ~TApplication();
2223

23-
virtual void init();
24+
void Init();
2425
int run();
26+
27+
TDesktop * desktop = nullptr;
28+
2529
private:
26-
bool running = false;
30+
bool running = false;
2731
};
2832
} // namespace: tvision
2933
#endif // __TURBOVISION_TAPPLICATION_H__

src/user32/TurboVision/inc/TDesktop.h

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,20 @@
99
# include "stdint.h"
1010

1111
# include "TurboVision/inc/TObject.h"
12-
# include "TurboVision/inc/TRect.h"
13-
# include "TurboVision/inc/TView.h"
14-
# include "TurboVision/inc/video.h"
12+
# include "TurboVision/inc/TMenuBar.h"
13+
# include "TurboVision/inc/TStatusBar.h"
1514

16-
#endif // __TURBOVISION_TDESKTOP_H__
15+
namespace tvision
16+
{
17+
class TDesktop: public TObject {
18+
public:
19+
TDesktop(void);
20+
virtual ~TDesktop();
21+
22+
void draw(void);
23+
24+
TMenuBar * menuBar;
25+
TStatusBar * statusBar;
26+
};
27+
} // namespace: tvision
28+
#endif // __TURBOVISION_TDESKTOP_H__
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
// ----------------------------------------------------------------------------
2+
// \file TMenuBar.h
3+
// \note (c) 2025, 2026 by Jens Kallup - paule32
4+
// all rights reserved.
5+
// ----------------------------------------------------------------------------
6+
#ifndef __TURBOVISION_TMENUBAR_H__
7+
#define __TURBOVISION_TMENUBAR_H__
8+
9+
# include "stdint.h"
10+
11+
# include "TurboVision/inc/TObject.h"
12+
13+
namespace tvision
14+
{
15+
class TMenuBar: public TObject {
16+
public:
17+
TMenuBar();
18+
19+
void draw(void);
20+
};
21+
}
22+
#endif // __TURBOVISION_TMENUBAR_H__
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
// ----------------------------------------------------------------------------
2+
// \file TStatusBar.h
3+
// \note (c) 2025, 2026 by Jens Kallup - paule32
4+
// all rights reserved.
5+
// ----------------------------------------------------------------------------
6+
#ifndef __TURBOVISION_TSTATUSBAR_H__
7+
#define __TURBOVISION_TSTATUSBAR_H__
8+
9+
# include "stdint.h"
10+
11+
# include "TurboVision/inc/TObject.h"
12+
13+
namespace tvision
14+
{
15+
class TStatusBar: public TObject {
16+
public:
17+
TStatusBar(void);
18+
19+
void draw(void);
20+
};
21+
}
22+
#endif // __TURBOVISION_TSTATUSBAR_H__

src/user32/TurboVision/inc/tv.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -622,7 +622,7 @@
622622
# include "config.h"
623623

624624
#if defined( __INC_HARDWARE_H )
625-
# include "Hardware.h"
625+
# include "THardware.h"
626626
#endif
627627

628628
#endif // __TV_H__

src/user32/TurboVision/src/Application.cc

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,24 @@ namespace tvision
1313
{
1414
TApplication::TApplication(void)
1515
{
16+
auto * desktop = new TDesktop();
17+
}
18+
TApplication::~TApplication()
19+
{
20+
delete desktop;
1621
}
17-
void TApplication::init(void) {
22+
23+
void TApplication::Init(void) {
1824
printformat("TApplication: init.\n");
1925
}
2026

2127
int TApplication::run(void) {
28+
2229
running = true;
30+
desktop->draw();
31+
2332
while (running) {
24-
33+
desktop->menuBar->draw();
2534
}
2635
return 0;
2736
}

0 commit comments

Comments
 (0)