|
|
Joined: Mar 2013
Posts: 340 Likes: 2
Senior Member
|
Senior Member
Joined: Mar 2013
Posts: 340 Likes: 2 |
de-skeletonized ms0515.cpp -- CPU is a clone of T11, video controller is Spectrum-like and there's a few ported (or maybe recompiled) games, f.e. ![[Linked Image from img-fotki.yandex.ru]](https://img-fotki.yandex.ru/get/198488/264743.6/0_b5c20_9c4cd65b_orig.png) Pull request soon. Shout out to Dr. Titus for being the first to emulate this machine in EmuStudio. I was wondering, does this still work or has there been a regression? I found the dsk image which supposedly includes Saboteur 2 among other games but it seems to get stuck trying to auto-boot it.
LCD artwork scans and cleanups: https://mega.nz/#F!uFYSzK7S!U-lJon9jsqyoCX_3y7_KLA
|
|
|
|
Joined: May 2012
Posts: 562 Likes: 4
Senior Member
|
OP
Senior Member
Joined: May 2012
Posts: 562 Likes: 4 |
Yes, there's been a regression after commit 6ea69b0ed967c898911d51fba9b6084b506e9849
Date: Thu Mar 30 10:22:58 2023 -0700
machine/wd_fdc.cpp: Dont clear DRQ on LDB/INTR, and fix spurious READ TRACk/ADDR FM mark syncs. (#11041) [Peter Phillips, Tim Lindner]
|
|
|
|
Joined: Mar 2001
Posts: 17,065 Likes: 143
Very Senior Member
|
Very Senior Member
Joined: Mar 2001
Posts: 17,065 Likes: 143 |
Which of the changes did it? I would assume the second one?
|
|
|
|
Joined: May 2012
Posts: 562 Likes: 4
Senior Member
|
OP
Senior Member
Joined: May 2012
Posts: 562 Likes: 4 |
6ea69b0ed967c898911d51fba9b6084b506e9849 broke it 60ced2cb0c9c4ae9a2f6a65ff50b07fecee78f4c "wd_fdc: Drop DRQ when ending a normal command" fixed it e992c500ccf306f7245158d6d5ee97661211dccf "wd_fdc: IRQ/DRQ corrections" broke it again
|
|
|
|
Joined: Feb 2004
Posts: 2,501 Likes: 191
Very Senior Member
|
Very Senior Member
Joined: Feb 2004
Posts: 2,501 Likes: 191 |
6ea69b0ed967c898911d51fba9b6084b506e9849 broke it 60ced2cb0c9c4ae9a2f6a65ff50b07fecee78f4c "wd_fdc: Drop DRQ when ending a normal command" fixed it e992c500ccf306f7245158d6d5ee97661211dccf "wd_fdc: IRQ/DRQ corrections" broke it again Can someone open a proper issue on GitHub for this?
|
|
|
|
Joined: Dec 2015
Posts: 162 Likes: 9
Senior Member
|
Senior Member
Joined: Dec 2015
Posts: 162 Likes: 9 |
I was able to test the ms0515 regression myself, and found a likely cause. The current FDC emulation doesn't drop DRQ until a new command is *committed*, which is over a dozen microseconds after it is written. Meanwhile, a DRQ from the old Read Address command has not been serviced, so the CPU code polls and finds that right away, just about a microsecond before its Read Sector command is committed, and copies a spurious data byte (which should actually be part of the CRC) to address 0, throwing the rest off.
|
3 members like this:
shattered, ICEknight, exidyboy |
|
|
|
Joined: May 2012
Posts: 562 Likes: 4
Senior Member
|
OP
Senior Member
Joined: May 2012
Posts: 562 Likes: 4 |
De-skeletonized uknc.cpp shows signs of life: ![[Linked Image from img-fotki.yandex.ru]](https://img-fotki.yandex.ru/get/61164/264743.5/0_b4a78_99f862c_orig.png) This machine was standard equipment in many computer classes in high schools, so there's plenty of educational software and games. There are two existing emulators, one of those is open-source ( https://github.com/nzeemin/ukncbtl). Working on a forward port of this code; one weird trick this hardware does is a byte-wide hookup of a 8255 to 16-bit bus without using byte-wide instructions, not sure how to handle that in MAME. 8255 is mapped at 177100-177103 and the code goes like this ( https://raw.githubusercontent.com/shattered/retro-bios/master/ms0511-uknc/ROM5.lst):
136004$:MOV R5,-(SP)
MOV SP,R5
MOV #174,177103$
MOV #200,177102$
JMP 136056$
and so mem_mask in write handler is 0xffff in both cases:
[:subchan] ':subcpu' (136016) W 177102 <- 000174 & 177777
[:subchan] ':subcpu' (136024) W 177102 <- 000200 & 177777
|
|
|
Forums9
Topics9,219
Posts120,730
Members5,053
|
Most Online1,283 Dec 21st, 2022
|
|
These forums are sponsored by Superior Solitaire, an ad-free card game collection for macOS and iOS. Download it today!
|
|
|
|
|