clang-format -i
This commit is contained in:
@@ -122,6 +122,4 @@ int paracomm_send(uint8_t b) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8_t paracomm_busy() {
|
uint8_t paracomm_busy() { return mosi_state != 0 || miso_state != 0; }
|
||||||
return mosi_state != 0 || miso_state != 0;
|
|
||||||
}
|
|
||||||
|
@@ -84,14 +84,13 @@ uint8_t pararecv(uint8_t* buf, uint8_t size) {
|
|||||||
}
|
}
|
||||||
memcpy(buf, parabuf, size);
|
memcpy(buf, parabuf, size);
|
||||||
if (size < parasize) {
|
if (size < parasize) {
|
||||||
memcpy(parabuf, parabuf+size, parasize - size);
|
memcpy(parabuf, parabuf + size, parasize - size);
|
||||||
}
|
}
|
||||||
parasize -= size;
|
parasize -= size;
|
||||||
|
|
||||||
return size;
|
return size;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
dosdbt();
|
dosdbt();
|
||||||
parasize = 0;
|
parasize = 0;
|
||||||
|
@@ -179,16 +179,15 @@ void tofatname(const char* name, char* fatname) {
|
|||||||
|
|
||||||
uint16_t __readfile__(const char* name, uint16_t addr) {
|
uint16_t __readfile__(const char* name, uint16_t addr) {
|
||||||
register uint16_t ret asm("ax");
|
register uint16_t ret asm("ax");
|
||||||
asm volatile(
|
asm volatile("push %2 \n\t"
|
||||||
"push %2 \n\t"
|
"push %1 \n\t"
|
||||||
"push %1 \n\t"
|
"mov $04, %%ah \n\t"
|
||||||
"mov $04, %%ah \n\t"
|
"int $0x80 \n\t"
|
||||||
"int $0x80 \n\t"
|
"pop %%cx \n\t"
|
||||||
"pop %%cx \n\t"
|
"pop %%cx \n\t"
|
||||||
"pop %%cx \n\t"
|
: "=r"(ret)
|
||||||
: "=r"(ret)
|
: "r"(name), "r"(addr)
|
||||||
: "r"(name), "r"(addr)
|
: "bx", "cx", "dx", "memory", "cc");
|
||||||
: "bx", "cx", "dx", "memory", "cc");
|
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@@ -203,7 +202,7 @@ uint16_t LaunchFile(const char* name, uint8_t argc, uint16_t* argv) {
|
|||||||
// call 0x100
|
// call 0x100
|
||||||
// retf
|
// retf
|
||||||
// XXX: if you change kAddress, the trampoline needs to be updated
|
// XXX: if you change kAddress, the trampoline needs to be updated
|
||||||
constexpr uint8_t kTrampoline[] = { 0xe8, 0xfd, 0x00, 0xcb };
|
constexpr uint8_t kTrampoline[] = {0xe8, 0xfd, 0x00, 0xcb};
|
||||||
|
|
||||||
char fatname[11];
|
char fatname[11];
|
||||||
tofatname(name, fatname);
|
tofatname(name, fatname);
|
||||||
@@ -220,8 +219,7 @@ uint16_t LaunchFile(const char* name, uint8_t argc, uint16_t* argv) {
|
|||||||
|
|
||||||
register uint16_t ac asm("ax") = argc;
|
register uint16_t ac asm("ax") = argc;
|
||||||
register uint16_t av asm("dx") = kArgvAddress;
|
register uint16_t av asm("dx") = kArgvAddress;
|
||||||
asm volatile(
|
asm volatile("mov %2, %%cx \n\t"
|
||||||
"mov %2, %%cx \n\t"
|
|
||||||
"mov %%cx, %%ds \n\t"
|
"mov %%cx, %%ds \n\t"
|
||||||
"mov %%cx, %%es \n\t"
|
"mov %%cx, %%es \n\t"
|
||||||
"cli \n\t"
|
"cli \n\t"
|
||||||
@@ -238,7 +236,7 @@ uint16_t LaunchFile(const char* name, uint8_t argc, uint16_t* argv) {
|
|||||||
"pop %%sp \n\t"
|
"pop %%sp \n\t"
|
||||||
"mov %%cx, %%ss \n\t"
|
"mov %%cx, %%ss \n\t"
|
||||||
"sti"
|
"sti"
|
||||||
: "+r" (ac), "+r" (av)
|
: "+r"(ac), "+r"(av)
|
||||||
: "i"(kSegment), "i"(kAddress)
|
: "i"(kSegment), "i"(kAddress)
|
||||||
: "bx", "cx", "memory", "cc");
|
: "bx", "cx", "memory", "cc");
|
||||||
|
|
||||||
@@ -344,9 +342,7 @@ bool ParseCommand(const char* buf, uint16_t& cur_addr, uint16_t& cur_seg) {
|
|||||||
return dump;
|
return dump;
|
||||||
}
|
}
|
||||||
|
|
||||||
void DisplayPrompt() {
|
void DisplayPrompt() { puts("> "); }
|
||||||
puts("> ");
|
|
||||||
}
|
|
||||||
|
|
||||||
[[noreturn]]
|
[[noreturn]]
|
||||||
void polmon() {
|
void polmon() {
|
||||||
@@ -403,7 +399,4 @@ int main() {
|
|||||||
polmon();
|
polmon();
|
||||||
}
|
}
|
||||||
|
|
||||||
__attribute__((section(".init"), used))
|
__attribute__((section(".init"), used)) void _start() { main(); }
|
||||||
void _start() {
|
|
||||||
main();
|
|
||||||
}
|
|
||||||
|
Reference in New Issue
Block a user