|
|
| version 1.1.1.1, 2003/10/16 17:58:19 | version 1.3, 2003/10/21 11:22:05 |
|---|---|
| Line 6 | Line 6 |
| #include "iocore.h" | #include "iocore.h" |
| #include "bios.h" | #include "bios.h" |
| #include "biosmem.h" | #include "biosmem.h" |
| #include "keytable.res" | |
| #include "itfrom.res" | |
| #include "lio.h" | #include "lio.h" |
| #include "fdfmt.h" | |
| #include "fddfile.h" | #include "fddfile.h" |
| #include "fdd_mtr.h" | #include "fdd_mtr.h" |
| #include "fdfmt.h" | |
| #include "keytable.res" | |
| #include "itfrom.res" | |
| BOOL biosrom = FALSE; | BOOL biosrom = FALSE; |
| Line 246 UINT MEMCALL biosfunc(UINT32 adrs) { | Line 246 UINT MEMCALL biosfunc(UINT32 adrs) { |
| if ((itf.bank) && (adrs >= 0xf8000) && (adrs < 0x100000)) { | if ((itf.bank) && (adrs >= 0xf8000) && (adrs < 0x100000)) { |
| I286_IP--; | I286_IP--; |
| nevent.remainclock = -1; | I286_REMCLOCK = -1; |
| return(1); | return(1); |
| } | } |
| switch(adrs) { // ver0.30 | switch(adrs) { // ver0.30 |
| case BIOS_BASE + BIOSOFST_EOIM: | case BIOS_BASE + BIOSOFST_EOIM: |
| nevent.remainclock -= 300; | I286_REMCLOCK -= 300; |
| iocore_out8(0x00, 0x20); | iocore_out8(0x00, 0x20); |
| return(0); | return(0); |
| Line 264 UINT MEMCALL biosfunc(UINT32 adrs) { | Line 264 UINT MEMCALL biosfunc(UINT32 adrs) { |
| return(0); | return(0); |
| case BIOS_BASE + BIOSOFST_02: | case BIOS_BASE + BIOSOFST_02: |
| nevent.remainclock -= 300; | I286_REMCLOCK -= 300; |
| bios0x02(); | bios0x02(); |
| return(1); | return(1); |
| case BIOS_BASE + BIOSOFST_08: | case BIOS_BASE + BIOSOFST_08: |
| nevent.remainclock -= 300; | I286_REMCLOCK -= 300; |
| bios0x08(); | bios0x08(); |
| return(1); | return(1); |
| case BIOS_BASE + BIOSOFST_09: | case BIOS_BASE + BIOSOFST_09: |
| nevent.remainclock -= 300; | I286_REMCLOCK -= 300; |
| bios0x09(); | bios0x09(); |
| return(1); | return(1); |
| case BIOS_BASE + BIOSOFST_0c: | case BIOS_BASE + BIOSOFST_0c: |
| nevent.remainclock -= 500; | I286_REMCLOCK -= 500; |
| bios0x0c(); | bios0x0c(); |
| return(1); | return(1); |
| case BIOS_BASE + BIOSOFST_12: | case BIOS_BASE + BIOSOFST_12: |
| nevent.remainclock -= 500; | I286_REMCLOCK -= 500; |
| bios0x12(); | bios0x12(); |
| return(1); | return(1); |
| case BIOS_BASE + BIOSOFST_13: | case BIOS_BASE + BIOSOFST_13: |
| nevent.remainclock -= 500; | I286_REMCLOCK -= 500; |
| bios0x13(); | bios0x13(); |
| return(1); | return(1); |
| case BIOS_BASE + BIOSOFST_18: | case BIOS_BASE + BIOSOFST_18: |
| nevent.remainclock -= 200; | I286_REMCLOCK -= 200; |
| bios0x18(); | bios0x18(); |
| return(1); | return(1); |
| case BIOS_BASE + BIOSOFST_19: | case BIOS_BASE + BIOSOFST_19: |
| nevent.remainclock -= 200; | I286_REMCLOCK -= 200; |
| bios0x19(); | bios0x19(); |
| return(1); | return(1); |
| case BIOS_BASE + BIOSOFST_1a: | case BIOS_BASE + BIOSOFST_1a: |
| nevent.remainclock -= 200; | I286_REMCLOCK -= 200; |
| bios0x1a(); | bios0x1a(); |
| return(1); | return(1); |
| case BIOS_BASE + BIOSOFST_1b: | case BIOS_BASE + BIOSOFST_1b: |
| nevent.remainclock -= 200; | I286_REMCLOCK -= 200; |
| bios0x1b(); | bios0x1b(); |
| return(1); | return(1); |
| case BIOS_BASE + BIOSOFST_1c: | case BIOS_BASE + BIOSOFST_1c: |
| nevent.remainclock -= 200; | I286_REMCLOCK -= 200; |
| bios0x1c(); | bios0x1c(); |
| return(1); | return(1); |
| Line 322 UINT MEMCALL biosfunc(UINT32 adrs) { | Line 322 UINT MEMCALL biosfunc(UINT32 adrs) { |
| I286_STI; | I286_STI; |
| if (fddmtr_biosbusy) { // ver0.26 | if (fddmtr_biosbusy) { // ver0.26 |
| I286_IP--; | I286_IP--; |
| nevent.remainclock = -1; | I286_REMCLOCK = -1; |
| } | } |
| else { | else { |
| switch(CTRL_FDMEDIA) { | switch(CTRL_FDMEDIA) { |
| case DISKTYPE_2HD: | case DISKTYPE_2HD: |
| if (pic.pi[1].isr & PIC_INT42) { | if (pic.pi[1].isr & PIC_INT42) { |
| I286_IP--; | I286_IP--; |
| nevent.remainclock -= 1000; | I286_REMCLOCK -= 1000; |
| } | } |
| break; | break; |
| case DISKTYPE_2DD: | case DISKTYPE_2DD: |
| if (pic.pi[1].isr & PIC_INT41) { | if (pic.pi[1].isr & PIC_INT41) { |
| I286_IP--; | I286_IP--; |
| nevent.remainclock -= 1000; | I286_REMCLOCK -= 1000; |
| } | } |
| break; | break; |
| } | } |
| Line 363 UINT MEMCALL biosfunc(UINT32 adrs) { | Line 363 UINT MEMCALL biosfunc(UINT32 adrs) { |
| return(1); | return(1); |
| case 0xfffe8: // ブートストラップロード | case 0xfffe8: // ブートストラップロード |
| nevent.remainclock -= 2000; | I286_REMCLOCK -= 2000; |
| bootseg = bootstrapload(); | bootseg = bootstrapload(); |
| if (bootseg) { | if (bootseg) { |
| I286_STI; | I286_STI; |
| Line 376 UINT MEMCALL biosfunc(UINT32 adrs) { | Line 376 UINT MEMCALL biosfunc(UINT32 adrs) { |
| return(0); | return(0); |
| case 0xfffec: | case 0xfffec: |
| nevent.remainclock -= 2000; | I286_REMCLOCK -= 2000; |
| bootstrapload(); | bootstrapload(); |
| return(0); | return(0); |
| } | } |
| Line 392 UINT MEMCALL biosfunc(UINT32 adrs) { | Line 392 UINT MEMCALL biosfunc(UINT32 adrs) { |
| return(0); | return(0); |
| } | } |
| I286_IP--; | I286_IP--; |
| nevent.remainclock = -1; | I286_REMCLOCK = -1; |
| return(1); | return(1); |
| } | } |