OSDN Git Service

[VM][FMTOWNS][CDROM] Remove unused lines.
authorK.Ohta <whatisthis.sowhat@gmail.com>
Sun, 26 Apr 2020 10:57:14 +0000 (19:57 +0900)
committerK.Ohta <whatisthis.sowhat@gmail.com>
Sun, 26 Apr 2020 10:57:14 +0000 (19:57 +0900)
source/src/vm/fmtowns/fmtowns.cpp
source/src/vm/fmtowns/towns_cdrom.cpp
source/src/vm/fmtowns/towns_cdrom.h

index b00bcb4..052d453 100644 (file)
@@ -308,8 +308,6 @@ VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
        dma->set_context_ch0(fdc);
        dma->set_context_ch1(scsi_host);
        //dma->set_context_ch2(printer);
-       //dma->set_context_ch3(cdc);
-//     dma->set_context_ch3(cdc_scsi);
        dma->set_context_ch3(cdrom);
        dma->set_context_ube1(scsi_host, SIG_SCSI_16BIT_BUS, 0x02);
 
@@ -352,19 +350,6 @@ VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
        memory->set_context_sprite(sprite);
        memory->set_context_pcm(rf5c68);
        
-//     cdrom->scsi_id = 0;
-//     cdrom->set_context_interface(cdc_scsi);
-       //cdrom->set_context_completed(cdc, SIG_TOWNS_CDC_TRANSFER_COMPLETE, 0xffffffff);
-       //cdrom->set_context_next_sector(cdc, SIG_TOWNS_CDC_NEXT_SECTOR, 0xffffffff);
-       //cdrom->set_context_done(cdc, SIG_TOWNS_CDC_TRANSFER_COMPLETE, 1);
-       
-//     cdc->set_context_scsi_host(cdc_scsi);
-//     cdc_scsi->set_context_target(cdrom);
-       
-//     cdc->set_context_cdrom(cdrom);
-//     cdc->set_context_dmac(dma);
-//     cdc_scsi->set_device_name(_T("CDROM controller's PSEUDO SCSI"));
-       
        adpcm->set_context_opn2(opn2);
        adpcm->set_context_rf5c68(rf5c68);
        adpcm->set_context_adc(adc);
@@ -414,7 +399,6 @@ VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
        // IRQ13 : ADPCM AND OPN2 (Route to adpcm.cpp)
        // IRQ14 : EXTRA I/O (Maybe not implement)
        // IRQ15 : RESERVED.
-       //cdrom->set_context_dmaint_line(pic, SIG_I8259_CHIP1 | SIG_I8259_IR1, 0xffffffff);
        cdrom->set_context_mpuint_line(pic, SIG_I8259_CHIP1 | SIG_I8259_IR1, 0xffffffff);
        crtc->set_context_vsync(pic, SIG_I8259_CHIP1 | SIG_I8259_IR3, 0xffffffff);
        adpcm->set_context_intr_line(pic, SIG_I8259_CHIP1 | SIG_I8259_IR5, 0xffffffff);
index 0e4deee..de261c1 100644 (file)
@@ -527,8 +527,6 @@ void TOWNS_CDROM::reset()
        is_playing = false;
        read_sectors = 0;
        write_signals(&outputs_drq, 0);
-       write_signals(&outputs_next_sector, 0);
-       write_signals(&outputs_done, 0);
        mcu_intr = false;
        dma_intr = false;
        stat_reply_intr = false;
@@ -631,6 +629,7 @@ void TOWNS_CDROM::execute_command(uint8_t command)
        if(!(mounted()))  {
                out_debug_log(_T("CMD (%02X) BUT DISC NOT ACTIVE"), command);
                set_status(command, req_status, 0, 0x10, 0, 0, 0);
+               mcu_ready = true;
                set_mcu_intr(true);
                return;
        }
@@ -658,6 +657,7 @@ void TOWNS_CDROM::execute_command(uint8_t command)
        case CDROM_COMMAND_01:
                out_debug_log(_T("CMD UNKNOWN 01(%02X)"), command);
                set_status(command, req_status, 0, 0, 0xff, 0xff, 0xff);
