![]() |
![]() |
![]() |
|
Vintage Computers Any vintage computer systems, calculators, video games etc., but with an emphasis on 1980s and earlier equipment. |
![]() |
|
Thread Tools |
![]() |
#41 |
Hexode
Join Date: Mar 2011
Location: North Yorkshire, UK.
Posts: 490
|
![]()
Llister, showchar
UPDATE: see post 65 for horserace, & 79 for Minefield Last edited by Phil__G; 6th Dec 2022 at 3:28 pm. |
![]() |
![]() |
![]() |
#42 |
Tetrode
Join Date: Nov 2022
Location: Cornwall, UK.
Posts: 60
|
![]()
awesome, thanks. im not sure any of them are working. although lister may work
showchar is working... Last edited by 777xxxx; 6th Dec 2022 at 3:35 pm. |
![]() |
![]() |
![]() |
#43 |
Hexode
Join Date: Mar 2011
Location: North Yorkshire, UK.
Posts: 490
|
![]()
Think thats all except segtris, which is in 2 parts, can you load 2 things?
Part1 loads at F14 Part2 loads at B00 If you tell me one thats defo not working, I'll double check it G I just use DOS debug thats all, no app as such UPDATE: see post 63 for Segtris Last edited by Phil__G; 6th Dec 2022 at 3:44 pm. |
![]() |
![]() |
![]() |
#44 | |
Tetrode
Join Date: Nov 2022
Location: Cornwall, UK.
Posts: 60
|
![]() Quote:
and like i say im not sure about lister: Last edited by 777xxxx; 6th Dec 2022 at 3:51 pm. |
|
![]() |
![]() |
![]() |
#45 |
Hexode
Join Date: Mar 2011
Location: North Yorkshire, UK.
Posts: 490
|
![]()
Just checking, are you running them from the correct start address? I dont know, I'm just going on what the hex file says...
they dont all start at the beginning - eg horser starts at 0B3B according to the hex file BUT at B4B according to DJD: https://worldradiohistory.com/UK/Pra...2-01-S-OCR.pdf page 73 Lister starts at F79 according to the hex file Sirius, is there a mistake in minefield.hex? the hex file says it starts at F00 but theres no code there Last edited by Phil__G; 6th Dec 2022 at 4:14 pm. |
![]() |
![]() |
![]() |
#46 | |
Tetrode
Join Date: Nov 2022
Location: Cornwall, UK.
Posts: 60
|
![]() Quote:
Last edited by 777xxxx; 6th Dec 2022 at 4:20 pm. |
|
![]() |
![]() |
![]() |
#47 |
Hexode
Join Date: Mar 2011
Location: North Yorkshire, UK.
Posts: 490
|
![]()
Sorry you need one of our resident MK14 experts, thats not me I'm afraid...
![]() |
![]() |
![]() |
![]() |
#48 |
Hexode
Join Date: Mar 2011
Location: North Yorkshire, UK.
Posts: 490
|
![]()
According to DJD, minefield starts at F21
https://worldradiohistory.com/UK/Pra...cs-1980-06.pdf page 59 Gotta go, will check in later, model flying club meeting tonight, if I'm not there I'll end up on the committee... - Last edited by Phil__G; 6th Dec 2022 at 5:04 pm. |
![]() |
![]() |
![]() |
#49 | |
Tetrode
Join Date: Nov 2022
Location: Cornwall, UK.
Posts: 60
|
![]() Quote:
|
|
![]() |
![]() |
![]() |
#50 |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 9,732
|
![]()
The 'Minefield' program presented on page 69 (not 59) of the magazine indicated above and discussed on page 68 is for the MK14 and the PE VDU, not for the MK14 and SOC VDU.
Tim made the necessary alterations to make it work with the SOC VDU and may also have added bits in during the initial stages to drive the 8154 to control the various inputs on the VDU, so there may be quite some difference between the PE VDU original and Tim's version customised for the SOC VDU and his way of driving it. I would not apply anything you see in the magazine article to Tim's custom version. |
![]() |
![]() |
![]() |
#51 |
Hexode
Join Date: Mar 2011
Location: North Yorkshire, UK.
Posts: 490
|
![]()
Not sure about the start address for Tims minefield, according the 'execute' line in the hex file its F00 :
:02FFFE000F00F2 ...but it doesnt load any code at that address... the first address it loads is F19 which is an XPPC (P3) AHA! found Tim's source: ; Execute at 0F21 with a clear screen a minefield will be displayed. Last edited by Phil__G; 6th Dec 2022 at 6:26 pm. |
![]() |
![]() |
![]() |
#52 |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 9,732
|
![]()
I've just looked at the ASM, LST and HEX of Tim's version of Minefield that I have working here. Phil was right to spot that the execution address contained within the second last line of that Intel Hex file at FFFE/FFFF is incorrect (0F00) and it should instead be 0FBD, so (777xxxx) try loading Phil's binary of Minefield at address 0F1F but execute it from 0FBD instead.
At OFBD there is, as I predicted, some code to set up the 8154 ports to put the VDU into a specific configuration but that doesn't matter as the VDU settings are not influenced by the 8154 port pins in the MAME emulator. This particular game needs the VDU pointed at 0F00 and 0B00 and in Character mode. |
![]() |
![]() |
![]() |
#53 | |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 9,732
|
![]() Quote:
At the end of Tim's source there is a short fragment defining the execution address for the uploader to use as the label ENTER which according to the .LST file is OFBD. The 'LST file also confirms that the file start address / load address should be 0F1F, so that's where it should be loaded to in the MAME emulator. |
|
![]() |
![]() |
![]() |
#54 |
Hexode
Join Date: Mar 2011
Location: North Yorkshire, UK.
Posts: 490
|
![]()
This is embarrasing, I've forgotten how to run SBASM
![]() I remember I had to prefix the SBASM command it with the python interpreter name which I cant remember... All those nights spent on KB+ and its gone ![]() Edit: I remember now, I changed my PC, I never installed SBASM on the new one, just copied it across, I'll have to study Sans page again as I dont think I have the python interpreter installed on the new one ![]() Last edited by Phil__G; 6th Dec 2022 at 6:59 pm. |
![]() |
![]() |
![]() |
#55 |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 9,732
|
![]()
Usually it's 'python..' or 'python3...' depending on which version of Python you have installed / intend to run it under/ need to run it under. If you run it from a command line window then the 'shebang' line in the first line of the Python script should be enough to make sure that the required python interpreter is called upon to run it, as long as the required Python interpreter is already installed and in the command search path.
On Linux machines I just use Code:
SBASM sourcefilename.asm |
![]() |
![]() |
![]() |
#56 |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 9,732
|
![]()
On Windows machines installing 'IDLE Python' will install the Python interpreter as a side effect of the installation of IDLE.
|
![]() |
![]() |
![]() |
#57 |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 9,732
|
![]()
I persevered a bit more with Hxd.
Taking SEGTRIS.HEX as an example. Go to File - Import - Intel Hex - Navigate to the SEGTRIS.HEX Intel Hex file and load it. After loading it into HxD it will be seen that there are two main areas of code, one spanning 0B00-0BD0, and the other spanning 0F14-0FDB. These two chunks need to be saved as two separate binary files. Go to Edit - Select Block In Start-Offset box enter 0B00 In End-Offset box enter 0BD0 Click OK, the box closes and the selected code block is highlighted in blue. Go to File - Save Selection Use the file save dialogue box to enter a meaningful name , ie, 'Segtris_0B00.bin' and click 'SAVE' to save the file and close the box. Go to Edit - Select Block In Start-Offset box enter 0F14 In End-Offset box enter 0FDB Click OK, the box closes and the selected code block is highlighted in blue. Go to File - Save Selection Use the file save dialogue box to enter a meaningful name , ie, 'Segtris_0F14.bin' and click 'SAVE' to save the file and close the box. You should now have the two binary files ready to load separately into the MAME emulator at the addresses contained in the filenames. You still need to then RUN the program from the right address and whether it works will depend on whether the original HEX file is good. Last edited by SiriusHardware; 6th Dec 2022 at 9:37 pm. |
![]() |
![]() |
![]() |
#58 |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 9,732
|
![]()
I've just looked through Tim's SBASM source for SEGTRIS and at the end is
Code:
;Support SH PI-Progammer Auto Start .OR 0xFFFE .DB 0x0B .DB 0x00 |
![]() |
![]() |
![]() |
#59 |
Hexode
Join Date: Mar 2011
Location: North Yorkshire, UK.
Posts: 490
|
![]()
Well that was embarrassing, nothing is ever straightforward eh, SBASM is all sorted now but if anyone else gets this after installing Python for Windows:
"Python was not found; run without arguments to install from the Microsoft Store, or disable this shortcut from Settings" Go to -> "start" and type "Manage App Execution Aliases". Go to it and turn off "Python" Complete cure, my SBASM is working fine again ![]() 777xxxx just to be clear, you're ok with the "load address" and "execution address" concepts? Sorry I'm sure you know this and its a granny/eggs situation, but clutching at straws as to why these things arent running... Horser for example loads at 0A80 but runs from 0B3B Minefield loads at address 0F1F but runs from 0FBD Last edited by Phil__G; 6th Dec 2022 at 11:27 pm. |
![]() |
![]() |
![]() |
#60 |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 9,732
|
![]()
On reflection it may be better to refer to them consistently as 'load address' and 'execution address', as that makes what they each refer to a little bit clearer. 'Start address' could be 'the address the program starts loading at' or 'the address at which to start the program running'.
|
![]() |
![]() |