OSDN Git Service
K.Ohta [Sat, 15 Jul 2023 10:50:05 +0000 (19:50 +0900)]
[VM][FMTOWNS][CRTC] More accuracy frame transfer.Fix text issues of A4(Ayayo 4).
- Fix around address offset by layer.
- For layer 0, address offset is decided by FMR's address offset
register.
- For layer 1, address offset is decided by SPRITE.
- These effect to ALL display MODE.
- This is referred by Tsugaru, commit
1a442831.Thanks to
YAMAKAWA-SAN.
- Render before frame until the end of this frame.
K.Ohta [Thu, 13 Jul 2023 13:07:14 +0000 (22:07 +0900)]
[VM][FMTOWNS][DMAC][WIP] Fix around address and counter registers.
- This related to Tsugaru.
K.Ohta [Thu, 13 Jul 2023 13:04:27 +0000 (22:04 +0900)]
[VM][FMTOWNS][VRAM] Fix access around 0x801xxxxx related to Tsugaru, Thanks!
- [VM][FMTOWNS][CRTC] Apply around this changes.
- [VM][FMTOWNS][PLANEVRAM] Apply around this changes.
K.Ohta [Mon, 10 Jul 2023 07:12:47 +0000 (16:12 +0900)]
[VM][FMTOWNS][CDROM] execute_command(): Remove reduntant sequence.
K.Ohta [Mon, 10 Jul 2023 05:53:43 +0000 (14:53 +0900)]
[VM][FMTOWNS][CDROM] Use shadow parameter queue to queue next command.
K.Ohta [Sun, 9 Jul 2023 18:46:27 +0000 (03:46 +0900)]
[VM][FMTOWNS][CDROM] Make reading sequence relate to TSUGARU.
- Make interrupt only to PIC.
- Set timeout to 100mSec from 1Sec.
- Notify status_data_ready() immediately.
- Move reading next sector at epilogue of transfer (Will make be better) .
- Reset dma_transfer and pio_transfer at epilogue() .
- Call eplogue when reading with empty data queue.
- Adjust timing to notyfy status_data_ready() .
K.Ohta [Wed, 28 Jun 2023 19:25:27 +0000 (04:25 +0900)]
[VM][FMTOWNS][CDROM] Remove has_status, replace of !(status_queue->empty()).
[VM][FMTOWNS][CDROM] CDDA: More accurate repeating timing.
K.Ohta [Wed, 28 Jun 2023 19:24:08 +0000 (04:24 +0900)]
[VM][FMTOWNS][TOWNS_DMAC] Disable to verbose debug messages.
K.Ohta [Wed, 28 Jun 2023 08:28:54 +0000 (17:28 +0900)]
[VM][FMTOWNS][CDROM] Housekeeping around resetting.
K.Ohta [Wed, 28 Jun 2023 05:41:59 +0000 (14:41 +0900)]
[VM][FMTOWNS][CDROM] Re-Add retry sequence when not enough to read from MEDIA.
K.Ohta [Wed, 28 Jun 2023 05:41:03 +0000 (14:41 +0900)]
[COMMON][FIFO_BASE] Fix FIFO_BASE::UNLOCKED_FIFO::left() .
K.Ohta [Wed, 28 Jun 2023 05:40:39 +0000 (14:40 +0900)]
[COMMON][FIFO] Fix bug of FIFO::left() .
K.Ohta [Wed, 28 Jun 2023 05:02:09 +0000 (14:02 +0900)]
[VM][FMTOWNS][CDROM] Available to execute FRACTAL ENGINE DEMO again :-)
K.Ohta [Thu, 22 Jun 2023 16:23:01 +0000 (01:23 +0900)]
[VM][FMTOWNS][CDROM][WIP] Change around transfer sequences.
K.Ohta [Thu, 22 Jun 2023 16:21:56 +0000 (01:21 +0900)]
[VM][FMTOWNS][DMAC] Works mostly, excepts CD-ROM with TOWNS OS 1.x.
K.Ohta [Sat, 17 Jun 2023 18:16:06 +0000 (03:16 +0900)]
[VM][FMTOWNS][DMAC][WIP][DONOTBUILD] Update around TC.
- Still implement imcompleted, DO NOT BUUILD.
- This also includes updates around read/write memory.
K.Ohta [Sat, 17 Jun 2023 18:15:15 +0000 (03:15 +0900)]
[VM][UPD71071] Update internal API for inc/dec memory address.
K.Ohta [Sat, 17 Jun 2023 05:05:42 +0000 (14:05 +0900)]
[VM][FMTOWNS][DMAC] Bit 5 of dma[selch].mode; ADIR don't effects at TOWNS.
- Thanks to YAMAKAWA(CaptainYS)-San.
- This is related to TSUGARU, commit
e5920fdc1ba89ba10172f0954ecf1107bb592919.
> Author: CaptainYS <PEB01130@nifty.com>
> AuthorDate: Sat Feb 29 23:43:52 2020 -0500
> Commit: CaptainYS <PEB01130@nifty.com>
> CommitDate: Sat Feb 29 23:43:52 2020 -0500
>
> Better DMA and CDROM emulation. Still MSCDEX takes extremely
> long time to read CD-ROM.
>
> Parent:
9390f5be
> Found Device-DMACh correspondence in [2] pp. 56.
> Still trying to find the correct sequence of CD-ROM
> drive data transfer. Unit test still temporarily broken.
K.Ohta [Tue, 30 May 2023 18:47:01 +0000 (03:47 +0900)]
[VM][FMTOWNS][CDROM][WIP] Adjusting CDC sequences.Only bootable with Towns OS v2.x.
- Re-Enable has_status variable.
- Set DMA clock to 8MHz.This is experimental.
- Move EOT handler to SIG_TOWNS_DMA_INT (= When DMAC asserts TC).
- Changing around CDDA status.Still WORK-IN-PROGRESS.
- Porting from MAME 0.254.
- Change lba calculating.
- Change repling timing at PLAY CDDA command.
- Now fixing around SEEK (00h) command, something wrong.
- Not bootable Towns OS 1.1Lxx .
K.Ohta [Tue, 30 May 2023 18:46:36 +0000 (03:46 +0900)]
[VM][FMTOWNS][DMAC] Change address handling.
K.Ohta [Tue, 30 May 2023 08:00:21 +0000 (17:00 +0900)]
[General][EMACS] modify .dir-locals.el .
K.Ohta [Tue, 30 May 2023 07:59:59 +0000 (16:59 +0900)]
[VM][FMTOWNS][AD7820KR] .
K.Ohta [Tue, 30 May 2023 07:58:58 +0000 (16:58 +0900)]
[VM][FMTOWNS][CDROM] Change setting condition of reading 04C0h : bit1 .
K.Ohta [Wed, 24 May 2023 17:19:13 +0000 (02:19 +0900)]
[VM][FMTOWNS][CDROM] Adjust around reply status when loading.
K.Ohta [Wed, 24 May 2023 12:49:32 +0000 (21:49 +0900)]
[VM][FMTOWNS][CDROM] Re-available to read from CD-ROM.
K.Ohta [Sun, 21 May 2023 08:18:11 +0000 (17:18 +0900)]
[VM][FMTOWNS][CDROM] Adjust bus sequence, this still don't boot from CD-ROM.
K.Ohta [Sun, 21 May 2023 08:16:14 +0000 (17:16 +0900)]
[VM][FMTOWNS][DMAC] Drive via timer.This make working without SINGLE_MODE_DMA .
K.Ohta [Fri, 19 May 2023 15:56:17 +0000 (00:56 +0900)]
[VM][FMTOWNS] Adjust DMA signals.
K.Ohta [Fri, 19 May 2023 15:55:37 +0000 (00:55 +0900)]
[VM][FMTOWNS][SCSI] Fix around DRQ.
K.Ohta [Fri, 19 May 2023 15:52:40 +0000 (00:52 +0900)]
[VM][FMTOWNS][CDROM] Change around DRQ and EOT.
- Make DRQ falling down per reading.
- Call DRQ per 0.25 uSec.
- Separate internal end-of-transfer and request from DMA TC3 line.
K.Ohta [Fri, 19 May 2023 15:49:55 +0000 (00:49 +0900)]
[VM][FMTOWNS][DMAC] Re-Split TC line to TCx, per channel.
- Change asserting TCx conditions per mode.
- Still be something wrong :-(
K.Ohta [Wed, 17 May 2023 16:49:02 +0000 (01:49 +0900)]
[VM][FMTOWNS][WIP] Adjust bus setting around SCSI and DMA.
- Still ready for only setting with USE_SINGLE_DMA, not ready for not setting.
- Still not booting from SCSI HDD.
- Maybe something wrong yet.
K.Ohta [Wed, 17 May 2023 16:48:07 +0000 (01:48 +0900)]
[VM][FMTOWNS][SCSI] TRY: Move timing of setting interrupt status to backup.
K.Ohta [Wed, 17 May 2023 16:43:49 +0000 (01:43 +0900)]
[VM][FMTOWNS][CDROM] Return specified status when using A0h command previous.
- Reply some special status when accept next command.
- Add EOT line to abort/end DMA transfer (to DMAC:ENDx line).
- Re-enable DRQ/ACK model.
- Still ready for only setting with USE_SINGLE_DMA, not ready for not setting.
K.Ohta [Wed, 17 May 2023 16:30:17 +0000 (01:30 +0900)]
[VM][FMTOWNS][DMAC] Re-add ACKx lines.
- TRY: Merge a before commit of UPD71071::, make TC line to one line.
- Split some DMA sequence blocks to functions.
- Now, de-active ACKx when starting dma transfer, activate when
complete to transfer.
- Integrate end_state[] to is_start[] .
- TC : change making condition per mode:
0x00 (DEMAND):
- END_REQ[c] asserted.
- COUNT DOWN REACHED.
- DMA REQ MADE INACTIVE.
0x40 (SINGLE):
- COUNT DOWN REACHED.
0x80 (BLOCK):
- END_REQ[c] asserted.
- COUNT DOWN REACHED.
- TC is only for trigger, never reset.
- write_signal() : Add SIG_TOWNS_DMAC_EOT_CHx for aborting transfer
from TARGET device.
- write_signal() : Still add SIG_TOWNS_DMAC_WRAP for changing behavior
of DMA both basic TOWNS and after MX/MX/ME.
K.Ohta [Wed, 17 May 2023 16:29:34 +0000 (01:29 +0900)]
[VM][UPD71071] Revert changes around TC line; Sync to upstream.
K.Ohta [Tue, 16 May 2023 09:57:34 +0000 (18:57 +0900)]
[VM][FMTOWNS][DMAC] .
K.Ohta [Tue, 16 May 2023 09:18:42 +0000 (18:18 +0900)]
[VM][FMTOWNS][DMAC][WIP] Improving around terminal of transfer.
- This is implementing refer to JAPANESE DATASHEET of uPD71071, NEC.
K.Ohta [Wed, 10 May 2023 12:55:53 +0000 (21:55 +0900)]
[VM][FMTOWNS][DMAC] TRY: Reduce usage of HOST CPU time.
- Add prescale counter to do_dma().
K.Ohta [Wed, 10 May 2023 11:49:45 +0000 (20:49 +0900)]
[VM][FMTOWNS][SCSI] Implement extended control flags for after FM-Towns2 UX.
K.Ohta [Wed, 10 May 2023 11:49:22 +0000 (20:49 +0900)]
[VM][FMTOWNS] Adjust around DMAC and SCSI.
K.Ohta [Wed, 10 May 2023 11:48:10 +0000 (20:48 +0900)]
[VM][FMTOWNS][DMAC] Prepare to use endreq.This needs to build without SINGLE_MODE_DMA .
K.Ohta [Wed, 10 May 2023 11:47:42 +0000 (20:47 +0900)]
[VM][FMTOWNS][CDROM] Disable logging.
K.Ohta [Wed, 10 May 2023 11:47:21 +0000 (20:47 +0900)]
[VM][FMTOWNS][TOWNS_SCSI_HOST] .
K.Ohta [Wed, 10 May 2023 11:44:42 +0000 (20:44 +0900)]
[VM][FMTOWNS][SCSI] Boot from SCSI HDD.
- Set SCSI_DEV_IMMEDIATE_SELECT .
[VM][FMTOWNS][FLOPPY] WAITING via SEEK sequence.
- MB8877_NO_BUSY_AFTER_SEEK flag seems not to be needed for emulation.
[VM][FMTOWNS] Prepare to drop TOWNS_SCSI_HOST:: .
K.Ohta [Wed, 10 May 2023 08:37:47 +0000 (17:37 +0900)]
[VM][FMTOWNS][SCSI][DMAC] Partly available to use SCSI HDD, still not booting from IPL.
K.Ohta [Fri, 28 Apr 2023 20:06:39 +0000 (05:06 +0900)]
[VM][UPD71071] Fix warning.
K.Ohta [Fri, 28 Apr 2023 20:04:24 +0000 (05:04 +0900)]
[VM][FMTOWNS][CDROM] Adjust STATE flags.
K.Ohta [Fri, 28 Apr 2023 18:14:59 +0000 (03:14 +0900)]
[VM][FMTOWNS] Re-Available to start Fractal Engine DEMO ヽ(・∀・)ノ
K.Ohta [Fri, 28 Apr 2023 17:35:03 +0000 (02:35 +0900)]
[VM][FMTOWNS][DMAC] Works with CD-ROM and FDD, excepts SCSI.
K.Ohta [Fri, 28 Apr 2023 17:32:59 +0000 (02:32 +0900)]
[VM][FMTOWNS][DMAC] Adjust to upstream UPD71071:: .
- This still lacks handling of 16bit width.
- CDROM and FDD works (mostly, not with Fractal Engine DEMO),
SCSI not work yet.
Signed-off-by: K.Ohta <whatisthis.sowhat@gmail.com>
K.Ohta [Fri, 28 Apr 2023 17:32:07 +0000 (02:32 +0900)]
[VM][UPD71071] Separate for pointer add / sub , preparing for FM-TOWNS.
K.Ohta [Fri, 28 Apr 2023 16:06:35 +0000 (01:06 +0900)]
[VM][UPD71071] UPD71071:: Checkout from UPSTREAM 2022-12-05, commit
edaacb05533c13551994cb37b884ea60b1519e17 .
K.Ohta [Fri, 28 Apr 2023 16:04:06 +0000 (01:04 +0900)]
[VM][UPD71071_ART] Move Artane's UPD71071:: to UPD71071_ART:: .
- This is workaround of upd71071 variant.
K.Ohta [Wed, 26 Apr 2023 16:15:22 +0000 (01:15 +0900)]
[VM][FMTOWNS][SCSI] Adjust around DMAC.
K.Ohta [Wed, 26 Apr 2023 16:14:55 +0000 (01:14 +0900)]
[VM][FMTOWNS] Adjust around DMAC.
K.Ohta [Wed, 26 Apr 2023 16:14:17 +0000 (01:14 +0900)]
[VM][FMTOWNS][TOWNS_MEMORY] Adjust I/O sequence around TOWNS_DMAC.
K.Ohta [Wed, 26 Apr 2023 16:13:06 +0000 (01:13 +0900)]
[VM][FMTOWNS][DMAC] Adjusting around signal handling.
- This is WORK-IN-PROGRESS. Still be imcopleted.
- Remove address_mask setting, because TOWNS_DMAC has fixed address
mask, 32bit bus.
K.Ohta [Wed, 26 Apr 2023 16:11:54 +0000 (01:11 +0900)]
[VM][UPD71071][WIP] Adjusting around signal handling.
- This is WORK-IN-PROGRESS. Still be imcopleted.
K.Ohta [Sun, 9 Apr 2023 08:32:10 +0000 (17:32 +0900)]
[VM][FMTOWNS][DMAC][CDROM][SCSI] FM-Towns's DMAC don't push CPU wait.
K.Ohta [Sun, 9 Apr 2023 07:48:33 +0000 (16:48 +0900)]
[VM][FMTOWNS][CDROM] Change head seeking at reset_device() .
K.Ohta [Sun, 9 Apr 2023 07:47:36 +0000 (16:47 +0900)]
[VM][FMTOWNS][CDROM][OOPs] Remove unneeded modify when sending inturrupt to PIC.
K.Ohta [Sun, 9 Apr 2023 06:53:51 +0000 (15:53 +0900)]
[SDL][JOYSTICK] DO NOT READ/WRITE joydb.ini if not present.
- Reading corrupt joydb.ini may happen booting error at FRACTAL ENGINE
DEMO (FM-Towns) .
- Should set joystick definition by SDL_GAMECONTROLLERCONFIG
environment variable.
See: https://wiki.archlinux.org/title/Gamepad .
K.Ohta [Sun, 9 Apr 2023 06:51:13 +0000 (15:51 +0900)]
[VM][FMTOWNS][CDROM][UPD71071] Revert commits after
6e92bb1d5 .
- These are wrong solutions for not booting FRACTAL ENGINE
DEMONSTRATION CD .
- This issue has happened by around Joystick, See next commit.
K.Ohta [Sun, 9 Apr 2023 06:35:25 +0000 (15:35 +0900)]
[VM][FMTOWNS][CDROM][UPD71071] .
K.Ohta [Sat, 8 Apr 2023 14:22:39 +0000 (23:22 +0900)]
[VM][FMTOWNS][UPD71071] .
K.Ohta [Tue, 4 Apr 2023 10:00:18 +0000 (19:00 +0900)]
[VM][FMTOWNS][UPD71071] Fixing not boot from SCSI.
- But, booting from FLOPPY , then REIPL, suceed to boot from
SCSI (?_?)
- Still not starting Fractal engine demonstration CD.
K.Ohta [Tue, 4 Apr 2023 08:10:05 +0000 (17:10 +0900)]
[VM][FMTOWNS][DMAC] Work with FM-Towns.
K.Ohta [Tue, 4 Apr 2023 08:09:13 +0000 (17:09 +0900)]
[VM][FMTOWNS][CDROM][WIP] May works excepts FRACTAL ENGINE DEMO ;_;
- To be fixed.
K.Ohta [Mon, 3 Apr 2023 16:29:34 +0000 (01:29 +0900)]
[VM][FMTOWNS][FONTROM] Fix wrong address of FONT ROM accessing.
K.Ohta [Mon, 3 Apr 2023 16:28:21 +0000 (01:28 +0900)]
[VM][FMTOWNS][CDROM][WIP] Now fixing for Fractal engine DEMO.
- This seems to be wrong, yet.
- Re-available to access from 16bit DMA bus.
K.Ohta [Mon, 3 Apr 2023 16:27:49 +0000 (01:27 +0900)]
[VM][FMTOWNS][SCSI] Disable 16 bit I/O accessing functions.
K.Ohta [Mon, 3 Apr 2023 16:26:58 +0000 (01:26 +0900)]
[VM][FMTOWNS][TIMER] Improve around 1uS halt timer and Interval timer.
K.Ohta [Mon, 3 Apr 2023 16:26:27 +0000 (01:26 +0900)]
[VM][FMTOWNS][TOWNS_MEMORY] Adjust around I/O ports.
K.Ohta [Mon, 3 Apr 2023 16:25:53 +0000 (01:25 +0900)]
[VM][I386_NP21] Fix freezing when falling into BUSREQ (or HALT) state.
K.Ohta [Fri, 31 Mar 2023 13:20:06 +0000 (22:20 +0900)]
[VM][FMTOWNS] Add debugger to DMAC.
K.Ohta [Fri, 31 Mar 2023 12:06:17 +0000 (21:06 +0900)]
[VM][FMTOWNS][CDROM] Temporally disable 16bit accessing.
K.Ohta [Wed, 29 Mar 2023 17:53:06 +0000 (02:53 +0900)]
[VM][FMTOWNS][YM2612] Fix clock of OPN2 to 1999.46KHz.
Thanks to YS-11 (Yamakawa) San, the author of TSUGARU emulator.
K.Ohta [Wed, 29 Mar 2023 17:50:01 +0000 (02:50 +0900)]
[VM][FMGEN][DEBUG][OPNx] Add API: GetPrescaler() .
[VM][YM2612][FMGEN] OPN2: Available configulable prescaler.
[VM][YM2612][OPN2][DEBUGGER] REGISTER: Also display PRESCALER.
[VM][FMGEN] opna.h : Fix character encoding.
[BUILD][CMAKE] Update SOVERSIONs.
K.Ohta [Wed, 29 Mar 2023 16:20:32 +0000 (01:20 +0900)]
[VM][FMTOWNS][KEYBOARD] Fix (re-enable) resetting with pressing any key.
This implement as VM::special_reset(int num) .
See FMTOWNS::KEYBOARD::special_reset(int num) for details.
K.Ohta [Wed, 29 Mar 2023 16:18:54 +0000 (01:18 +0900)]
[VM][TOWNS][MEMORY][DICTIONARY] Fix around software reset and power-off.
[VM][TOWNS][DICTIONARY] Optimize around memory access.
[VM][TOWNS][DICTIONARY] Save CMOS correctry.
K.Ohta [Wed, 29 Mar 2023 15:22:51 +0000 (00:22 +0900)]
[VM][FMTOWNS][MEMORY][FONTROMS] Fix text font rendering fo FM-R mode.
K.Ohta [Sat, 25 Mar 2023 08:55:10 +0000 (17:55 +0900)]
[VM][FMTOWNS][WIP] Adjust I/O layout.
[VM][FMTOWNS][FONT] Add I/O entries.
[VM][FMTOWNS][SPRITE] Remove unused CRTC and FONT entries.
[VM][FMTOWNS][MEMORY][WIP] Adjusting address layout, still not TEXT
drawing correctly.
K.Ohta [Sat, 25 Mar 2023 07:15:54 +0000 (16:15 +0900)]
[VM][FMTOWNS] Make VMs working except plane VRAM accessing.
[VM][FMTOWNS][OOPS] I forgot to numbers of PIC:I8259.
[VM][FMTOWNS][OOPS] I forgot to set device_model of I8253.
K.Ohta [Sat, 25 Mar 2023 07:14:59 +0000 (16:14 +0900)]
[VM][FMTOWNS][TOWNS_DMAC] Make address mask fixed (to 32bit).
[VM][FMTOWNS][TOWNS_DMAC] Temporally disable 16bit register access.
K.Ohta [Sat, 25 Mar 2023 07:13:57 +0000 (16:13 +0900)]
[VM][FMTOWNS][CDROM] Prepare to make DMA access both 8bit / 16bit.
K.Ohta [Sat, 25 Mar 2023 07:13:33 +0000 (16:13 +0900)]
[VM][FMTOWNS][SCSI][WIP] Adjust signal handling.
K.Ohta [Sat, 25 Mar 2023 07:12:56 +0000 (16:12 +0900)]
[VM][FMTOWNS][TOWNS_MEMORY] Adjust memory map, but vram plane access still be wrong.
K.Ohta [Sat, 25 Mar 2023 07:11:47 +0000 (16:11 +0900)]
[VM][UPD71071] Fix req / sreq sequences.
[VM][UPD71071] Temporally disable read_io16() and write_io16().
K.Ohta [Sat, 25 Mar 2023 07:10:24 +0000 (16:10 +0900)]
[OSD] Remove HAS_I8254 flag.
K.Ohta [Sat, 25 Mar 2023 07:09:17 +0000 (16:09 +0900)]
[VM][I8253][OOPs] Apply upstream 2022-12-05, I FORGOT TO APPLY (;´Д`)
K.Ohta [Fri, 24 Mar 2023 21:21:03 +0000 (06:21 +0900)]
[VM][FMTOWNS][WIP] .
K.Ohta [Fri, 24 Mar 2023 20:46:57 +0000 (05:46 +0900)]
[VM] All of VMs are available to build, excepts checking VM behaviors.
K.Ohta [Fri, 24 Mar 2023 17:55:21 +0000 (02:55 +0900)]
[VM][MZ5500][MEMBUS] Fix FTBFS.
K.Ohta [Fri, 24 Mar 2023 17:39:52 +0000 (02:39 +0900)]
[VM][SVI3X8] Fix FTBFS.
K.Ohta [Fri, 24 Mar 2023 17:39:39 +0000 (02:39 +0900)]
[VM][FP1100] Fix FTBFS.
K.Ohta [Fri, 24 Mar 2023 17:23:15 +0000 (02:23 +0900)]
[VM][FMR30] Fix FTBFS.
K.Ohta [Fri, 24 Mar 2023 17:22:51 +0000 (02:22 +0900)]
[VM][I8253] Add forgotten device_model .
K.Ohta [Fri, 24 Mar 2023 17:22:24 +0000 (02:22 +0900)]
[VM][I86][I286][V30] Fix FTBFS.
K.Ohta [Fri, 24 Mar 2023 16:06:21 +0000 (01:06 +0900)]
Update revisions. Please see below.
Note: This may be imcomplete around UPD71071 and FM-Towns.
Will fix ASAP.