Jump to content

Chri O.

Members
  • Posts

    454
  • Joined

  • Last visited

Recent Profile Visitors

1,533 profile views

Chri O.'s Achievements

Moonsweeper

Moonsweeper (5/9)

212

Reputation

  1. No wonder the northeastern US was shaking today by a 4.8 magnitude earthquake. 😷
  2. Any one up for testing the Printing application on other computer.😃 You are more than welcome please let me know.... Here are my executable application files for ~ Raspberry Pi 32 64 Bit ~ Linux ~ MS Windows. Only tested on MS Windows 10 so far, Mac OS app will come later. Print Job Example, Key 'P' or Mouse click to open the print window. windows-amd64.zip linux-arm.zip Pi 32 & 64 Print_Job_Example.zip
  3. Thanks everyone. Well the good news is I think I did figure out the Printer page image resizing issue. 😃 Print_Job_Example CODE:
  4. Long story short after pulling out of the closet my over 30 years old Citizen GSX 140 printer after bit of cleaning to my surprise it's alive. 😁 EDIT : GSX 140 🙂 Well next thing you know I built a device to spy on printer port and hook up to modern computer. This turned out to be fun project 😷 I've been learning Processing and Java for like a week only but here is the outcome. And here is my problem I need to somehow figure out printer settings in processing using Java. PXL_20240310_080946602.mp4 For now I can only show you this I need to make better example.
  5. ATARI DIAGNOSTIC CARTRIDGE £28 34 In Stock [0165] available at EXXOS STORE https://www.exxosforum.co.uk/atari/store2/ (Null modem cable) more or less for people that don't have it. Strongly recommend also buying a diagnostic cable to hook up your ST to your PC should there be no video output etc item #0191
  6. From Atari ST service m. https://archive.org/details/atari520st1040stservicemanual/page/n27/mode/2up Page 3.3 2. Disassemble the computer so that the printed circuit board is exposed (see Section 4, Disassembly). Power up the computer. Using an oscilloscope, verify the 8MHz clock to the 68000 CPU (pin 15'. Replace oscillator if necessary. Then check pin 17 (HALT) of the 68000 CPU. It should be a TTL high. If so, go on to 3 below- If not, the CPU is halted. The reasons may be: (1) bad reset circuir. (2) double bus error, 3) bad CPU. Check (1) by observing signal on input of the two inverters on the HALT line. Check (2) by observing pin 22 of the CPU (BERR) as the unit is powered on. It should be high always. If there are logic low pulses, some component is malfunctioning and Glue is generating the error. Verify the clocks to Glue and Memory Controller and replace these components to verify them (if socketed). If still failing, the CPU is unable to read ROM or there is a component which is not responding to a read or write by the CPU, probably the MFP 68901 or DMA Controller. The MFP should respond to an MFPCS with DTACK. The DMA chip should respond to FCS by asserting RDY. There is no way to check (3) other than by elimination of the other two possiblities, although a hot CPU (too hot to touch for more than a second) strongly indicates a bad CPU. 3. If the CPU is not halted, it should be reading instructions from ROM (cartridge, if installed) and data and address lines will be toggling. (If not, replace CPU.) At this point, there is the possibility that both the video and RS232 subsystems are failing. Verify the output of the MFP chip (pin while powering on the unit with the cartridge installed. If data is being sent, trace it through the 1488 driver.
  7. Sounds pretty cool I am however happy with my homemade hard drive solution with Media Transfer Protocol. Yet another HD ACSI implementation with Media Transfer Protocol (WIP-Work in progress) ):
  8. 😷 You would probably see the blue screen of death (BSoD) haha...
  9. According to BAKTRA TURGEN documentation there is also Turbo mode activation with COMMAND active (low?). Good to know the devil is in the details 😁
  10. Sounds cool I can't find this IC A302 here in USA for less than EUR 11.09 (US $11.95) but the shipping EUR 80.00 (approx US $86.17) ? Edit: I believe this is the same thing TCA345A A302D it looks promising US $3.22 Shipping: EUR 3.00 (approx US $3.23)
  11. This is working in progress not fully tested yet. This implements Atari standard FSK demodulator + most of the turbo's available at the time.
  12. Not tested yet but just in case I'm posting this for teensy 4.x Ver.01 Teensy4.x SAI1 PAL 14.187576MHz MCLK OUTPUT on PIN 23 example code. /* V.01 Teensy4.x SAI1 PAL 14.187576MHz MCLK OUTPUT on PIN 23 example code. */ // heartbeat LED const int ledPin = LED_BUILTIN;// the number of the LED pin // int ledState = LOW; // ledState used to set the LED // unsigned long previousMillis = 0; // will store last time LED was updated // const long interval = 1000; // interval at which to blink (milliseconds) void setup() { pinMode(ledPin, OUTPUT); // heartbeat LED //Audio PLL (PLL4) //The audio PLL synthesize a low jitter clock from a 24 MHz reference clock. //The clock output frequency range for this PLL is from 650 MHz to 1.3 GHz. It has a Fractional-N synthesizer. //There are /1, /2, /4 post dividers for the Audio PLL. The output frequency can be set by //programming the fields in the CCM_ANALOG_PLL_AUDIO, and //CCM_ANALOG_MISC2 register sets according to the following equation. //PLL output frequency = Fref * (DIV_SELECT + (NUM/DENOM)) // !!! Set SAI1 MClock. !!! CCM_CCGR5 |= CCM_CCGR5_SAI1(CCM_CCGR_ON); CORE_PIN23_CONFIG = 3; //1:MCLK int DIV = 33; // divider value: 27~54, Fref24000000*(33+(155300/1488346)) int NUM = 155300; // 30 bit numerator of fractional loop divider int DENOM = 1488346; // 30 bit denominator of fractional loop divider. CCM_ANALOG_PLL_AUDIO = CCM_ANALOG_PLL_AUDIO_BYPASS | CCM_ANALOG_PLL_AUDIO_ENABLE | CCM_ANALOG_PLL_AUDIO_POST_DIV_SELECT(1) // b01 = Divide/2, exp: b00 — Divide by 4, b10 — Divide by 1. | CCM_ANALOG_PLL_AUDIO_DIV_SELECT(DIV); CCM_ANALOG_PLL_AUDIO_NUM = NUM & CCM_ANALOG_PLL_AUDIO_NUM_MASK; CCM_ANALOG_PLL_AUDIO_DENOM = DENOM & CCM_ANALOG_PLL_AUDIO_DENOM_MASK; CCM_ANALOG_PLL_AUDIO &= ~CCM_ANALOG_PLL_AUDIO_POWERDOWN;//Switch on PLL while (!(CCM_ANALOG_PLL_AUDIO & CCM_ANALOG_PLL_AUDIO_LOCK)) {}; //Wait for pll-lock const int div_post_pll = 2; // 1 = Divide/2, other values: 2,4 CCM_ANALOG_MISC2 &= ~(CCM_ANALOG_MISC2_DIV_MSB | CCM_ANALOG_MISC2_DIV_LSB); if (div_post_pll > 1) CCM_ANALOG_MISC2 |= CCM_ANALOG_MISC2_DIV_LSB; if (div_post_pll > 3) CCM_ANALOG_MISC2 |= CCM_ANALOG_MISC2_DIV_MSB; CCM_ANALOG_PLL_AUDIO &= ~CCM_ANALOG_PLL_AUDIO_BYPASS;//Disable Bypass // clear SAI1_CLK register locations CCM_CSCMR1 = (CCM_CSCMR1 & ~(CCM_CSCMR1_SAI1_CLK_SEL_MASK)) | CCM_CSCMR1_SAI1_CLK_SEL(2); // (0,1,2): PLL3, PLL5, PLL4 CCM_CS1CDR = (CCM_CS1CDR & ~(CCM_CS1CDR_SAI1_CLK_PRED_MASK | CCM_CS1CDR_SAI1_CLK_PODF_MASK)) | CCM_CS1CDR_SAI1_CLK_PRED(7 - 1) // 110 divide by 7 | CCM_CS1CDR_SAI1_CLK_PODF(2 - 1); // 001 divide by 2 // IOMUXC_GPR, Select MCLK IOMUXC_GPR_GPR1 = (IOMUXC_GPR_GPR1 & ~(IOMUXC_GPR_GPR1_SAI1_MCLK1_SEL_MASK)) | (IOMUXC_GPR_GPR1_SAI1_MCLK_DIR | IOMUXC_GPR_GPR1_SAI1_MCLK1_SEL(0)); // todo MCLK2 } void loop() { // heartbeat LED unsigned long currentMillis = millis(); if (currentMillis - previousMillis >= interval) { // save the last time you blinked the LED previousMillis = currentMillis; if (ledState == LOW) { ledState = HIGH; } else { ledState = LOW; } digitalWriteFast(ledPin, ledState); } }
×
×
  • Create New...