YMF754Util.Mod 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. MODULE YMF754Util;
  2. IMPORT
  3. Commands, Streams, Codecs, Files, Strings;
  4. CONST
  5. FNameInstRAM = "YMF754.Bin";
  6. PROCEDURE Open* (context : Commands.Context);
  7. VAR
  8. name, str: ARRAY 256 OF CHAR;
  9. in: Streams.Reader;
  10. w, binW: Files.Writer;
  11. token: ARRAY 1024 OF CHAR;
  12. f, binF: Files.File;
  13. c, l: LONGINT; res: WORD;
  14. BEGIN
  15. context.arg.SkipWhitespace; context.arg.String(name);
  16. c := 1;
  17. in := Codecs.OpenInputStream (name);
  18. IF in # NIL THEN
  19. Strings.Concat (name, ".Bin", str);
  20. binF := Files.New (FNameInstRAM);
  21. Files.OpenWriter (binW, binF, 0);
  22. REPEAT
  23. in.SkipWhitespace;
  24. in.Token (token);
  25. IF Strings.Pos ("{", token) # -1 THEN
  26. Strings.IntToStr (c, str); INC (c);
  27. Strings.Concat (name, str, str);
  28. Strings.Concat (str, ".txt", str);
  29. f := Files.New (str);
  30. Files.OpenWriter (w, f, 0);
  31. Strings.Concat ("Creating file: ", str, str);
  32. context.out.String(str); context.out.Ln;
  33. END;
  34. IF Strings.Pos ("0x", token) = 0 THEN
  35. Strings.Delete (token, 0, 2);
  36. Strings.TrimRight (token, ",");
  37. IF w # NIL THEN
  38. w.String (token); w.Ln;
  39. END;
  40. IF (w # NIL) & (binW # NIL) THEN
  41. Strings.HexStrToInt (token, l, res);
  42. IF res = Strings.Ok THEN
  43. binW.RawLInt (l);
  44. ELSE
  45. context.error.String("Error!!!"); context.error.Ln;
  46. END;
  47. END;
  48. END;
  49. IF Strings.Pos ("}", token) # -1 THEN
  50. context.out.String("Closing file"); context.out.Ln;
  51. w.Update;
  52. Files.Register (f);
  53. END;
  54. UNTIL in.res = Streams.EOF;
  55. binW.Update;
  56. Files.Register (binF);
  57. END;
  58. END Open;
  59. END YMF754Util.
  60. System.Free YMF754Util~
  61. YMF754Util.Open 724hwmcode.c~
  62. Tar.Create Sage.YMF754.tar
  63. Sage.YMF754.Mod
  64. YMF754.Bin
  65. Sage.DriverDatabase.XML
  66. Sage.YMF754Util.Mod
  67. 724hwmcode.c
  68. Sage.YMF754.txt
  69. ~