+               mcu_ready = true;
                set_mcu_intr(true);
                break;
        case CDROM_COMMAND_READ_MODE1:
@@ -676,17 +676,20 @@ void TOWNS_CDROM::execute_command(uint8_t command)
                } else {
                        set_status(command, true, 2, 0x16, 0, 0xa0, 0);
                }
+               mcu_ready = true;
                set_mcu_intr(true);
                // TOC READING
                break;
        case CDROM_COMMAND_READ_CDDA_STATE:
                out_debug_log(_T("CMD SET CDDA STATE(%02X)"), command);
                set_status(command, req_status, 1,  0, 0, 0, 0);
+               mcu_ready = true;
                set_mcu_intr(true);
                break;
        case CDROM_COMMAND_1F:
                out_debug_log(_T("CMD UNKNOWN 1F(%02X)"), command);
                set_status(command, req_status, 0,  0x10, 0, 0, 0);
+               mcu_ready = true;
                set_mcu_intr(true);
                break;
        case CDROM_COMMAND_SET_STATE:
@@ -696,28 +699,37 @@ void TOWNS_CDROM::execute_command(uint8_t command)
                } else {
                        set_status(command, req_status, 0, 0, 1, 0, 0);
                }
+               mcu_ready = true;
                set_mcu_intr(true);
                break;
        case CDROM_COMMAND_SET_CDDASET:
                out_debug_log(_T("CMD CDDA SET(%02X)"), command);
                set_status(command, req_status, 0, 0, 0, 0, 0);
+               mcu_ready = true;
                set_mcu_intr(true);
                break;
        case CDROM_COMMAND_STOP_CDDA:
                out_debug_log(_T("CMD STOP CDDA(%02X)"), command);
                stop_cdda_from_cmd();
+               mcu_ready = true;
+               set_mcu_intr(true);
                break;
        case CDROM_COMMAND_STOP_CDDA2:
                out_debug_log(_T("CMD PLAY CDDA2(%02X)"), command);
                stop_cdda2_from_cmd(); // ToDo : Re-Implement.
+               mcu_ready = true;
+               set_mcu_intr(true);
                break;
        case CDROM_COMMAND_RESUME_CDDA:
                out_debug_log(_T("CMD RESUME CDDA(%02X)"), command);
                unpause_cdda_from_cmd();
+               mcu_ready = true;
+               set_mcu_intr(true);
                break;
        default:
                out_debug_log(_T("CMD Illegal(%02X)"), command);
                set_status(command, true, 0, 0x10, 0x00, 0x00, 0x00);
+               mcu_ready = true;
                set_mcu_intr(true);
                break;
        }
@@ -956,14 +968,14 @@ void TOWNS_CDROM::set_status(uint8_t cmd, bool req_status, int extra, uint8_t s0
        if(extra > 0) extra_status = extra;
        if(req_status) {
                has_status = true;
-               mcu_ready = true;
+//             mcu_ready = true;
                status_queue->write(s0);
                status_queue->write(s1);
                status_queue->write(s2);
                status_queue->write(s3);
                out_debug_log(_T("SET STATUS %02x: %02x %02x %02x %02x EXTRA=%d"), cmd, s0, s1, s2, s3, extra_status);
        } else {
-               mcu_ready = true;
+//             mcu_ready = true;
        }
 }
 
