DI EI

Página 2/2
1 |

Por gdx

Enlighted (5342)

Imagen del gdx

11-01-2022, 02:09

In short, it is theoretically usable without additional hardware but in practice, it is not the case because it brings more disadvantages than advantages.

Por pgimeno

Champion (317)

Imagen del pgimeno

12-01-2022, 02:22

IM 2 makes it possible to use a custom interrupt handler bypassing the BIOS one even without RAM in page 0, which is an advantage that you would not otherwise have. I use it for my VDP timing test program, for example.

New version of the bus value test program, with much reduced memory usage (it's only around 4K instead of 11K now). I've also included a ROM version this time. So there are three versions: ROM, floppy and cassette. Also thanks to the lowered memory usage, I've added BASIC loader and runner programs to facilitate executing the test. The ROM version is interruptible.

http://www.formauri.es/personal/pgimeno/temp/intbus2.zip

See files.txt for an explanation of each file contained. To run the disk version you need three files: loader.bas, intbus, runner.bas, and you execute it with RUN"loader.bas". To run the cassette version you use RUN"CAS:". To run the ROM version you just plug and play :) Source code is also included, but the automatic code generation program is not, sorry. The build system is made for Linux; maybe it will run also on OSX or MSYS/Cygwin, but don't try it on a regular Windows shell or Powershell.

It's been unit-tested with OpenMSX by changing this line to different values and verifying that the output matches: https://github.com/openMSX/openMSX/blob/6ec6075394e5b1bc9cfe...

I plan to run it on my real machines tomorrow. I'd appreciate if users can also run it and report results. Basically, a continuous output of 255 is the expected one, but any change, even if it happens just once, is interesting.

Por Grauw

Ascended (10561)

Imagen del Grauw

12-01-2022, 11:01

It should be especially interesting to run on Toshiba HX-10 and Philips VG8020/40 which have a floating bus. Those are the only two I’m aware of but I expect the list is much longer. I don’t think any of my machines do though, but I’ll have to check.

Por pgimeno

Champion (317)

Imagen del pgimeno

12-01-2022, 14:39

I don't have an HX-10.

VG-8020/40 gives mostly 255, but also an occasional 253. This shows without doubt that it's not a niche behaviour, but quite widespread. I haven't seen anything other than 253 or 255, but that doesn't mean much.

Quite annoyingly, with the MFRSCC+SD I don't get anything other than 255. This will make it more difficult to run the tests, as I will have to use a tape. I also don't recommend the ROM version for the same reason. (I used the tape version because I have the 8020 next to the desktop computer and I could play the tape from the computer).

Now that I've actually run the test, I've realized that it's not very practical, so I've made some changes and here's an updated version. The new test program doesn't print anything while the output is 255. This is the new code:

10 DEFUSR=&HC1D3:DEFINTA:WIDTH40
30 A=USR(0):IFA=&HFFGOTO30
40 PRINTHEX$(A);:GOTO30

In the 8020/40 it slowly fills the screen with FD's. If you wonder whether it's running, you can press CTRL+STOP; if it's working, it should interrupt in line 30. Then use CONT to continue.

http://www.formauri.es/personal/pgimeno/temp/intbus3.zip

(I've replaced the older versions with the new one)

I'll save it to floppy and test in the computers with a floppy drive. When I get the TZXduino I'll test on the rest. I just wanted to post this early result to confirm that you were quite right.

Por gdx

Enlighted (5342)

Imagen del gdx

13-01-2022, 01:30

Quote:

IM 2 makes it possible to use a custom interrupt handler bypassing the BIOS one even without RAM in page 0, which is an advantage that you would not otherwise have.

We can do it also in the IM1 mode by using 48K/64K ROM or mirrors, and without causing conflict issue in case of pull-up resistors on the data bus, insufficient free memory or if someone also uses the M2 mode for its device at same time.

Página 2/2
1 |