Welcome, Guest. Please login or register.


Author Topic: IS-DOS crash bug. (Read 3532 times)

Offline BruceTanner

  • EP lover
  • *
  • Posts: 558
  • Country: gb
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 84.0 Firefox 84.0
    • View Profile
Re: IS-DOS crash bug.
« Reply #30 on: 2021.January.09. 19:26:39 »
Is that a program that you have seen (it is linux-compatible)?
No I haven't; I did try another CP/M emulator (forgotten the name) but it required the use of CP/M disk images and a program to read/write files to it from the host, which was a pain.

The advantage of continuing to work with M80/L80 for EXDOS (apart from having to do lots of conversion work - it is more complicated than IS-DOS) is that you can diff the new source files vs the original. That said, I put all my changes in IF..THEN..ENDIFs and I haven't used diff at all!

Offline geco

  • EP addict
  • *
  • Posts: 6033
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Chrome 87.0.4280.101 Chrome 87.0.4280.101
    • View Profile
Re: IS-DOS crash bug.
« Reply #31 on: 2021.January.09. 20:04:08 »
if you wish, i can try to create a sjasm source from exdos too, and if i can do it, you do not need to deal with cp/m emulation and disk images anymore.

Offline BruceTanner

  • EP lover
  • *
  • Posts: 558
  • Country: gb
  • OS:
  • Unknown Unknown
  • Browser:
  • Firefox 84.0 Firefox 84.0
    • View Profile
Re: IS-DOS crash bug.
« Reply #32 on: 2021.January.09. 20:47:23 »
if you wish, i can try to create a sjasm source from exdos too, and if i can do it, you do not need to deal with cp/m emulation and disk images anymore.
Thank you for the offer, but it is not necessary now - the cp/m thing was only one thing I tried - lgb's xcpm is much more usable, and the changes are done now.

Offline elmer

  • EP fan
  • *
  • Posts: 193
  • Country: us
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 84.0 Firefox 84.0
    • View Profile
Re: IS-DOS crash bug.
« Reply #33 on: 2021.January.09. 22:05:12 »
lgb's xcpm

OK, that was the extra clue that I needed ... I found it! :cool:

https://github.com/lgblgblgb/reCPM

Offline BruceTanner

  • EP lover
  • *
  • Posts: 558
  • Country: gb
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 84.0 Firefox 84.0
    • View Profile
Re: IS-DOS crash bug.
« Reply #34 on: 2021.January.10. 00:20:40 »

Offline elmer

  • EP fan
  • *
  • Posts: 193
  • Country: us
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 84.0 Firefox 84.0
    • View Profile
Re: IS-DOS crash bug.
« Reply #35 on: 2021.January.10. 17:51:24 »
lgb: https://enterpriseforever.com/profile/?u=6

Cool! :)

I suspected that he was active in the community here once I saw his location, and that he had developed an Enterprise emulator.


The .REL files do not have to have the same base name as the source files, and back in the day (and still for EXDOS 3) we would assemble the sensibly-named .MAC source files to a less-sensibly-named two letter .REL file, for example START.MAC would assemble to ST.REL, REBOOT.MAC would assemble to RE.REL etc to shorten the L80 command line length!

Hahaha ... nice workaround for the problem, much better than using lib80!

I've applied that trick and have got IS-DOS building with just simple XCPM calls.


I am not surprised, XCPM is very hacked together by lgb and he did warn us that not all functions are supported! :roll:

Now that I can see the source code and understand what it is doing ... it is a very, very nice solution to get the old source code building on a modern computer!

I like having RunCPM too as an alternative, the critical thing with both of them being that they just accesses files on your regular PC, and that there is no need for using disc images.

That keeps the source editable with modern editors, and usable with "modern" tools such as grep/diff/patch.

It also allows using Source-Code-Control systems such as GIT or PERFORCE, which might be cool is you get to the point of having multiple people working on code, or want to keep a formal log of the changes that are made.

SCC is something that us programmer-types didn't ever really have to think about in the 1980s, but is such an important part of modern software development.

Offline elmer

  • EP fan
  • *
  • Posts: 193
  • Country: us
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 84.0 Firefox 84.0
    • View Profile
Re: IS-DOS crash bug.
« Reply #36 on: 2021.January.10. 20:40:32 »
There is a crash bug in IS-DOS, probably introduced sometime between when the IS-DOS specification document was written, and the final IS-DOS version 1.0 was released.
...
Now it isn't very difficult to patch IS-DOS to fix this bug, but I don't see it as being worthwhile unless someone is patching IS-DOS for other reasons.

Returning to this, now that we have the original source code, the bug is in the source file CLI.MAC, line 854 ...