@@ -1151,11 +1163,11 @@ void TOWNS_CDROM::event_callback(int event_id, int err)
 {
        switch (event_id) {
        case EVENT_CDROM_DELAY_INTERRUPT_ON:
-               write_signals(&outputs_done, 0xffffffff);
+               write_signals(&outputs_mcuint, 0xffffffff);
                event_delay_interrupt = -1;
                break;
        case EVENT_CDROM_DELAY_INTERRUPT_OFF:
-               write_signals(&outputs_done, 0x00000000);
+               write_signals(&outputs_mcuint, 0x00000000);
                event_delay_interrupt = -1;
                break;
        case EVENT_CDDA_DELAY_PLAY:
@@ -1170,7 +1182,7 @@ void TOWNS_CDROM::event_callback(int event_id, int err)
                break;
        case EVENT_CDDA_DELAY_STOP:
                if(cdda_interrupt) {
-                       write_signals(&outputs_done, 0xffffffff);
+                       write_signals(&outputs_mcuint, 0xffffffff);
                }
                set_cdda_status(CDDA_OFF);
                event_cdda_delay_play = -1;
@@ -1180,6 +1192,7 @@ void TOWNS_CDROM::event_callback(int event_id, int err)
                        bool req_status = ((w_regs[0x02] & 0x20) != 0) ? true : false;
                        event_seek = -1;
                        set_status(w_regs[0x02], req_status, 1, 0, 0, 0, 0);
+                       mcu_ready = true;
                        set_mcu_intr(true);
                }
                break;
@@ -1195,7 +1208,6 @@ void TOWNS_CDROM::event_callback(int event_id, int err)
        case EVENT_CDROM_NEXT_SECTOR:
                event_next_sector = -1;
 //             set_dma_intr(true);
-//             write_signals(&outputs_next_sector, 0xffffffff);
                register_event(this, EVENT_CDROM_SEEK_COMPLETED,
                                           (1.0e6 / ((double)transfer_speed * 150.0e3)) * 0.5, // OK?
                                           false, NULL);
@@ -1213,6 +1225,7 @@ void TOWNS_CDROM::event_callback(int event_id, int err)
                                                           false, NULL);
                        } else {
                                out_debug_log(_T("EOT"));
+                               mcu_ready = true;
                                set_status(CDROM_COMMAND_READ_MODE1, true, 0, 0x06, 0x00, 0x00, 0x00);
                                dma_transfer_phase = false;
                                pio_transfer_phase = false;
@@ -1396,7 +1409,7 @@ void TOWNS_CDROM::set_cdda_status(uint8_t status)
                }
                if(cdda_status != CDDA_PLAYING) {
                        //// Notify to release bus.
-                       write_signals(&outputs_done, 0x00000000);
+                       write_signals(&outputs_mcuint, 0x00000000);
                        if(cdda_status == CDDA_OFF) {
                                //get_track_by_track_num(current_track); // Re-Play
                                //memset(cdda_buffer, 0x00, sizeof(cdda_buffer));
@@ -1420,7 +1433,7 @@ void TOWNS_CDROM::set_cdda_status(uint8_t status)
                }
                if(cdda_status == CDDA_PLAYING) {
                        // Notify to release bus.
-                       write_signals(&outputs_done, 0x00000000);
+                       write_signals(&outputs_mcuint, 0x00000000);
                        //if(event_delay_interrupt >= 0) cancel_event(this, event_delay_interrupt);
                        //register_event(this, EVENT_CDROM_DELAY_INTERRUPT_OFF, 1.0e6 / (44100.0 * 2352), false, &event_delay_interrupt);
                        if(status == CDDA_OFF) {
index e437362..c682568 100644 (file)
@@ -63,8 +63,6 @@ namespace FMTOWNS {
 class TOWNS_CDROM: public DEVICE {
 protected:
        outputs_t outputs_drq;
-       outputs_t outputs_next_sector;
-       outputs_t outputs_done;
        outputs_t outputs_mcuint;
 
        FILEIO* fio_img;
@@ -199,8 +197,6 @@ public:
                memset(subq_buffer, 0x00, sizeof(subq_buffer));
                
                initialize_output_signals(&outputs_drq);
-               initialize_output_signals(&outputs_next_sector);
-               initialize_output_signals(&outputs_done);
                initialize_output_signals(&outputs_mcuint);
                
                set_device_name(_T("FM-Towns CD-ROM drive"));
@@ -252,14 +248,6 @@ public:
                read_mode = is_mode2;
        }
 
-       void set_context_done_line(DEVICE* dev, int id, uint32_t mask)
-       {
-               register_output_signal(&outputs_done, dev, id, mask);
-       }
-       void set_context_next_sector_line(DEVICE* dev, int id, uint32_t mask)
-       {
-               register_output_signal(&outputs_next_sector, dev, id, mask);
-       }
        void set_context_mpuint_line(DEVICE* dev, int id, uint32_t mask)
        {
                register_output_signal(&outputs_mcuint, dev, id, mask);