Skip to content

Commit

Permalink
Created Switcher Project
Browse files Browse the repository at this point in the history
  • Loading branch information
Michael Chourdakis committed Feb 6, 2019
1 parent 04cc6b3 commit 1a6b4f9
Show file tree
Hide file tree
Showing 10 changed files with 67 additions and 2 deletions.
7 changes: 6 additions & 1 deletion Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,12 @@ It will create a CD-ROM as D: and you can run it from d:\entry.exe, by default i
9. VMX is there
10. Spawn a Virtual Machine in Unrestricted guest mode. Paged Protected Mode guest also there.
11. Entry /r which installs as TSR the DMMI services
12. DMMI startup example taken from https://board.flatassembler.net/topic.php?t=7122
12. DPMI startup example taken from https://board.flatassembler.net/topic.php?t=7122
13. DMMIC app runs which demonstrates DMMI, launching real mode, protected mode, long mode and virtualized protected mode threads
14. DOS32A loads a linear executable created with FASM
15. VDEBUG Virtualized Debugger (Not fully implemented yet)
15. MDEBUG Multicore Debugger (Not fully implemented yet)
16. SWITCHER multitasker (Not fully implemented yet)

## DMMI
I've called it DOS Multicore Mode Interface. It is a driver which helps you develop 32 and 64 bit multicore applications for DOS, using int 0xF0.
Expand Down Expand Up @@ -111,6 +112,10 @@ Compile it with config.asm MDEBUG = 1. This app should perform the following:

This project is not yet created, but I hope that it will be here soon!

## Switcher
Switcher is a DMMI client that is able to do multitasking in DOS using multiple cores and virtualization.
More to follow soon!




Expand Down
1 change: 1 addition & 0 deletions asm.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -203,6 +203,7 @@
<None Include="startvbox.bat" />
<None Include="startvmware.bat" />
<None Include="struct.asm" />
<None Include="swmain.asm" />
<None Include="thread16.asm" />
<None Include="thread32.asm" />
<None Include="thread64.asm" />
Expand Down
6 changes: 6 additions & 0 deletions asm.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,9 @@
<Filter Include="Debuggee">
<UniqueIdentifier>{189d96b4-2842-4505-805a-815b3b66bbd4}</UniqueIdentifier>
</Filter>
<Filter Include="Switcher">
<UniqueIdentifier>{3d37bfd1-8ba1-4f5b-b5f5-5a30a1334465}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<CustomBuild Include="entry.asm">
Expand Down Expand Up @@ -213,6 +216,9 @@
<None Include="dpmic.asm">
<Filter>DPMI Client</Filter>
</None>
<None Include="swmain.asm">
<Filter>Switcher</Filter>
</None>
</ItemGroup>
<ItemGroup>
<Text Include="dis\main.c">
Expand Down
2 changes: 2 additions & 0 deletions build.bat
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ fasm dpmic.asm
fasm dmmic.asm
fasm vdebug.asm
fasm mdebug.asm
fasm swmain.asm switcher.exe
fasm debuggee.asm
fasm leheader.asm le.exe
REM upx --best entry.exe
Expand All @@ -14,6 +15,7 @@ copy /y debuggee.exe .\CD\debuggee.exe
copy /y entry.exe .\CD\entry.exe
copy /y dmmic.exe .\CD\dmmic.exe
copy /y dpmic.exe .\CD\dpmic.exe
copy /y switcher.exe .\CD\switcher.exe
copy /y le.exe .\CD\le.exe
copy /y runx.bat .\CD\runx.bat
powershell -ExecutionPolicy RemoteSigned -File "iso.ps1"
Expand Down
2 changes: 1 addition & 1 deletion bx_enh_dbg.ini
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,4 @@ ListWidthPix[1] = 464
ListWidthPix[2] = 396
FontName = System
FontSize = -16
MainWindow = 151, 98, 1591, 865
MainWindow = 303, 169, 1743, 936
1 change: 1 addition & 0 deletions runx.bat
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ rem cd ..

vdebug debuggee.exe
mdebug debuggee.exe
switcher


a:
Expand Down
Binary file added switcher.exe
Binary file not shown.
44 changes: 44 additions & 0 deletions swmain.asm
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
FORMAT MZ
HEAP 0

macro linear reg,trg,seg = DATA16
{
mov reg,seg
shl reg,4
add reg,trg
}

segment STACK16
USE16

dw 128 dup(0)
stre:

segment DATA16
USE16
m1 db "Switcher, (C) Chourdakis Michael.",0x0D,0x0A,"$"

segment CODE16
USE16

include "reqdmmi.asm"

start16:
mov ax,STACK16
mov ss,ax
mov eax,stre
mov esp,eax
mov ax,DATA16
mov ds,ax
mov es,ax
mov ax,0x0900
mov dx,m1
int 0x21

mov ax,0x4C00
int 0x21

SEGMENT ENDS
entry CODE16:start16


6 changes: 6 additions & 0 deletions vdebug.asm
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,12 @@ start16:
mov ax,0x0900
mov dx,m1
int 0x21

if VDEBUG = 0
mov ax,0x4C00
int 0x21
end if

mov ah,0x62
int 0x21
mov [mypsp],bx
Expand Down
Binary file modified vdebug.exe
Binary file not shown.

0 comments on commit 1a6b4f9

Please sign in to comment.