Code: [Select]
NOMEM: LD A,.NORAM##
RET


It should be ...

Code: [Select]
NOMEM: LD E,0 ; Move IS-DOS down to page 0.
CALL MOVIS##
LD A,.NORAM##
RET

Offline geco

  • EP addict
  • *
  • Posts: 6033
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Firefox 84.0 Firefox 84.0
    • View Profile
Re: IS-DOS crash bug.
« Reply #37 on: 2021.January.10. 20:49:59 »
Coooool :smt041

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13944
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Chrome 87.0.4280.141 Chrome 87.0.4280.141
    • View Profile
    • http://enterprise.iko.hu/
Re: IS-DOS crash bug.
« Reply #38 on: 2021.January.10. 23:11:32 »
There is a time for version 1.1!

Offline BruceTanner

  • EP lover
  • *
  • Posts: 558
  • Country: gb
  • OS:
  • Unknown Unknown
  • Browser:
  • Firefox 84.0 Firefox 84.0
    • View Profile
Re: IS-DOS crash bug.
« Reply #39 on: 2021.January.10. 23:17:44 »
There is a time for version 1.1!
I am keen for the EXDOS 3 fix to go in the first new version, I'll do it tomorrow!

Offline elmer

  • EP fan
  • *
  • Posts: 193
  • Country: us
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 84.0 Firefox 84.0
    • View Profile
Re: IS-DOS crash bug.
« Reply #40 on: 2021.January.11. 19:17:21 »
There is a time for version 1.1!

Hopefully you'll give me the time to add the faster video code into the source files! ;-)


I am currently modifying the IS-DOS source code to build with the SLR Z80ASM assembler, which is about 99% compatible with M80, but runs much, much faster.

The changes are done, and the source builds, but now I just have to figure out a linking issue.  FYI, the source still builds fine with M80, the changes really are very minor.

I had to add 2 new fake BDOS function-calls to XCPM to get Z80ASM to work ... do you gentlemen want a patch file for lgb's ReCPM source?

Offline BruceTanner

  • EP lover
  • *
  • Posts: 558
  • Country: gb
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 84.0 Firefox 84.0
    • View Profile
Re: IS-DOS crash bug.
« Reply #41 on: 2021.January.11. 19:20:28 »
Hi elmer,

Here are two slightly modified files...could you incorporate them into your "IS-DOS 1.1" source please? The changes are all within IF EXDOS3...ELSE...ENDIF blocks (with EXDOS3 EQU TRUE at the top) so that it is obvious what I have changed (they are not big changes!) Thanks!

BTW SD Card versions of EXDOS 3 will have ISDOS.SYS in ROM! :roll:

Offline elmer

  • EP fan
  • *
  • Posts: 193
  • Country: us
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 84.0 Firefox 84.0
    • View Profile
Re: IS-DOS crash bug.
« Reply #42 on: 2021.January.11. 20:24:17 »
Here are two slightly modified files...could you incorporate them into your "IS-DOS 1.1" source please?

Absolutely! :)


BTW SD Card versions of EXDOS 3 will have ISDOS.SYS in ROM! :roll:

That will be cool, there are a few improvements that can be made if IS-DOS is either in ROM, or in a RAM extension.

Having it as a RAM extension is probably best, even on a 128KB Enterprise, so that it can just page in its runnable self-modifying code as needed ... but I do understand that you've got enough spare space in a 32KB EXDOS to store 11KB-or-so of compressed IS-DOS code.

As for the SD Card ... is there enough space in the SD Card ROM for a 32KB EXDOS???

From my quick look at the SD Card ROM files, it *seemed* like there is only about 24KB of space for EXDOS and the SD Card driver code, unless you start using the 32KB that is currently used by the BASIC ROM and a language ROM.

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13944
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Firefox 84.0 Firefox 84.0
    • View Profile
    • http://enterprise.iko.hu/
Re: IS-DOS crash bug.
« Reply #43 on: 2021.January.11. 20:29:55 »
As for the SD Card ... is there enough space in the SD Card ROM for a 32KB EXDOS???
It is have a 3x16K at the segment 04-06h.
07h are special segment: it is a ROM and RAM and memory paged I/O. ROM are 8x8K pageable. In the current version with EXDOS 1.4 only the first 8K page used, but the new EXDOS 3 will use more pages, for store ISDOS and others.

Offline BruceTanner

  • EP lover
  • *
  • Posts: 558
  • Country: gb
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 84.0 Firefox 84.0
    • View Profile
Re: IS-DOS crash bug.
« Reply #44 on: 2021.January.11. 21:06:11 »
and others.
Please don't think of any others! :lol: ;-)