Jump to content


Photo

The TRS Code

trs code interface jsw matthew smith assembly z80 spectrum

  • Please log in to reply
8 replies to this topic

#1 Spider

Spider

    DEC (HL)

  • Administrator
  • 3,521 posts

Posted 31 August 2017 - 12:56 PM

I wonder if anyone has tried to either make any sense of this or use it for some purpose ? :)

 

The output from ZX-Assembler looks like this:

 

Spoiler

 

 

Tape file of said code (just code block 64768,768)

 

Attached File  trsdos.tap   793bytes   64 downloads


Changing order to chaos since 1984

#2 IRF

IRF

    Advanced Member

  • Contributor
  • 3,939 posts

Posted 31 August 2017 - 02:09 PM

At least one of SkoolKid's patches makes use of some of the commands in the TRS code, in order to minimise the number of POKES required by the patch.



#3 Spider

Spider

    DEC (HL)

  • Administrator
  • 3,521 posts

Posted 31 August 2017 - 03:03 PM

At least one of SkoolKid's patches makes use of some of the commands in the TRS code, in order to minimise the number of POKES required by the patch.

I noted one of them (at least) uses that area of space yes. I did wonder if perhaps anyone had used the code to try to make it do something 'internally' to JSW perhaps by calling it from a different routine :unsure:


Changing order to chaos since 1984

#4 jetsetdanny

jetsetdanny

    Advanced Member

  • Contributor
  • 1,951 posts

Posted 02 September 2017 - 05:27 PM

I've had no experience with and have no knowledge of this code :(  .


Edited by jetsetdanny, 02 September 2017 - 05:27 PM.


#5 Metalmickey

Metalmickey

    Advanced Member

  • Contributor
  • 276 posts

Posted 04 September 2017 - 08:25 PM

I would have thought that in the modern days of emulation it might have been possible to see just how it functions and maybe even try a bit of 'Old school' coding, i'm sure there's no shortage of TRS80 emulators knocking about there on the interweb .. so we could quite literally code (almost) exactly the same way as Matthew Smith did when creating MM and JSW ... as long as, that it, the TRS DOS code is complete and hasn't been overwritten with one of the rooms ... who knows?


Edited by Metalmickey, 04 September 2017 - 08:25 PM.


#6 Spider

Spider

    DEC (HL)

  • Administrator
  • 3,521 posts

Posted 04 September 2017 - 10:39 PM

I would have thought that in the modern days of emulation it might have been possible to see just how it functions and maybe even try a bit of 'Old school' coding, i'm sure there's no shortage of TRS80 emulators knocking about there on the interweb .. so we could quite literally code (almost) exactly the same way as Matthew Smith did when creating MM and JSW ... as long as, that it, the TRS DOS code is complete and hasn't been overwritten with one of the rooms ... who knows?

That's what I meant yes. :)

 

The actual I/O could likely be serial anyway and simply simulated. The issue I think here (I've not looked nor researched this) is how the data actually gets "out or in" the Spectrum end of things... Sinclair Interface 1 would maybe be a likely candidate as these have RS232 serial port.

 

I do have an IF1 although its working state is unknown. There were a fair few other interfaces available that offered serial or parallel (Disciple disk interface has one I think) although I'd skip parallel as I suspect they are going to be one way aka outbound for a printer typically.


Changing order to chaos since 1984

#7 Norman Sword

Norman Sword

    Advanced Member

  • Member
  • PipPipPip
  • 159 posts

Posted 05 September 2017 - 06:15 PM

The code listed at the end of Jet set willy is the Tandy operating system. Used by the recent hard drive Matthew had bought. The hard drive overlays the top of ram for its operating system. The floppy disc uses another area of Ram.

 

The method Matthew used to handshake the two computers has nothing to do with any of the code seen in that area.

 

The handshaking was done using the parallel printer cable on the Tandy which was handshaked with a board build by Matthew that sat on the back of the spectrum. The board was built using wire wrap and multiple 74LS chips.

 

The software used implemented a primitive source to destination block move. e.g. the source and the destinations address would be the same on both the Tandy and the Spectrum.

 

The hard drive is the reason the extra four rooms, which would have sat at the top of memory, are missing from the game.

 

Since Manic Miner has data in that area, it is apparent that Matthew  bought the hard drive between development of Manic Miner and Jet set willy.



#8 Spider

Spider

    DEC (HL)

  • Administrator
  • 3,521 posts

Posted 05 September 2017 - 06:50 PM

Thank you for the detailed explanation, it is appreciated. :)

 

I'm quite aware of the costs of hard drives "back then" , up until about three years ago I had a working Winchester for my BBC Micro, all 10MB of it and that was a lot of monies new to put it mildly...

 

It is interesting to note how the Spectrum side of the interface was done, a 'home made' solution. I'm aware of the basic nature of the 74 series chips. I was actually looking for something "Spectrum hardware side" slightly related to this last week (a controller board) but that's completely another subject...

 

Yes it seems likely as you say he purchased said drive between the development of the games otherwise Manic Miner may of had less caverns or perhaps a more efficient storage method to squeeze twenty in, leaving the 'top end' of memory empty for the third party code. Given the costs of said drives too that also makes some logical sense as well.

 

Again, thank you for your insight into this. I posted about it initially as I'd never really seen it mentioned in any detail that I can recall other than 'here is the TRS code etc'


Changing order to chaos since 1984

#9 jetsetdanny

jetsetdanny

    Advanced Member

  • Contributor
  • 1,951 posts

Posted 17 September 2017 - 03:48 PM

Thanks for this interesting info, Norman Sword!







Also tagged with one or more of these keywords: trs, code, interface, jsw, matthew smith, assembly, z80, spectrum

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users