fork of PCE focusing on macplus, supporting DaynaPort SCSI network emulation
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

dos: Add a stub for int 0x21 function 0x63

+33 -3
+33 -3
src/arch/dos/int21.c
··· 5 5 /***************************************************************************** 6 6 * File name: src/arch/dos/int21.c * 7 7 * Created: 2012-12-30 by Hampa Hug <hampa@hampa.ch> * 8 - * Copyright: (C) 2012-2019 Hampa Hug <hampa@hampa.ch> * 8 + * Copyright: (C) 2012-2025 Hampa Hug <hampa@hampa.ch> * 9 9 *****************************************************************************/ 10 10 11 11 /***************************************************************************** ··· 15 15 * * 16 16 * This program is distributed in the hope that it will be useful, but * 17 17 * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 18 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 19 * Public License for more details. * 20 20 *****************************************************************************/ 21 21 ··· 1518 1518 return (0); 1519 1519 } 1520 1520 1521 + /* 1522 + * 6300: Get double byte character set lead-byte table 1523 + */ 1524 + static 1525 + int int21_fct_6300 (dos_t *sim) 1526 + { 1527 + e86_set_ds (&sim->cpu, 0); 1528 + e86_set_si (&sim->cpu, 0); 1529 + 1530 + int21_ret (sim, 1, 0x00ff); 1531 + 1532 + return (0); 1533 + } 1534 + 1535 + /* 1536 + * 63: 1537 + */ 1538 + static 1539 + int int21_fct_63 (dos_t *sim) 1540 + { 1541 + switch (e86_get_al (&sim->cpu)) { 1542 + case 0: 1543 + return (int21_fct_6300 (sim)); 1544 + } 1545 + 1546 + return (int21_ret (sim, 1, 0x0001)); 1547 + } 1548 + 1521 1549 int sim_int21 (dos_t *sim) 1522 1550 { 1523 1551 switch (e86_get_ah (&sim->cpu)) { ··· 1659 1687 case 0x5b: 1660 1688 return (int21_fct_5b (sim)); 1661 1689 1690 + case 0x63: 1691 + return (int21_fct_63 (sim)); 1692 + 1662 1693 case 0x59: 1663 1694 case 0x5a: 1664 1695 case 0x60: 1665 - case 0x63: 1666 1696 case 0xe3: 1667 1697 return (int21_ret (sim, 1, 0x0001)); 1668 1698 }